Problem mit der Helligkeit der NVIDIA-Hintergrundbeleuchtung

8

Problem

Unity zeigt Kontrolle, während ich die Helligkeit Fn + Erhöhen / Beschreiben drücke, aber es passiert nichts. In der Konsole funktioniert die Helligkeit auch nicht, während der X-Server ausgeführt wird.

Geprüfte Lösungen

Ich habe ALLE MÖGLICHEN Lösungen für dieses Problem in Google ausprobiert und nichts funktioniert:

  1. schreibe acpi_backlight in grub
  2. Installieren Sie die Treiber mit apt purge nvidia * neu
  3. Schreiben Sie "EnableBrightnessControl = 1" in xorg.conf
  4. Installieren Sie nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" funktioniert nicht
  6. Ändern von / sys / class / Hintergrundbeleuchtung / Helligkeit
  7. Aktualisieren Sie den Linux-Kernel von 4.8 auf 4.10 und 4.12
  8. EDID aus alter Matrix ersetzen (es bricht alles)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0 und ändern Sie dann die Hintergrundbeleuchtung mit den Tasten Fn +.
  10. xrandr - Ausgabe DP-0 - Helligkeit 0,5 --- schlechte Lösung

Mein System und meine Situation

Ich habe zuvor in meinem Laptop die Anzeigematrix N173HHE-G32 verwendet und alles war in Ordnung. Aber heute habe ich es durch B173HAN01.2 ersetzt und dieses Problem hat begonnen. Unter Windows 10 habe ich es gelöst, indem ich Treiber auf nvidia-376 von der offiziellen MSI-Website neu installiert habe.

So kann ich die nächste Sequenz sehen: Beim Start des Laptops ist die Helligkeit maximal, dann minimal (und funktioniert), während der Text "initramfs ..." in der Konsole angezeigt wird. Und nach dem Start des X-Servers ist die Helligkeit wieder maximal (defekt). Wenn der X-Server stoppt, funktioniert die Helligkeit wieder!

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)

Jedoch!

