O atalho da tecla fn do brilho não funciona no laptop ASUS


42

Os atalhos de brilho via fntecla não funcionam.

Eu tentei cada solução a partir desta resposta e seus comentários . Depois de editar o /etc/default/grubarquivo, reiniciei.

GRUB_CMDLINE_LINUX="acpi_osi=Linux"
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi=linux acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi_Linux"

Que outras soluções alternativas / soluções existem?

Saída relevante:

$ sudo lshw -C display
  *-display UNCLAIMED     
       description: 3D controller
       product: GK107M [GeForce GT 750M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: latency=0
       resources: memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f7000000-f707ffff
  *-display
       description: VGA compatible controller
       product: 4th Gen Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:50 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64)

Qual GPU você possui?
Kai

@Kai Adicionei informações relevantes na pergunta.
Jonică Bizău

Agora, quando você diz que as teclas de brilho não funcionam, você vê uma barra se movendo indicando que está alterando o brilho ou pressionar as teclas FN não faz nada?
John Scott

Aqui estão algumas das minhas soluções alternativas. Espero que possa ser útil #
Sergiy Kolodyazhnyy

Excelente, GRUB_CMDLINE_LINUX="acpi_backlight=vendor"fez o trabalho para mim.
Milan

Respostas:


52

No terminal:

  1. sudo nano /etc/default/grub

    mudança

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    para

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
    

    Em seguida, salve o arquivo.

  2. sudo update-grub

  3. Reinicialização do computador.


As teclas de função ( Fn+ F5/ F6) agora devem estar ativas.

Eu descobri que o arquivo grub foi modificado após uma atualização do sistema e precisei fazê-lo novamente.


1
Para obter toda a gama do brilho (depois de exibi-lo em primeiro lugar), adicionar um arquivo 20-intel.conf funcionou para mim: itsfoss.com/fix-brightness-ubuntu-1310
srlm

1
Isso funcionou para mim no meu ASUS Q550LF! Muito obrigado!
Ryan Stull

5
Isso não funcionou para mim. Estou executando o Ubuntu em um laptop Asus Zenbook ux305. Existe alguma outra opção para corrigir meu caso?
Gocht 10/10

9
para asus rog gl552vw: intel_idle.max_cstate=1 acpi_osi= acpi_backlight=nativeno archlinux com kernel 4.3.3
brauliobo

2
acpi_osi= acpi_backlight=nativefoi suficiente no meu laptop ASUS, não precisava intel_idle.max_cstate=1, eo pop-up de brilho funciona.

13

Disclaimer: Eu lutei com isso no Mint / Mate-18 com o meu Asus 305CA e o fiz funcionar, não sei se funciona também no Ubuntu, mas tente ... fiz o seguinte:

Obter Fn F5 / F6 trabalhando:

sudo emacs /etc/default/grub

Mude o seguinte: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="

sudo update-grub

reinicie o sistema ... Agora a tela inicial deve aparecer.

Verifique os comandos acpi com acpi_listen:

acpi_listen.

pressione Fn F5 / F6. Eu tenho esse:

video/brightnessdown BRTDN 00000087 00000000 K
video/brightnessup BRTUP 00000086 00000000 K

Adicione os códigos de evento ao evento acpi:

sudo emacs /etc/acpi/events/asus-keyboard-backlight-down 

evento = vídeo / brilho BRTDN 00000087

sudo emacs /etc/acpi/events/asus-keyboard-backlight-up

evento = vídeo / brilho BRTUP 00000086

Confirme que você pode alterar a luz de fundo (onde xx é um número inteiro):

echo xx | sudo tee /sys/class/backlight/intel_backlight/brightness

Crie um script:

sudo emacs /etc/acpi/asus-keyboard-backlight.sh 

Adicione a variável ao arquivo:

KEYS_DIR=/sys/class/backlight/intel_backlight

Também configurei o valor para 10 em vez de 1, pois era muito lento:

if [ "$1" = down ]; then
    VAL=$((VAL-10))
else
    VAL=$((VAL+10))
fi

O brilho real da tela não segue a barra no splash. Quando estiver cheio para cima / para baixo, você ainda poderá continuar pressionando Fn F5 / F6 para alterar o brilho.

Você precisará reiniciar acpidpara que ele entre em vigor:

sudo service acpid restart

6
e se acpi_listen não mostrar nada?
Eugen Konkov

Confirmo que funciona também sobre Asus K501UX e fazer 20 para cima / baixo passos brilho de min a max e vice-versa ...
sHAKaJaada

Isso funciona no ASUS Zenbook UX330UA. Muito obrigado @Lassebassen
Holy Mackerel

