web-dev-qa-db-fra.com

Pourquoi mon contrôle de luminosité Thinkpad ignore-t-il les étapes?

Le problème: il y a 16 niveaux de luminosité sur mon ordinateur portable, mais le fait d'appuyer sur les touches de raccourci Fn+Home, Fn+End ajuste la luminosité 3 étapes à temps (par exemple de 0 à 3 ou de 15 à 12).

Je trouve important de remarquer que à l'écran de connexion, les touches de raccourci fonctionnent bien . Mais après la connexion, ce comportement étrange apparaît.

En outre, si je mets l'accent sur un menu (par exemple, cliquez sur menu Fichier dans firefox), les touches de raccourci fonctionnent correctement .

xdotool key XF86MonBrightnessDown fonctionne correctement, en ajustant la luminosité d'un pas (vérifié avec cat /sys/devices/pci0000:00/0000:00:02.0/backlight/acpi_video0/brightness).

J'ai aussi installé indicator-brightness - il montre 16 leves (0-15).

J'ai essayé de mettre acpi_backlight=vendor dans grub (inspiré par ce sujet: http://ubuntuforums.org/showthread.php?t=1909184 avec un problème similaire). Cela a fonctionné dans que les raccourcis clavier ont bien fonctionné. Mais des problèmes avec la notification OSD, xdotool et l'indicateur de luminosité sont apparus. Donc, je pense que ce n'est pas une bonne solution.

Il semble qu’après la connexion, quelque chose interfère dans le schéma de traitement des raccourcis clavier. Des idées?

Modifier (informations supplémentaires)

  • J'ai remarqué que les touches de raccourci fonctionnent au niveau matériel: je peux régler la luminosité immédiatement après avoir allumé mon ordinateur portable (par exemple, à l'écran du BIOS).

  • Après $ killall gnome-settings-daemon, les touches de raccourci permettent de régler la luminosité d’une étape à l’autre, mais aucune notification ne s’affiche. Peu de temps, gnome-settings-daemon est récupéré et le processus en trois étapes est renvoyé.

  • acpi_listen donne le résultat suivant (les deux touches séquentiellement):

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

    À ce stade, je pensais que (1) les raccourcis clavier fonctionnaient au niveau du matériel; (2) ibm/hotkey prend soin des raccourcis clavier; (3) video prend également soin de vous. Ainsi, le problème en trois étapes apparaît.

    J'ai essayé la vidéo sur la liste noire (je m'attendais à ce que cela entraîne un comportement en double étape), mais rien n'a changé.

Pour contourner le problème, j'ai créé mes propres raccourcis clavier dans CompizConfig Settings Manager - comme décrit ici , mais avec l'argument --clearmodifiers:

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

Je peux donc maintenant utiliser les raccourcis clavier initiaux ou de nouveaux raccourcis pour des ajustements plus précis.

Questions ouvertes

Il y avait déjà une discussion pour le cas de double étape: Lenovo ThinkPads, les touches de fonction de luminosité effectuent deux étapes au lieu d'une, à la recherche d'une solution de contournement :

le matériel le fait et envoie un signal indiquant que le bouton a été enfoncé. Peut-être pourriez-vous désactiver le raccourci dans Système -> Préférences -> Raccourcis clavier pour cette action?

Mais j'ai hâte de savoir,

  1. Pourquoi ai-je un numéro triple ?
  2. Comment puis-je annuler le traitement de ce raccourci clavier?

Je serais très reconnaissant si quelqu'un l'explique.

15
Andrey

D'où viennent les 3 étapes pour 1 pression de touche?

Vous obtenez trois niveaux de luminosité pour une pression de touche car:

  1. Le pilote ACPI/vidéo standard ajuste l'étape 1
  2. Le pilote thinkpad_acpi indique au BIOS d’ajuster l’étape 2 mais transmet toujours l’événement de frappe.
  3. Le démon GNOME intercepte cette pression sur la touche et demande à ACPI de s’ajuster à nouveau étape 3

1. Désactivez le pilote vidéo pour qu'il ne règle pas seul la luminosité

Cela supprime l'une des trois étapes (étape 1) ci-dessus.

  • Ouvrez le terminal
  • Tapez Sudo sh -c 'echo -n 0 > /sys/module/video/parameters/brightness_switch_enabled'
  • Testez, vous devriez maintenant avoir le contrôle de la luminosité par étapes de deux
  • Pour le désactiver automatiquement au démarrage, ouvrez /etc/rc.local dans votre éditeur favori et avant la dernière ligne (exit 0), ajoutez:

    echo -n 0>/sys/module/video/parameters/luminosité_switch_enabled

