nvidia problema di luminosità della retroilluminazione


8

Problema

Unity mostra il controllo mentre premo Fn + Aumenta / Descrese luminosità, ma non succede nulla. Nella console la luminosità non funziona troppo mentre il server X è in esecuzione.

Soluzioni controllate

Ho provato TUTTE LE POSSIBILI soluzioni di questo problema in Google e nulla funziona:

  1. scrivi acpi_backlight in grub
  2. reinstallare i driver con apt purge nvidia *
  3. scrivi "EnableBrightnessControl = 1" in xorg.conf
  4. installa nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" non funziona
  6. cambiando / sys / class / retroilluminazione / luminosità
  7. aggiorna il kernel Linux da 4.8 a 4.10 e 4.12
  8. sostituisci EDID dalla vecchia matrice (rompe tutto)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0 e quindi cambiare la retroilluminazione usando i tasti Fn +.
  10. xrandr --output DP-0 - luminosità 0.5 --- soluzione errata

Il mio sistema e situazione

Ho usato la matrice di visualizzazione N173HHE-G32 nel mio laptop prima e tutto era OK. Ma oggi l'ho sostituito con B173HAN01.2 e questo problema è iniziato. Su Windows 10 l'ho risolto reinstallando i driver su nvidia-376 dal sito Web ufficiale MSI.

Quindi, posso vedere la sequenza successiva: all'avvio del laptop la luminosità è massima, quindi è minima (e funzionante) mentre il testo "initramfs ..." viene visualizzato nella console. E dopo l'avvio del server X la luminosità è nuovamente massima (interrotta). Quando il server X arresta la luminosità funziona di nuovo!

MSI GT73VR 7RF, Ubuntu 16.04.2 LTS, NVidia GeForce GTX1080, B173HAN01.2 display matrix

uname -a 
4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be0 (rev a1)

Però!

Ma quando uso nvidia-378 FUNZIONA ! Sfortunatamente 378 ha un bug critico dopo la modalità di sospensione nell'interfaccia Unity: (((

Per favore, aiutami, i miei occhi sono nel sangue (è molto luminoso per loro) e non so cosa fare ...

Aggiornato! Dopo due anni ho capito che il problema è all'interno di lightdm (o X server). Quando smetto tutto è ok ...


Forse il miglior corso è il driver 378 e correggendo i bug di sospensione / ripresa con esso. Quali sono i bug?
WinEunuuchs2Unix

Bug con interfaccia Unity - alcuni artefatti attorno ai bordi di finestre e menu. C'è una descrizione: bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko,

Penso che qualcuno abbia detto un mese o due fa che è stato risolto nella versione 381 o qualcosa del genere. Penso che sia stato askubuntu.com/users/15811/rinzwind a dirlo, ma askubuntu.com/users/167850/pilot6 credo sia un altro esperto.
WinEunuuchs2Unix

1
Il bug con la sospensione è stato corretto, ma la retroilluminazione non funziona :( ho provato 381..e molte altre versioni ..
Max Tkachenko,

Puoi aggiornare la tua domanda con l'output di:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Risposte:


8

Aggiornamento del 16 giugno 2019

Il mese scorso, 2 anni dopo la segnalazione del problema, OP ha scoperto che LightDM (Ubuntu Unity Desktop Manager) era la fonte del problema. Detto questo, oltre all'elenco seguente, c'è un altro grubparametro che può essere provato:

video.use_native_backlight=1

Vedi questa risposta per di più.


Risposta originale

Il riferimento ultimo sembra essere in Arch Linux che è un sito a cui mi sono rivolto molte volte per risolvere problemi difficili.

Parametri del kernel

Guardando il tuo cat /proc/cmdlinenon ci sono parametri extra del kernel passati. Il link sopra indica:

A volte, ACPI non funziona bene a causa di diverse implementazioni della scheda madre e stranezze ACPI. Ciò include alcuni laptop con doppia grafica (ad esempio GPU dedicata Nvidia / Radeon con GPU integrata Intel / AMD). Sui laptop Nvidia Optimus, il nomodeset dei parametri del kernel può interferire con la possibilità di regolare la retroilluminazione. Inoltre, a volte ACPI deve registrare il proprio acpi_video0 backlightanche se ne esiste già uno (come intel_backlight), cosa che può essere fatta aggiungendo uno dei seguenti parametri del kernel:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Se scopri che cambiare la acpi_video0retroilluminazione non cambia effettivamente la luminosità, potresti dover usare acpi_backlight=none.

Prova ciascuna delle acpi_backlight=xxxxopzioni sulla tua linea di paremeters del kernel grub

Quando xbacklightnon funziona

Hai già provato xbacklighte il link sopra risolve questo problema:

Su alcuni sistemi, i tasti di scelta rapida della luminosità sulla tastiera modificano correttamente i valori dell'interfaccia acpi in /sys/class/backlight/acpi_video0/actual_brightness( Come abbiamo provato nei commenti ), ma la luminosità dello schermo non viene modificata. Le applet Brigthness da ambienti desktop (ad es. Barra di scorrimento per l'impostazione della luminosità di Ubuntu ) possono anche mostrare modifiche senza alcun effetto.