Trabalho confirmado no Asus X550VX (com gráficos Nvidia 950M). Mas a primeira resposta também trabalhar sem nenhuma outra ajustes após a adição de:acpi_osi= acpi_backlight=native
Gobinath

Posso confirmar que a solução funciona com o Asus Zenbook UX310 no Xubuntu 16.04. Ótima solução!
benjamin button

7

esta solução funcionou para mim:

abra o terminal e digite estes comandos:

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

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

Adicione as seguintes linhas a este arquivo:

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

feche o arquivo depois de salvar, depois volte ao terminal e digite estes comandos:

sudo nano /etc/default/grub

encontre esta linha

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

e substitua-o por

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi= acpi_backlight=intel"

depois no terminal

sudo update-grub

reinicie o seu laptop e provavelmente funcionará.


Confirmo que isso funciona para um Asus N56JR.
Michael S.

5

Se você clicar no ícone da bateria e aparecer um controle deslizante para alterar o brilho, e se ele realmente funcionar, por exemplo. se o brilho da tela mudar, a funcionalidade estará disponível, basta mapear novamente as teclas do teclado.

(Portanto, não é necessário mexer nos parâmetros e drivers do kernel e outros)

Se você clicar no ícone Bateria no Painel do KDE e ver o seguinte:

painel de bateria

Em Configurações do sistema → Área de trabalho → Atalhos → Atalhos do teclado global → Daemon do KDE, você encontrará Decrease Screen Brightnesse Increase Screen Brightness.

Parece já estar mapeado para Fn+ F5/ Fn+ F6, mas parece não funcionar, portanto, basta atribuir um Global Alternativemapeamento para Meta+ F5/ Meta+ F6.


3

Para reduzir o brilho, siga este procedimento:

Abra Configurações do sistema> Brilho e bloqueio

A partir daí controle seu brilho

Você pode tentar isso:

https://apps.ubuntu.com/cat/applications/brightness-controller/

SE você quiser alterar o brilho através das teclas Siga este:

sudo apt-get install xbacklight xbacklight -set 50

Em seguida, abra Configurações> teclado> atalhos

Adicione teclas de atalho personalizadas e insira os seguintes comandos: insira a descrição da imagem aqui

xbacklight -dec 10

xbacklight -inc 10


Eu sei como modificar o brilho (da interface do usuário e de xbacklight). Além disso, não consigo mapear atalhos personalizados na fntecla. Eu já tentei isso. :-(
Ionică Bizău

Não use o uso tecla fn outra coisa
Tejas Ghalsasi

ALT + F5, ALT + F6 já foram definidos, mas eu quero a tecla fn ao trabalho ...
Ionică Bizau

3

No script:

sudo nano /etc/acpi/asus-keyboard-backlight.sh 

Opções úteis para Asus E402M:

MIN=200
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)

if [ "$1" = down ]; then
    VAL=$((VAL-800))
else
    VAL=$((VAL+800))
fi

2

Parece-me que você não possui o driver NVIDIA proprietário instalado. Se isso for verdade, você pode tentar instalar este driver usando o programa pré-instalado 'Drivers Adicionais'. Isso deve funcionar no Ubuntu 14.04, mas provavelmente causará problemas nas versões anteriores do Ubuntu sem a instalação de algum software adicional. Portanto, caso você não use o Ubuntu 14.04, não instale o driver proprietário sem ler mais.

Quando o driver está instalado e o controle de brilho ainda não funciona, você pode tentar executar sudo nvidia-xconfigpara gerar um xorg.confarquivo -file. Em seguida, você pode editar este arquivo usando sudo gedit /etc/X11/xorg.confe adicione a linha

Option "RegistryDwords" "EnableBrightnessControl=1"

para Section "Device".


Não instalarei nenhum driver proprietário no meu computador ...
Atualizado

Se você possui um Asus N56JR, não instale o driver proprietário. Isso fará com que o seu X-Server não inicialize mais. Use askubuntu.com/questions/41681/… para corrigir isso.
18716 Michael Michael S.

1

Tentei a resposta aceita no meu laptop Asus FL555, mas sem sorte lá. Encontrei esta resposta para uma máquina Dell e ela também funciona em parte para o meu laptop.
A parte que funcionou é que eu posso alterar o brilho na configuração do sistema e com xbacklighte configurando alguns atalhos de teclado personalizados .

Ainda não descobri como fazer minhas teclas de função funcionarem. Eu tentei todos os tipos de coisas, mas elas simplesmente não aparecem como teclas ACPI quando tento acpi_listen.


você tentou o kernel 4.9 com os próximos patches da Intel, como sugeri acima? Isso deve resolver uma série de questões, sem qualquer outra mexer com arquivos de configuração ou parâmetros do kernel ...
Vincent Gerris

