As chaves de brilho ideapad da Lenovo não geram eventos no Ubuntu 16.04.1

3

Eu tenho um novo Lenovo Ideapad 500S com um novo Ubuntu 16.04.1 rodando nele. Infelizmente, as teclas de brilho para cima / baixo não funcionam. (Eles funcionam bem no Windows.)

A execução de acpi_listen mostra-me eventos gerados para teclas de aumentar / diminuir volume, mas não para o brilho para cima / baixo. A execução de xev também não me deu nenhuma saída para as teclas de brilho para cima / para baixo.

Depois de editar a linha GRUB_CMDLINE_LINUX_DEFAULT em /etc/default/grub várias vezes com opções como acpi_backlight=vendor , video.use_native_backlight=1 , acpi_osi=Linux e acpi_osi= , posso confirmar que isso altera os links em /sys/class/backlight/ e eu atualmente só tem intel_backlight .

A execução de echo <NUM> | sudo tee /sys/class/backlight/intel_backlight/brightness funciona bem e altera o brilho, mudando também de Settings > Brightness and Lock .

Nada dentro do Ubuntu parece ser capaz de detectar essas chaves, então não tenho certeza se qualquer alteração na configuração do grub terá importância.

Por favor, deixe-me saber se alguém sabe como corrigir isso e também se qualquer informação adicional será útil na depuração deste problema.

Atualização:

Adicionar acpi_osi=Linux acpi_backlight=intel_backlight à linha no grub parece fazer a chave de brilho baixo gerar algo em xev (embora nada em acpi_listen ainda). A saída é:

KeyPress event, serial 37, synthetic NO, window 0x3c00001,
    root 0xd3, subw 0x0, time 391361, (728,884), root:(793,936),
    state 0x0, keycode 120 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x3c00001,
    root 0xd3, subw 0x0, time 391368, (728,884), root:(793,936),
    state 0x0, keycode 120 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Resultados adicionais:

$ lspci -nnk | grep -iA2 vga
00:02.0 VGA compatible controller [0300]: Intel Corporation Sky Lake Integrated Graphics [8086:1916] (rev 07)
    Subsystem: Lenovo Skylake Integrated Graphics [17aa:3828]
    Kernel driver in use: i915_bpo
    
por Vivek Ghaisas 29.09.2016 / 01:00

2 respostas

1

Eu finalmente resolvi isso usando algumas soluções alternativas.

O primeiro passo foi tornar as chaves detectáveis. Eu tinha um laptop de um modelo similar (Lenovo Z400) e olhei para quais códigos de teclas eram gerados para ele. Com base nisso, eu coloco isso no meu /etc/rc.local/ :

setkeycodes e054 225 # Brightness up -> brightness up
setkeycodes e04c 224 # Brightness down -> brightness down

O segundo passo foi fazer com que as teclas mudassem o brilho. A primeira vez que notei que a execução de xdotool key 232 e xdotool key 233 aumentou e diminuiu o brilho perfeitamente (incluindo a notificação de alteração no Unity). Então eu tentei duas coisas para fazer o brilho funcionar.

Primeiro, notei que xev me mostrou os eventos XF86MonBrightnessUp e XF86MonBrightnessDown para as duas chaves, o que significa que tudo estava funcionando bem no nível X. Então eu simplesmente usei o gerenciador de atalhos do Ubuntu e registrei as duas chaves (que foram lidas como equivalentes no XF86) para os comandos xdotool . Isso funcionou muito bem!

No entanto, algumas semanas depois, devido a alguns pacotes / drivers que eu mudei, xev parou de relatar os eventos XF86 e, portanto, o método acima não funcionou. No entanto, acpi_listen mostrou que video/brightnessdown e video/brightnessup eventos estavam sendo gerados, então, depois de algum googling, coloquei o seguinte em um novo arquivo, /etc/acpi/events/ideapad-monitor-brightness-up :

# same event as reported by acpi_listen
event=video/brightnessup BRTUP 00000086 00000000 K
action=su vivek -c "export DISPLAY=:0.0; xdotool getactivewindow && xdotool key 233 2>&1 > /tmp/log"
# The redirection into /tmp/log probably doesn't make any difference

e também um arquivo ideapad-monitor-brightness-down equivalente com xdotool key 232 e que resolveu o problema. Não tive nenhum problema desde então. :)

    
por Vivek Ghaisas 10.12.2016 / 17:04
0

Eu não tive problemas com as teclas de brilho desde 2012 com o meu laptop mais antigo (Toshiba Satellite Core 2 Duo) no Ubuntu 14.04, mas parece que muitos usuários têm. A solução mais popular é criar o arquivo digitando:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

depois edite o arquivo usando:

gksu gedit /usr/share/X11/xorg.conf.d/20-intel.conf

então preencha o arquivo com:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

Salvar e reiniciar .

Observação o BusID deve corresponder à saída de:

lspci -nnk | grep -iA2 vga

Substitua intel_backlight acima pelo que aparece no comando lspci , se diferente.

Outra opção para tentar é alterar a linha de comando do grub com acpi_backlight=vendor .

Atualizar

Eu encontrei a página do Ubuntu sobre as chaves de brilho: link

Quando eu atualizo para o Ubuntu 16.04 ele trouxe consigo o Kernel 16.04 e eu tive todos os tipos de problemas com suspensão / retomada, fontes finas, telas pretas em vez de papel de parede, uso de CPU maior que o normal e temperaturas mais quentes que o normal. Escrevi muitos dos passos que tomei nesta resposta: Ubuntu 15.10: Vários" tipos "de congelamentos e desligamento agora inesperado que resolveram a maioria dos meus problemas em uma plataforma Intel Ivy Bridge e pode muito bem ajudar na sua plataforma Sky Lake.

    
por WinEunuuchs2Unix 29.09.2016 / 01:36