Se hai testato i parametri del kernel consigliati e xbacklightfunziona solo , potresti riscontrare un'incompatibilità tra il BIOS e il driver del kernel.

In questo caso, l'unica soluzione è attendere una correzione dal produttore del driver BIOS o GPU.

Una soluzione alternativa consiste nell'utilizzare l' inotifyAPI del kernel per attivare xbacklightogni volta il valore delle /sys/class/backlight/acpi_video0/actual_brightnessmodifiche.

Prima installa inotify-tools. Quindi crea uno script attorno a inotify che verrà avviato ad ogni avvio o tramite l'avvio automatico.

Di seguito è riportato lo script che devi creare chiamato: /usr/local/bin/xbacklightmon

#!/bin/sh

path=/sys/class/backlight/acpi_video0

luminance() {
    read -r level < "$path"/actual_brightness
    factor=$((100 / max))
    printf '%d\n' "$((level * factor))"
}

read -r max < "$path"/max_brightness

xbacklight -set "$(luminance)"

inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
    xbacklight -set "$(luminance)"
done

C'è molto di più nel link sopra ma questi passaggi sono un buon punto di partenza.


Forum dedicati

Per ulteriore supporto ci sono forum grafici Linux dedicati:


Grazie per una risposta così grande! 1) Prova ciascuna delle opzioni acpi_backlight = xxxx sulla tua linea di paremeters del kernel grub --- sì, l'ho provato molte volte senza alcun risultato.
Max Tkachenko,

Sfortunatamente, anche xbacklight non funziona :(
Max Tkachenko il

Penso che sia un errore dei conducenti .. e ho bisogno di qualcuno del team di sviluppo di NVIDIA :)
Max Tkachenko,

Se ricordo bene, il team di nVidia che normalmente lavorava sul driver di Linux è appena stato cambiato, e potrebbe non esserci lo stesso supporto di Linux nei prossimi giorni.
ben-Nabiy Derush,

@ ben-NabiyDerush Ricordo che l'anno scorso Nvidia ha lanciato un forum specifico per scoprire i problemi degli utenti e lavorare con loro per risolverli. Linux era il loro obiettivo credo. Sono andato a cercare di nuovo il forum oggi, ma non sono riuscito a trovarlo. Ho trovato altri due forum di supporto e ho aggiornato la risposta con loro.
WinEunuuchs2Unix

2

Ciao, mi scuso se questo è qualcosa che le persone intelligenti hanno già escluso, poiché non ho familiarità con la riga di comando, ma dopo una reinstallazione ho riscontrato questo problema e tutte le soluzioni di cui sopra non hanno funzionato per me (MSI pe706QE nvidia 960m ).

Stavo modificando /etc/default/grubda:

gksudo 'insert editor of choice not in quotes' /etc/default/grub

e nomodesetho notato che era ancora nella parte inferiore del file (non ricordo di averlo aggiunto in modo permanente) e l'ho rimosso.

salva il file ed esegui:

sudo update-grub 

tutto funziona di nuovo con i tasti di scelta rapida #noobie non riesce a sperare che questo possa aiutare qualcuno.


2

Ho un notebook VPCEH Sony, ho avuto lo stesso problema. Ho provato questa soluzione che ha funzionato per me:  http://ubuntuforums.org/showthread.php?t=2221452#6 In breve: con i privilegi di root, crea il file /usr/share/X11/xorg.conf.d/20- nvidia.conf con il seguente contenuto

Sezione Identificatore "Dispositivo" "Dispositivo0" Driver "nvidia" Nome fornitore "NVIDIA Corporation" Nome scheda "GeForce 410M" Opzione "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Disconnettersi e riconnettersi per testare. E aggiunge delicatamente: "Se qualcosa va storto, è sufficiente eliminare quel file e riavviare per ripristinare il sistema." Ma non avevo bisogno di quell'aggiunta. Dopo il logout e il login il controllo della luminosità ha ripreso a funzionare. Mi auguro possa aiutare anche te...

o questo dopo funziona con Ubuntu 16.04 sotto il mio laptop Sony VPCEJ2C5E ma con NVIDIA 378.13 non ho usato per il momento i driver 390.25.

Sono stato in grado di far funzionare i miei tasti di luminosità sul mio Lenovo W530 su Ubuntu 12.04. Oggigiorno X si configura automaticamente, quindi la creazione di un file xorg.conf potrebbe rendere il sistema non flessibile. Invece puoi aggiungere una sezione ad un file in /usr/share/X11/xorg.conf.d/ e X includerà quella sezione nella configurazione che genera automaticamente. Quindi, per far funzionare i tasti di luminosità dello schermo con la scheda grafica Nvidia, creare un file nella directory xorg.conf.d, ad esempio: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Incolla quanto segue nel file:

Sezione Identificatore "Dispositivo" "Dispositivo0" Driver "nvidia" Nome fornitore "NVIDIA Corporation" Nome scheda "Quadro K1000M" Opzione "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Disconnettersi e riconnettersi o riavviare e ora i tasti di luminosità dovrebbero funzionare!