Aber wenn ich nvidia-378 benutze , funktioniert es ! Leider hat 378 nach dem Suspend-Modus in der Unity-Oberfläche einen kritischen Fehler: ((()

Bitte helfen Sie, meine Augen sind blutig (es ist sehr hell für sie) und ich weiß nicht, was ich tun soll ...

Aktualisiert! Nach zwei Jahren habe ich verstanden, dass das Problem innerhalb von lightdm (oder X-Server) liegt. Wenn ich aufhöre, ist alles in Ordnung ...

Max Tkachenko
quelle
Der vielleicht beste Kurs ist der 378-Treiber und das Beheben der Suspend / Resume-Fehler damit. Was sind die Fehler?
WinEunuuchs2Unix
Fehler mit Unity-Oberfläche - einige Artefakte an den Rändern von Fenstern und Menüs. Es gibt Beschreibung - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko
Ich glaube, jemand hat vor ein oder zwei Monaten gesagt, dass es in Version 381 oder so behoben wurde. Ich denke, es war askubuntu.com/users/15811/rinzwind, der es gesagt hat, aber askubuntu.com/users/167850/pilot6 Ich glaube, es ist ein weiterer Experte.
WinEunuuchs2Unix
1
Fehler mit Suspend ist behoben, aber die Hintergrundbeleuchtung funktioniert nicht :( Ich habe 381..und viele andere Versionen ausprobiert ..
Max Tkachenko
Können Sie Ihre Frage mit der Ausgabe von aktualisieren:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Antworten:

8

Update 16. Juni 2019

Im letzten Monat, zwei Jahre nachdem das Problem gemeldet wurde, stellte OP fest, dass LightDM (Ubuntu Unity Desktop Manager) die Ursache des Problems war. Zusätzlich zu der folgenden Liste gibt es jedoch einen weiteren grubParameter, der ausprobiert werden kann:

video.use_native_backlight=1

Weitere Informationen finden Sie in dieser Antwort .


Ursprüngliche Antwort

Die ultimative Referenz scheint Arch Linux zu sein , eine Site, an die ich mich oft gewandt habe, um schwierige Probleme zu beheben.

Kernel-Parameter

Wenn Sie sich Ihre cat /proc/cmdlineansehen, werden keine zusätzlichen Kernel-Parameter übergeben. Der obige Link besagt:

Manchmal funktioniert ACPI aufgrund unterschiedlicher Motherboard-Implementierungen und ACPI-Macken nicht gut. Dies schließt einige Laptops mit Dual-Grafik ein (z. B. dedizierte Nvidia / Radeon-GPU mit integrierter Intel / AMD-GPU). Auf Nvidia Optimus-Laptops kann der Kernelparameter nomodeset die Einstellung der Hintergrundbeleuchtung beeinträchtigen. Darüber hinaus muss ACPI manchmal eine eigene registrieren, acpi_video0 backlightauch wenn bereits eine vorhanden ist (z. B. intel_backlight). Dies kann durch Hinzufügen eines der folgenden Kernelparameter erfolgen:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Wenn Sie feststellen, dass das Ändern der acpi_video0Hintergrundbeleuchtung die Helligkeit nicht tatsächlich ändert, müssen Sie möglicherweise verwenden acpi_backlight=none.

Probieren Sie jede der acpi_backlight=xxxxOptionen in Ihrer Grub-Kernel-Parameterzeile aus

Wann xbacklightfunktioniert nicht

Sie haben es xbacklightbereits versucht und der obige Link behebt dies:

Auf einigen Systemen ändern die Helligkeits-Hotkeys auf Ihrer Tastatur die Werte der acpi-Schnittstelle in /sys/class/backlight/acpi_video0/actual_brightness( wie wir in den Kommentaren versucht haben ) korrekt, aber die Helligkeit des Bildschirms wird nicht geändert. Brigthness-Applets aus Desktop-Umgebungen (z. B. Schieberegler für die Einstellung der Ubuntu-Helligkeit ) zeigen möglicherweise auch Änderungen ohne Wirkung an.

Wenn Sie die empfohlenen Kernelparameter getestet haben und nur xbacklightfunktionieren, besteht möglicherweise eine Inkompatibilität zwischen Ihrem BIOS und dem Kerneltreiber.

In diesem Fall besteht die einzige Lösung darin, auf einen Fix des BIOS- oder GPU-Treiberherstellers zu warten.

Eine Problemumgehung besteht darin, die inotifyKernel-API zu verwenden, um xbacklightjedes Mal den Wert von /sys/class/backlight/acpi_video0/actual_brightnessÄnderungen auszulösen .

Installieren Sie zuerst inotify-tools. Erstellen Sie dann ein Skript um inotify, das bei jedem Start oder durch Autostart gestartet wird.

Unten finden Sie ein Skript, das Sie erstellen müssen: /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

Der obige Link enthält noch viel mehr, aber diese Schritte sind ein guter Anfang.


Spezielle Foren

Für zusätzliche Unterstützung gibt es spezielle Linux-Grafikforen:

WinEunuuchs2Unix
quelle
Vielen Dank für eine so große Antwort! 1) Probieren Sie jede der Optionen acpi_backlight = xxxx in Ihrer Grub-Kernel-Parameterzeile aus --- ja, ich habe es viele Male ohne Ergebnis versucht.
Max Tkachenko
Leider funktioniert xbacklight auch nicht :(
Max Tkachenko
Ich denke, es ist ein Treiberfehler .. und ich brauche jemanden vom NVIDIA Dev Team :)
Max Tkachenko
Wenn ich mich richtig erinnere, wurde das nVidia-Team, das normalerweise am Linux-Treiber arbeitete, gerade umgeschaltet, und in den kommenden Tagen wird es möglicherweise nicht mehr dieselbe Linux-Unterstützung geben.
Ben-Nabiy Derush
@ ben-NabiyDerush Ich erinnere mich, dass Nvidia letztes Jahr ein Forum gestartet hat, das speziell darauf abzielt, Probleme herauszufinden, die Benutzer hatten, und mit ihnen zusammenzuarbeiten, um sie zu lösen. Ich glaube, Linux war ihr Fokus. Ich habe heute wieder nach dem Forum gesucht, konnte es aber nicht finden. Ich habe jedoch zwei andere Support-Foren gefunden und die Antwort mit ihnen aktualisiert.
WinEunuuchs2Unix
2

Hallo, ich entschuldige mich, wenn dies etwas ist, was die cleveren Leute bereits ausgeschlossen haben, da ich mit der Befehlszeile weit davon entfernt bin, aber nach einer Neuinstallation bin ich auf dieses Problem gestoßen und alle oben genannten Lösungen haben bei mir nicht funktioniert (MSI pe706QE nvidia 960m) ).

Ich habe bearbeitet /etc/default/grubvon:

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

und bemerkte, dass das nomodesetnoch am Ende der Datei saß (ich erinnere mich nicht, es dauerhaft hinzugefügt zu haben) und entfernte es.

Speichern Sie die Datei und führen Sie Folgendes aus:

sudo update-grub 

Alle arbeiten wieder mit Tastenkombinationen #noobie scheitern Ich hoffe, dies kann jemandem helfen.

Schatz
quelle
2

Ich habe ein Sony VPCEH-Notebook, ich hatte das gleiche Problem. Ich habe diese Lösung ausprobiert, die für mich funktioniert hat:  http://ubuntuforums.org/showthread.php?t=2221452#6 Kurz: Erstellen Sie mit Root-Rechten die Datei /usr/share/X11/xorg.conf.d/20- nvidia.conf mit folgendem Inhalt

Abschnitt "Geräte" -Kennung "Geräte0" Treiber "nvidia" Anbietername "NVIDIA Corporation" Boardname "GeForce 410M" Option "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Melden Sie sich zum Testen ab und wieder an. Und es fügt sanft hinzu: "Wenn etwas schief geht, löschen Sie einfach diese Datei und starten Sie neu, um das System wiederherzustellen." Aber ich brauchte diesen Zusatz nicht. Nach dem Abmelden und Anmelden begann die Helligkeitssteuerung wieder zu funktionieren. Ich hoffe es hilft dir auch ...

oder dieses nach arbeitet mit ubuntu 16.04 unter meinem Laptop Sony VPCEJ2C5E, aber mit NVIDIA 378.13 habe ich im Moment die 390.25 Treiber nicht verwendet.

Ich konnte meine Helligkeitstasten auf meinem Lenovo W530 unter Ubuntu 12.04 zum Laufen bringen. Heutzutage konfiguriert sich X automatisch selbst, sodass das Erstellen einer xorg.conf-Datei Ihr System möglicherweise unflexibel macht. Stattdessen können Sie einer Datei in /usr/share/X11/xorg.conf.d/ einen Abschnitt hinzufügen, und X nimmt diesen Abschnitt in die Konfiguration auf, die automatisch generiert wird. Um die Bildschirmhelligkeitstasten mit Ihrer Nvidia-Grafikkarte zum Laufen zu bringen, erstellen Sie eine Datei im Verzeichnis xorg.conf.d, z. B.: Sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Fügen Sie Folgendes in die Datei ein:

Abschnitt "Geräte" Kennung "Gerät0" Treiber "nvidia" Anbietername "NVIDIA Corporation" Boardname "Quadro K1000M" Option "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Melden Sie sich ab und wieder an oder starten Sie neu, und Ihre Helligkeitstasten sollten jetzt funktionieren!

Geben Sie hier die Bildbeschreibung ein

Ubuntu1304XFCE
quelle
2

Per wineunuuchs2unix ‚s Anfrage, bin reposting ich meine Antwort auf eine ähnliche Frage hier.

Versuchen acpi_osi=

Beim Upgrade auf Bionic vor einigen Tagen ist ein ähnliches Problem aufgetreten (ich habe eine NVIDIA GeForce GTX 1060 Mobile, die jedoch für mich /sys/class/backlightals leer angezeigt wird).

Beim Durcharbeiten des Debugging-Vorgangs für die Hintergrundbeleuchtung habe ich eine Problemumgehung über Kernel-Parameter entdeckt:

  • nvidia-driver-396Stellen Sie unter "Software & Updates" → "Zusätzliche Treiber" sicher, dass Sie (oder das aktuelle Metapaket; 396 ist das neueste zum Zeitpunkt des Schreibens) ausgewählt haben.
  • Bearbeiten Sie, /etc/default/grubindem Sie den Befehl sudo nano /etc/default/grubausführen (optional durch nanoIhren bevorzugten Editor ersetzen ).
  • Suchen Sie die festgelegte Zeile GRUB_CMDLINE_LINUX_DEFAULTund fügen Sie sie acpi_osi=am Ende der Anführungszeichen hinzu. Auf den meisten Systemen erhalten Sie eine Zeilenlesung GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Speichern und beenden Sie den Editor.
  • Führen Sie den Befehl aus sudo update-grubund starten Sie ihn neu.

(Wenn diese Schritte nicht funktionieren, stellen Sie Ihre Einstellungen wieder her, indem acpi_osi=Sie den Vorgang wiederholen, aber entfernen, wenn Sie die GRUB-Konfiguration bearbeiten.)

Eine andere Problemumgehung, falls dies für Sie eine Option ist, besteht darin , zu einem Hauptkern zu wechseln . Insbesondere sehe ich das Problem unter Mainline-Kernel-Version 4.17 nicht.

(Fehler hier gemeldet .)

Gast
quelle
1
Leider hilft es nicht :(
Max Tkachenko
1

Klonen Sie dieses Repo und fügen Sie das Skript backlight.shin ein /bin. Machen Sie es dann ausführbar und öffnen Sie danach ein Root-Terminal und führen Sie den folgenden Befehl aus.

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

um das Repository zu klonen,

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

endrias
quelle
Vielen Dank! Leider wird "echo $ 1> / sys / class / backlight / 0 / brightness" verwendet. und es ist das gleiche, das ich unten geschrieben habe "6. Ändern / sys / Klasse / Hintergrundbeleuchtung / Helligkeit"
Max Tkachenko
Es ist nicht /sys/class/backlight/0/brightnessder richtige Weg/sys/class/backlight/acpi_video0/brightness
Endrias
oder ein anderer ähnlicher Pfad für Systeme mit spezieller Grafikhardware.
Endrias
Auf jeden Fall funktioniert es nicht :(
Max Tkachenko
1

Sie können das Befehlspaket xbacklight im Terminal installieren:

sudo apt-get install - xbacklight neu installieren

Nach der Installation können Sie den Befehl xbacklight wie folgt verwenden:

xbacklight -inc 20 # erhöht die Hintergrundbeleuchtung um 20%

xbacklight -dec 30 # um 30% verringern

xbacklight -set 80 # auf 80% des Maximalwerts eingestellt

xbacklight -get # holt das aktuelle Level

Der Befehl xbacklight sollte auf diese Weise funktionieren.

dschinn1001
quelle
1
Sorry, aber xbacklight in der Liste der überprüften Lösungen. Es funktioniert nicht :(
Max Tkachenko
1

ein Programm, um all dieses Problem zu lösen !!!

Ich habe GTX 1060 6 GB Desktop Ubuntu 16.04

Sie müssen nichts tun, installieren Sie einfach den Helligkeitsregler mit dem ppa:

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

Das Problem wurde für mich behoben (siehe Screenshots). Es steht jedoch in Konflikt mit der Rotverschiebung, sodass Sie die Rotverschiebung entfernen müssen

Sie können es zur bequemen Verwendung zum Start hinzufügen

Gehen Sie zu MasterZero
quelle
1
Vielen Dank für Ihre Antwort. Aber ich denke, das ist nicht richtig, der Text stammt von der Website: "Es ist ein softwarebasierter Dimmer". Es ist nicht die Kontrolle über Ihre Gegenlichtleistung, es ist nur eine Softwarelösung mit RGB-Kurven :( Ich werde es etwas später versuchen.
Max Tkachenko
Probieren
Ich habe es getestet. Wie gesagt, es ist eine Softwarelösung, die den Akku nicht schont und die Bildfarbe beschädigt. xrandr --output DP-0 --brightness $ VALUE --- mache dasselbe.
Max Tkachenko
Vielen
1

Ich habe dies endlich behoben und keine der Online-Lösungen, die auf dem Originalposter aufgeführt sind, hat auch für mich funktioniert. Was das Problem gelöst hat, war / etc / default / grub und in der Zeile: GRUB_CMDLINE_LINUX_DEFAULT

Hinzufügen:

"acpi_osi ="

Verwenden Sie aber auch nicht "nomodeset". Ppl hat ursprünglich nomodeset hinzugefügt, um das Problem beim Rendern der Software zu beheben. Dies führt jedoch dazu, dass Linux die Nvidia-Treiber nicht erkennt.

Stellen Sie zum Schluss sicher, dass Sie zum Linux Start Menu Driver Manager gehen und Ihre Nvidia-Treiber auf 430 oder neuer aktualisieren.

Stephen Wong
quelle