Warum überspringt die Helligkeitsregelung meines Thinkpad die Schritte?

15

Das Problem: Es gibt 16 Helligkeitsstufen auf meinem Laptop, aber drücke Hotkeys Fn+Home, Fn+Endstellt die Helligkeit 3 Schritte zu einer Zeit (zB von 0 bis 3 oder 15 bis 12).

Ich finde es wichtig zu bemerken, dass die Hotkeys auf dem Anmeldebildschirm gut funktionieren . Aber nach dem Einloggen erscheint dieses seltsame Verhalten.

Auch wenn ich den Fokus auf ein Menü geben (zB klicken Sie auf Datei - Menü in Firefox), Hotkeys funktionieren .

xdotool key XF86MonBrightnessDownFunktioniert einwandfrei und passt die Helligkeit um 1 Stufe an (markiert mit cat /sys/devices/pci0000:00/0000:00:02.0/backlight/acpi_video0/brightness).

Ich habe auch installiert indicator-brightness- es zeigt 16 Leves (0-15).

Ich habe versucht, acpi_backlight=vendorgrub einzustellen (inspiriert von diesem Thema: http://ubuntuforums.org/showthread.php?t=1909184 mit ähnlichem Problem). Es hat funktioniert, dass die Hotkeys einwandfrei funktionierten. Es traten jedoch Probleme mit der OSD-Benachrichtigung, dem xdotool und der Helligkeitsanzeige auf. Ich denke also, dass es keine richtige Lösung ist.

Es scheint, dass nach dem Login etwas in das Hotkey-Verarbeitungsschema eingreift. Irgendwelche Ideen?

Bearbeiten (Zusatzinfo)

  • Ich habe festgestellt, dass Hotkeys auf Hardware-Ebene funktionieren - ich kann die Helligkeit unmittelbar nach dem Einschalten meines Laptops anpassen (z. B. auf dem BIOS-Bildschirm).

  • Nach den $ killall gnome-settings-daemonHotkeys wird die Helligkeit um einen Schritt angepasst, es werden jedoch keine Benachrichtigungen angezeigt. In Kürze gnome-settings-daemonerholt und dreistufige Ausgabe kehrt zurück.

  • acpi_listen gibt die folgende Ausgabe aus (beide Tasten nacheinander):

    $ acpi_listen
    ibm/hotkey HKEY 00000080 00001010
    video LCD0 00000086 00000000
    ibm/hotkey HKEY 00000080 00001011
    video LCD0 00000087 00000000
    

    Zu diesem Zeitpunkt dachte ich, dass (1) Hotkeys auf Hardware-Ebene funktionieren; (2) ibm/hotkeykümmert sich um Hotkeys; (3) videokümmert sich auch. Somit erscheint ein dreistufiges Problem.

    Ich habe versucht, Videos auf die schwarze Liste zu setzen (ich habe erwartet, dass dies zu einem Verhalten in zwei Schritten führt), aber nichts hat sich geändert.

Als Problemumgehung habe ich im CompizConfig-Einstellungs-Manager meine eigenen Tastenkombinationen erstellt - wie hier beschrieben , jedoch mit folgendem --clearmodifiersArgument:

xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown

Jetzt kann ich entweder anfängliche Hotkeys oder neue für feinere Anpassungen verwenden.

Offene Fragen

Für den Fall mit Double Step gab es bereits Diskussionen: Lenovo ThinkPads, Helligkeitstasten machen zwei Schritte anstelle von einem und suchen nach einer Umgehung :

Die Hardware macht es einfach und sendet dann auch ein Signal, das besagt, dass die Taste gedrückt wurde. Möglicherweise können Sie die Verknüpfung in System -> Einstellungen -> Tastaturkürzel für diese Aktion deaktivieren.

Aber ich bin gespannt zu wissen,

  1. Warum bekomme ich ein dreifaches Problem?
  2. Wie kann ich die Verarbeitung dieser Hotkeys deaktivieren?

Ich wäre sehr dankbar, wenn jemand es erklärt.

Andrej
quelle

Antworten:

14

Woher kommen die 3 Schritte für 1 Tastendruck?

Sie erhalten drei Helligkeitsstufen für einen Tastendruck, weil:

  1. Der Standard-ACPI / Video-Treiber passt Schritt 1 an
  2. Der thinkpad_acpiTreiber weist das BIOS an, Schritt 2 anzupassen , leitet das Tastendruckereignis jedoch weiter
  3. Der GNOME-Power-Daemon fängt diesen Tastendruck ab und weist ACPI an, Schritt 3 erneut anzupassen

1. Deaktivieren Sie den Grafiktreiber, um die Helligkeit selbst einzustellen

Damit entfällt einer der drei obigen Schritte (Schritt 1).

  • Öffnen Sie das Terminal
  • Art sudo sh -c 'echo -n 0 > /sys/module/video/parameters/brightness_switch_enabled'
  • Testen Sie, jetzt sollten Sie die Helligkeit in Schritten von zwei einstellen
  • Um dies beim Start automatisch zu deaktivieren, öffnen Sie /etc/rc.localin Ihrem bevorzugten Editor und fügen Sie vor der letzten Zeile ( exit 0) Folgendes hinzu:

    echo -n 0> / sys / module / video / parameters / Brightness_switch_enabled

2. Kompilieren Sie das thinkpad_acpiModul erneut, um das Problem mit dem doppelten Drücken zu lösen

  • Wir müssen aufhören thinkpad_acpi, die Helligkeit über das BIOS anzupassen, und nur den Tastendruck an GNOME weiterleiten, damit GNOME den einzigen Anpassungsschritt ausführt
  • Dies ist ein bekannter Fehler, der in Kernel 3.4+ behoben wurde
  • Um es für Ubuntu 12.04 / Precise zu reparieren, müssen wir seine Version patchen thinkpad_acpiund neu kompilieren:

    1. Installieren Sie die Kernel-Header: sudo apt-get install linux-headers-$(uname -r)
    2. Installieren Sie die Build-Tools sudo apt-get install build-essential
    3. Erstellen Sie ein temporäres Verzeichnis und wechseln Sie dorthin:
      mkdir ~ / tpacpi-bright && cd ~ / tpacpi-bright
    4. Laden Sie die Quelldatei thinkpad_acpi.cvom Ubuntu-Kernel-Git-Repository herunter und patchen Sie sie :

      wget -O- "http: //kernel.ubuntu.com/git? p = ubuntu / ubuntu-precision.git; \
      a = blob_plain; f = drivers / platform / x86 / thinkpad_acpi.c; hb = HEAD "\
      | sed -es / tp_features.bright_acpimode && acpi_video / acpi_video / g '\
      > thinkpad_acpi.c
    5. In demselben Ordner, in thinkpad_acpi.cden Sie heruntergeladen haben, benötigen Sie ein "Makefile". Sie können es direkt von diesem Pastebin herunterladen :

      wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT

    ODER fügen Sie das Folgende in eine Datei mit dem Namen ein Makefile:

    obj-m + = thinkpad_acpi.o
    alle: Machen Sie -C / lib / modules / $ (Shell uname -r) / build M = $ (PWD) -Module
    sauber: Machen Sie -C / lib / modules / $ (Shell uname -r) / build M = $ (PWD) sauber
    1. Geben Sie nun Folgendes ein make, um das Modul zu erstellen. thinkpad_acpi.koWenn Sie fertig sind, sehen Sie eine Datei im Ordner.
  • Testen Sie das gepatchte Modul nach dem Laden mit:

    sudo rmmod thinkpad_acpi && sudo lsmod thinkpad_acpi.ko
  • Wenn die Helligkeit jetzt festgelegt ist und Sie die volle Kontrolle haben, ersetzen Sie das Standardmodul durch das gepatchte Modul:

    TPDIR = / lib / modules / $ (uname -r) / kernel / drivers / platform / x86
    sudo mv $ TPDIR / thinkpad_acpi.ko $ TPDIR / thinkpad_acpi.ko.stock
    sudo mv ~ / tpacpi-bright / thinkpad_acpi.ko $ TPDIR / thinkpad_acpi.ko
    
  • Sie können den Build-Ordner mit bereinigen make clean; Bewahren Sie es für zukünftige Kernel-Upgrades auf!

ish
quelle
danke für deine antwort! Ihre Lösung hat für mich völlig funktioniert. Das einzige Problem - die Helligkeitssteuerung funktioniert jetzt nicht auf dem Anmeldebildschirm (ich verstehe anscheinend, warum - weil new thinkpad_acpiverwendet wird, aber der GNOME-Power-Daemon noch nicht in Betrieb ist).
Andrey
Könnten Sie mir bitte sagen, ob es eine Möglichkeit gibt, den GNOME-Power-Daemon anzuweisen, keine Hotkeys für die Helligkeit zu verarbeiten, wie wir es mit dem videoTreiber getan haben ? Ubuntu bietet eine GUI ( All Settings -> Keyboard -> Shortcuts) zum Anpassen von Audio-Hotkeys (Lauter / Leiser, Stumm), aber ich habe nicht herausgefunden, wo ich die Helligkeitstasten ändern oder deaktivieren kann.
Andrey
@Andrey: Gern geschehen! Ich habe ein Thinkpad T520, daher war dies eine gute Gelegenheit, das Problem zu beheben. Was den Anmeldebildschirm angeht, denke ich, besteht der Lösungsweg darin, die Deaktivierung nicht in, rc.localsondern in zu setzen ~/.profile, sodass sie erst nach dem Anmelden aktiviert wird . Wenn es eine einfache Möglichkeit gibt, den GNOME-Power-Daemon für die Verarbeitung von Helligkeit-Hotkeys zu deaktivieren, wird auch das OSD deaktiviert (wie backlight=vendor). Wenn Sie es richtig machen, müssen Sie möglicherweise den Quellcode ändern ... Ich werde versuchen, es mir anzusehen. Sobald 12.10 herauskommt, wird der reparierte Kernel für 12.04 freigegeben, so dass es dann funktioniert.
ish
2

Ich hatte genau das gleiche Problem wie Sie und mein System startete immer mit ausgeschaltetem Bildschirm.

Ich möchte mich bei Ihnen dafür bedanken, dass Sie mich in die richtige Richtung acpi_backlight=vendorgelenkt haben und den Trick für mich gemacht haben, ohne dass Sie Probleme hatten. Ich verwende einen HP G7 1116sg mit Hybridgrafik (Intel HD3000 (derzeit nur Intel wegen Hybridproblemen in Ubuntu. Ich sage dies nur, weil der X220 den gleichen Grafikadapter hat) / Radeon HD6870) und Ubuntu 12.04.

Ich wollte nur sagen, dass die Madenwechsel bei mir ohne offensichtliche Probleme geklappt haben.

Viel Glück beim Finden einer Lösung.

DrA7
quelle
Ich bin froh, dass es für dich funktioniert hat!
Andrey
0

Durch Setzen von /sys/module/video/parameters/brightness_switch_enabledauf 0kann ich die Helligkeit meines Thinkpad X230 nicht über Tastenkombinationen steuern, sowohl in tty als auch in xfce 4.10. Ich musste den xfce4-Power-Manager anweisen, die Helligkeit bei wichtigen Ereignissen nicht zu ändern. Sie können dies tun, indem Sie einen von zwei versteckten Konfigurationsschlüsseln festlegen. Der erste ist:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/change-brightness-on-key-events -s false

Und der zweite:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/show-brightness-popup -s false

Hinweis: Beide Einstellungen deaktivieren den Helligkeit-Popup-Bildschirm auf meinem System, aber ich erhalte zumindest alle 16 Helligkeitsstufen zurück!

Weitere Informationen zu diesem Problem finden Sie auf dieser Seite und am Ende dieser Seite .

jeremija
quelle
0

In meinem Lenovo S205-Laptop hatte ich dieses Problem, bei dem sowohl der Grafiktreiber als auch der Gnom die Helligkeit angepasst haben.

Meine Erfahrung mit dem Deaktivieren der brightness_switch_enabledEigenschaft ist jedoch, dass Gnome langsam ist und beim Aktualisieren der Hintergrundbeleuchtung rassig erscheint. Wenn ich beispielsweise die Tasten ein paar Sekunden lang gedrückt halte und dann loslasse, benötigt Gnome immer noch 5-10 Sekunden, um die Ereignisse zu verarbeiten.

Stattdessen überlasse ich es lieber dem Grafiktreiber, die Anpassungen vorzunehmen, und verhindere, dass Gnome sie vornimmt.

sudo chmod -x /usr/lib/gnome-settings-daemon/gsd-backlight-helper

Das Deaktivieren gsd-backlight-helperhat den Trick für mich getan. Ich habe die Internets durchsucht und es scheint keine für den Benutzer sichtbare Option zu geben, um dasselbe zu tun.

Ich habe das Helligkeits-OSD verloren, aber jetzt werden Helligkeitsänderungen sofort verarbeitet, und als Bonus habe ich immer noch die Helligkeitssteuerung für das tty.

Ivo Anjo
quelle