inserisci qui la descrizione dell'immagine


2

Per richiesta di wineunuuchs2unix , sto ripubblicando la mia risposta a una domanda simile qui.

Provare acpi_osi=

Durante l'aggiornamento a Bionic qualche giorno fa, ho riscontrato un problema simile (ho una NVIDIA GeForce GTX 1060 Mobile, ma per me /sys/class/backlightsi presenta vuota.

Lavorando attraverso la procedura di debug della retroilluminazione , ho scoperto una soluzione alternativa tramite i parametri del kernel:

  • In "Software e aggiornamenti" → "Driver aggiuntivi", assicurati di avere nvidia-driver-396(o qualunque sia il metapacchetto corrente; 396 è l'ultimo al momento della stesura) selezionato.
  • Modifica /etc/default/grubeseguendo il comando sudo nano /etc/default/grub(facoltativamente sostituendolo nanocon il tuo editor preferito).
  • Trova la riga che imposta GRUB_CMDLINE_LINUX_DEFAULTe aggiungi acpi_osi=alla fine all'interno delle virgolette. Sulla maggior parte dei sistemi questo ti lascerà con una lettura di riga GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Salva ed esci dall'editor.
  • Esegui il comando sudo update-grube riavvia.

(Se questi passaggi non funzionano, ripristina le impostazioni ripetendo il processo, ma rimuovendolo acpi_osi=quando modifichi la configurazione di GRUB.)

Un'altra soluzione alternativa, se è un'opzione per te, è passare a un kernel mainline . In particolare, non vedo il problema nella versione 4.17 del kernel mainline.

(Bug riportato qui .)


1
purtroppo non aiuta :(
Max Tkachenko il

1

clonare questo repository e incollare lo script backlight.shin /bin. quindi renderlo eseguibile e dopo questo aprire un terminale root ed eseguire il comando seguente.

sudo backlight.sh "brightness-level-number".

clonare il repository,

git clone https://github.com/el-beth/backlight.sh.git


Grazie! Sfortunatamente, usa "echo $ 1> / sys / class / backlight / 0 / luminosità;" ed è lo stesso che ho scritto sotto "6. change / sys / class / backlight / luminosità"
Max Tkachenko

non è /sys/class/backlight/0/brightnessil percorso corretto è/sys/class/backlight/acpi_video0/brightness
endrias il

o qualche altro percorso simile per sistemi con hardware grafico specializzato.
Endrias,

In ogni caso non funziona :(
Max Tkachenko il

1

È possibile installare il pacchetto di comando xbacklight nel terminale:

sudo apt-get install - reinstall xbacklight

Dopo l'installazione è possibile utilizzare il comando xbacklight come segue:

xbacklight -inc 20 # aumenta la retroilluminazione del 20%

xbacklight -dec 30 # diminuisce del 30%

xbacklight -set 80 # impostato su 80% del valore massimo

xbacklight -get # ottiene il livello attuale

Il comando xbacklight dovrebbe funzionare in questo modo.


1
Siamo spiacenti, ma xbacklight nell'elenco delle soluzioni selezionate .. Non funziona :(
Max Tkachenko,

1

un programma per risolvere tutto questo problema !!!

ho Ubuntu 16.04 GTX 1060 6Gb desktop

Non c'è bisogno di fare nulla, basta installare il controller di luminosità con il ppa:

https://launchpad.net/~apandada1/+archive/ubuntu/brightness-controller/

risolto il problema per me (vedere schermate) tuttavia è in conflitto con redshift, quindi è necessario rimuovere redshift

puoi aggiungerlo all'avvio per un comodo utilizzo


1
La ringrazio per la risposta. Ma penso che questa non sia la cosa giusta, il testo proviene dal sito: "È un dimmer basato su software". Non è il controllo della potenza della retroilluminazione, è solo una soluzione software con curve RGB :( Ci proverò un po 'più tardi.
Max Tkachenko,

provalo, funziona davvero :)
Diventa MasterZero il

L'ho provato. Come ho detto, è una soluzione software, non risparmia la batteria e danneggia il colore dell'immagine. xrandr --output DP-0 --brightness $ VALUE --- fai la stessa cosa.
Max Tkachenko,

grazie per il tuo feedback, è comunque bello avere una GUI
Go MasterZero

1

Ho finalmente risolto questo e nessuna delle soluzioni online che il poster originale elencato ha funzionato anche per me. Che cosa ha risolto il problema stava andando in / etc / default / grub e nella riga: GRUB_CMDLINE_LINUX_DEFAULT

Aggiunta:

"Acpi_osi ="

Ma non utilizzare "nomodeset" su di esso. Ppl ha aggiunto originariamente nomodeset per risolvere il problema di rendering del software, ma ciò in realtà impedisce a Linux di riconoscere i driver Nvidia.

Infine, assicurati di andare a Gestione driver del menu Start di Linux e aggiornare i tuoi driver Nvidia alla versione 430 o successiva.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.