@ user163217 Obrigado pela atualização. Não o fiz, porque atualmente estou executando o Ubuntu 16.04, que usa um kernel mais antigo. Mas vou ter isso em mente quando vou atualizar meu sistema. Obrigado!
Audax

Não há absolutamente nenhuma razão para que um kernel mais recente não funcione :). Com algumas exceções entre as versões principais, você pode executar qualquer 16.10, 17.04 ou outro kernel (com patches do ubuntu)! Aqui está mais informações se você estiver interessado. Gostaria de saber se eles farão o backport das correções do kernel 4.9, acho que não, porque foi uma reformulação no que eu entendi. 16.10 também possui um kernel 4.8, portanto, será 17.04 até que o kernel incluído do Ubuntu o ajude.
Vincent Gerris

1

Por favor, verifique este relatório de bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1348890?comments=all e este excelente artigo: http://hansdegoede.livejournal.com/13889.html

Pode haver várias causas para o brilho não funcionar, no meu caso (o Asus UX305FA) os principais eventos não são enviados.

Você pode verificar isso fazendo isso em um terminal:

sudo evemu-record /dev/input/event3

(onde o evento é seu teclado). Verifique se os eventos são exibidos e se são adequados quando você usa as combinações de brilho e luz ambiente (fn + A para mim).

Para contornar isso, para mim, a solução xbacklight de @Tejas Ghalsasi trabalhou em conjunto com o trecho de @molhamaleh para o arquivo: /usr/share/X11/xorg.conf.d/20-intel.conf

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

Eu não preciso de nenhum parâmetro do kernel. Parece que o acpi_listen me fornece: PNP0C14: 00 000000ff 00000000 para o botão de luz ambiente, os de brilho não mostram nada.

Vou ver o quão longe chego em corrigi-lo, provavelmente precisa ser apresentado um bug do kernel.

Leia o link do Hans para ter uma boa idéia de toda a configuração :)!

[update] Isso foi corrigido para mim no ramo drm-intel-next do kernel para 4.9. Uma compilação pode ser encontrada aqui: http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/

Eu instalei o da semana passada e as teclas de brilho funcionam agora. Se você verificar o relatório de erros, poderá ver pelo menos mais duas pessoas em máquinas diferentes que o corrigiram.

então faça o download, por exemplo:

  linux-headers-4.9.0-997_4.9.0-997.201611212212_all.deb
  linux-headers-4.9.0-997-generic_4.9.0-997.201611212212_amd64.deb
  linux-image-4.9.0-997-generic_4.9.0-997.201611212212_amd64.deb

Então em um terminal

dpkg -i linux*.deb

e reinicie.

O Grub deve escolher o mais novo automaticamente, caso contrário, pressione esc e escolha.


1

Primeiro - esta resposta é para o openSuse, então peço desculpas. Não consegui atualizar a discussão no fórum lá. O problema no meu HP 840 G3 foi muito semelhante. Isso pode ajudar em qualquer distribuição.

No openSuse, editei o /etc/rc.d/boot.localarquivo e adicionei dois códigos de teclas usando os seguintes comandos.

setkeycodes e012 224

setkeycodes e017 225

224e 225sendo os códigos-chave X para brightness downe up.

e012e e017eo Fn-F5e Fn-F6nesta máquina.

Para testar isso em sua máquina, você precisa descer para um Terminal Virtual usando:

Ctrl+ Alt+ F1por exemplo.

pressione a tecla de função necessária

você pode ver a mensagem diretamente no console; caso contrário, verifique o log do dmesg quanto a erros de uma chave ausente. Também fornecerá o código da chave ausente. No meu caso, as chaves ausentes foram e012e e017.

emita o setkeycodescomando correto no VT.

voltar para X. ( Ctrl+ Alt+ F7)?

No KDE, retorne para settings > configure desktop > shortcuts > Global shortcuts > power management. Diminuir o brilho da tela (padrão) Aumentar o brilho da tela (padrão).

Foi tudo o que foi preciso. Espero que isto ajude.


1

Tente este método da GUI primeiro, se você não estiver familiarizado com o terminal:

  1. Clique no menu do sistema no canto superior direito da janela da área de trabalho.
  2. Abrir configurações do sistema
  3. Clique em Power
  4. Clique na dica de ferramenta Brilho da tela, se houver uma
  5. Clique no botão "Tela escura para economizar energia" para alternar para a posição desligado

Verifique se suas chaves agora têm sua função nativa normal. Se eles fazem isso é fixo. Você pode fazer logoff ou reinicialização para salvar a configuração como persistente neste momento.

Ou se o seu computador não tiver a dica de ferramenta que permite desativá-lo individualmente, veja se ele permitirá desativar todo o controle avançado de hardware para redefinir o arquivo de configuração e, em seguida, quando / se a funcionalidade das teclas voltar, veja se você pode ligá-lo novamente e ainda assim as teclas de função funcionam.