2. Recompilez le module thinkpad_acpi pour résoudre le problème de double-presse

  • Nous devons arrêter thinkpad_acpi de régler la luminosité via le BIOS et le laisser uniquement transmettre la touche à GNOME, de sorte que GNOME effectue la seule étape de réglage.
  • Ceci est un bug conn qui a été corrigé dans le noyau 3.4+
  • Pour résoudre ce problème pour Ubuntu 12.04/Precise, nous allons corriger sa version de thinkpad_acpi et la recompiler:

    1. Installez les en-têtes du noyau: Sudo apt-get install linux-headers-$(uname -r)
    2. Installer les outils de construction Sudo apt-get install build-essential
    3. Créez un répertoire temporaire et changez-le:
      mkdir ~/tpacpi-bright && cd ~/tpacpi-bright
    4. Téléchargez et corrigez le fichier source thinkpad_acpi.c à partir du référentiel git Ubuntu Kernel:

      wget -O- "http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-precise.git;\[&____& ,. = HEAD "\ 
       | sed -e '/ tp_features.bright_acpimode && acpi_video/acpi_video/g'\
      > thinkpad_acpi.c
    5. Dans le même dossier où thinkpad_acpi.c a été téléchargé, vous aurez besoin d'un "Makefile". Vous pouvez le télécharger directement depuis ce Pastebin , en utilisant:

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

    OU collez le texte ci-dessous dans un fichier nommé Makefile,:

     obj-m + = thinkpad_acpi.o
    all: make -C/lib/modules/$ (Shell uname -r)/build M = $ (PWD) modules
    clean: make -C/lib/modules/$ (Shell uname -r)/build M = $ (PWD) clean
    1. Maintenant, tapez make pour créer le module; vous verrez un fichier thinkpad_acpi.ko dans le dossier une fois terminé.
  • Testez le module corrigé après l'avoir chargé avec:

    Sudo rmmod thinkpad_acpi && Sudo lsmod thinkpad_acpi.ko
  • Si la luminosité est maintenant corrigée et vous donne un contrôle total, remplacez le module standard par le module corrigé:

     TPDIR =/lib/modules/$ (uname -r)/kernel/drivers/plate-forme/x86 [.________ .] Sudo mv ~/tpacpi-bright/thinkpad_acpi.ko $ TPDIR/thinkpad_acpi.ko 
    
  • Vous pouvez nettoyer le dossier de construction avec make clean; conservez-le pour les futures mises à jour du noyau!

14
ish

J'avais exactement le même problème que vous et mon système commençait toujours avec l'écran éteint.

Je voudrais vous remercier de m'avoir orienté dans la bonne direction, acpi_backlight=vendor a fait le tour pour moi sans aucun des problèmes que vous avez rencontrés. J'utilise un HP G7 1116sg avec des graphiques hybrides (Intel HD3000 (n'utilise actuellement que l'intel à cause de problèmes hybrides dans Ubuntu. Je dis cela uniquement parce que le X220 est répertorié comme ayant la même carte graphique)/Radeon HD6870) et Ubuntu 12.04.

Je voulais juste dire que les changements apportés au régime ont fonctionné pour moi sans aucun problème apparent.

Bonne chance pour trouver une solution.

2
DrA7

Dans mon ordinateur portable Lenovo S205, j'avais ce problème où le pilote vidéo et le gnome réglaient la luminosité.

Mais mon expérience en désactivant la propriété brightness_switch_enabled est que gnome est lent et semble racé lors de la mise à jour du rétroéclairage --- par exemple, si je laisse les touches enfoncées pendant quelques secondes et que je laisse ensuite aller, gnome prend encore 5 à 10 secondes. pour traiter les événements.

Donc, au lieu de cela, je préfère laisser le pilote vidéo faire les ajustements et empêcher le gnome de les faire.

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

Désactiver le gsd-backlight-helper a fait l'affaire pour moi. J'ai exploré les internets et il ne semble pas y avoir une option visible par l'utilisateur pour faire la même chose.

J'ai perdu la luminosité de l'OSD, mais maintenant, les modifications de luminosité sont traitées instantanément et, en prime, j'ai toujours le contrôle de la luminosité sur le terminal.

0
Ivo Anjo

Régler le /sys/module/video/parameters/brightness_switch_enabled sur 0 ne me permet pas de contrôler la luminosité de mon Thinkpad X230 via des touches de raccourci, à la fois dans tty et dans xfce 4.10. Je devais dire au gestionnaire de puissance xfce4 de ne pas modifier la luminosité des événements clés. Vous pouvez le faire en définissant l'une des deux clés de configuration cachées. Le premier est:

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

Et le second:

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

Remarque: ces deux paramètres désactivent l'écran contextuel de luminosité de mon système, mais au moins, je récupère les 16 niveaux de luminosité!

Vous pouvez en savoir plus sur ce problème sur cette page et sur au bas de cette page .

0
jeremija