Se você ainda deseja que o AHCI da interface de controle de hardware avançado reduza a exibição da tela para economizar energia, tente voltar a alternar para a posição ligada e testar se eles ainda funcionam; se sua máquina for compatível com ahci, você deve descobrir que elas ainda funcionam como anunciadas.

Se eles deixarem de trabalhar novamente e não responderem, talvez seja necessário reiniciar as configurações do sistema ou até desconectar-se e reiniciar, mas assim que começarem a trabalhar novamente, eles continuarão a funcionar e serão salvos pelo linux e prontos para trabalhar novamente no diretório próxima inicialização, a menos que você modifique as ligações de teclas novamente de alguma forma entre a redefinição nativa e a próxima inicialização

Isso geralmente ocorre após um desligamento defeituoso, em que os arquivos de configuração temporários temporários não conseguiram ser salvos ou foram salvos com configurações que conflitavam com as ligações de teclas da bios nativa após algumas modificações no dispositivo de entrada feitas pelo Accessibility ou outra ferramenta Tweak, desligando o controle de software deve redefini-lo para controle de hardware.

Se eles nunca trabalharam com o Ubuntu, provavelmente não foram detectados corretamente na configuração original ou os arquivos de configuração foram modificados durante a instalação interativa por algum motivo. Acessibilidade?

Mas depois de fazer isso, a referência da função de BIOS padrão nativa agora deve ser restaurada nos arquivos de configuração do linux como a configuração padrão para as combinações de teclas e com um ciclo de desligamento adequado, eles devem persistir na próxima inicialização.

Caso contrário, seu computador pode não suportar totalmente o ahci e você precisará controlá-lo manualmente com as teclas fn ou tentar um dos métodos de correção de hackers de configuração manual do terminal com privilégios elevados listados por todos os gurus dos terminais aqui.

Espero que isso tenha ajudado. Sei que, em alguns casos, nenhum dos métodos listados funcionou para mim em outros tópicos e a questão foi listada como fechada. Por isso, finalmente tive que descobrir onde estava o problema no meu NE56R há apenas alguns minutos. Eu já estava decidido a passar algumas horas com o terminal e o homem para descobrir onde estavam os arquivos de configuração e a sintaxe etc. para fazer as combinações de teclas manualmente, como alguém mais precisava fazer e estava começando aqui novamente.

Felicidades


1

Encontrei a solução depois de dar uma olhada na web, o pedaço de código foi sugerido em outro lugar e fiz pequenas modificações:

1) instalar o xbacklight sudo apt-get install xbacklight

2) usaremos watchdog pip install watchdog

3) criar um script python em um local de pasta

#!/usr/bin/env python
import sys
import time
import os
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class MyFileSystemEventHandler(FileSystemEventHandler):
        def on_modified(self, event):
                if "brightness" in event.src_path:
                        with open('/sys/class/backlight/acpi_video0/max_brightness', 'r') as content_file:
                            max_brightness = content_file.read()                        
                        with open('/sys/class/backlight/acpi_video0/brightness', 'r') as content_file:
                            actual_brightness = content_file.read()
                        B = int(int(actual_brightness)* 100 / int(max_brightness))
                        cmd = "xbacklight -set " + str(B)
                        os.system(cmd)                        

if __name__ == "__main__":
        event_handler = MyFileSystemEventHandler()
        observer = Observer()
        observer.schedule(event_handler, "/sys/class/backlight/acpi_video0/", recursive=False)
        observer.start()
        try:
                while True:
                        time.sleep(1)
        except KeyboardInterrupt:
                observer.stop()
        observer.join()

4) menu -> Aplicativos de inicialização -> Adicionar

python the/path/of/the/script.py

0

Eu tive problemas com meu laptop Sager e nVidia (com o Optimus desativado e o driver da nVidia não suportava o brilho da ACPI).

Instale o incrontab (ele observa os arquivos e executa quando é modificado).

Em seguida, escreva um script:

#! /bin/sh
nvidia-settings -c :0 -n -a BacklightBrightness=`cat /sys/class/backlight/acpi_video0/brightness`

Eu chamei de nvidia_brightness_sync.sh

Em seguida, execute incrontab -e e adicione esta linha:

/sys/class/backlight/acpi_video0/brightness IN_CLOSE_WRITE /usr/local/bin/nvidia_brightness_sync.sh

Agora, quando o brilho da ACPI é alterado, o programa nvidia-settings é executado e o brilho é ajustado dessa maneira :)

Observe que estou assumindo que o / sys max_brightness é 100, ou seja, 0 a 100

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.