Não é possível alterar o brilho em um laptop Lenovo

43

As teclas de ajuste de brilho < Fn+ / > não têm efeito (embora sejam reconhecidas pelo ambiente) e não posso alterar o brilho usando as ferramentas da GUI também. Isso parece um problema no próprio Linux, não no ambiente de desktop.

Posso alterar o brilho no sistema operacional Windows, para que não seja algum tipo de falha de hardware.

Detalhes:
          Lenovo B570 (Nome do modelo: 20093)
          Placa gráfica Intel HD integrada
          Kubuntu 11.04 (Linux 2.6.38-10 genérico, KDE 4.7.0), tudo atualizado
          Sem drivers gráficos proprietários (apenas o Wi-Fi)

O que eu tentei:

  • Editar /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT: acpi_osi=Linux, acpi_backlight=vendor, nomodeset. E sim, eu fizupdate-grub
  • Editar /etc/X11/xorg.conf(sem esse arquivo, mesmo depois sudo dpkg-reconfigure xserver-xorg)
  • Editar /proc/acpi/video/VGA/LCD/brightness(sem esse arquivo)
  • sudo setpci -s 00:02.0 F4.B=XX (sem efeito)
  • xbacklight -set XX(" No outputs have backlight property")

Como posso corrigir esse problema?

Oleh Prypin
fonte
1
Isso foi corrigido no Ubuntu 11.10!
Oleh Prypin
5
Isso parece quebrado novamente no Ubuntu 12.04.
Mittenchops
E o Ubuntu 16.04 ainda.
Diego

Respostas:

10

Tente isso . Funcionou para o meu Ubuntu 14, Lenovo B570, Intel Graphics.

Abra um terminal e crie o seguinte arquivo de configuração, se ele não existir:

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

Agora precisamos editar este arquivo. Você pode usar qualquer editor, seja um terminal ou gráfico.

sudo gedit /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

Salve isso. Saia e faça login novamente.

Ignacio
fonte
Obrigado - Isso também trabalhou em um Samsung N220 Netbook w Integrado Intel Graphics / (GMA 3150) correndo Xubuntu 15.04 "viva"
Andrew
1
Não, isso matou meu X. tive que remover o arquivo no console de recuperação novamente.
towi
Isso não funcionou no Lenovo P500.
Galen
2
Isso funcionou para mim em um Thinkpad T460 com o Ubuntu 17.04, eu só tinha de sair e então entrar no site.
Elliot Gorokhovsky
Para verificar o ID do barramento PCI, execute lspci -nn. Dito isto, isso não funcionou para mim em um Thinkpad E490.
Enrico
38

Se as ferramentas da GUI falharem, tente usar o terminal para isso.

  1. Abra um terminal

  2. Execute: ls /sys/class/backlight/*/brightness. Exemplo de saída seria:

    /sys/class/backlight/acpi_video0/brightness
    
  3. Se nada for encontrado, o kernel não suporta o controle de brilho (drivers ausentes?). Caso contrário, você pode usar os comandos abaixo (substitua em acpi_video0conformidade):

    • Obtenha o nível de brilho atual:

      cat /sys/class/backlight/acpi_video0/brightness
      
    • Obtenha o nível máximo de brilho:

      cat /sys/class/backlight/acpi_video0/max_brightness
      

    Esses comandos retornam níveis de brilho que variam de zero a max_brightness (veja acima).

  4. Para alterar o nível de brilho, você precisa escrever um número no brightnessarquivo. Isso não pode ser feito por um editor como gedit. Digamos que você queira alterar seu brilho para 5, você deve executar:

    echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
    

    Como alternativa, se você deseja apenas definir o nível de brilho para o mais alto disponível:

    sudo tee /sys/class/backlight/acpi_video0/brightness < /sys/class/backlight/acpi_video0/max_brightness
    
Lekensteyn
fonte
5
Claro, existem alguns problemas com os drivers! Se esse material da linha de comando funcionasse, a GUI também funcionaria. Mas é claro que não funciona #
Oleh Prypin
@Lekensteyn: [não funcionou, 11.04 usando o Ubuntu] - Eu tentei muito, mas não funcionou em tempo real. Você quis dizer que ao mudar isso, ele será exibido ao vivo ou após a reinicialização?
2
As mudanças são em tempo real.
Lekensteyn
Mesmo como superusuário, não consegui alterar o nível de brilho usando tee. Por que poderia ser isso?
Galen
@ Galen Se você não cometeu um erro ao gravar no arquivo, pode ser um problema específico do modelo. Tente denunciá-lo como bug ou procure o modelo do seu laptop e a "luz de fundo do linux".
Lekensteyn
10
  1. Instalar linux-kamal-mjgbacklight- um patch para o kernel do Linux.

    • Verifique se funcionará para você:
      lsmod | grep ^i915
      algo como i915 331519 3deve aparecer. Se não houver saída, isso não funcionará.
    • sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight
    • Instalar atualizações ( sudo apt-get update; sudo apt-get upgrade)
  2. Reinicie.

  3. Agora você pode usar o terminal para ajustar o brilho, conforme sugerido por Lekensteyn .
    Se você pode alterar o brilho com o terminal + sudo, este é o fim da resposta.
    Se você estiver na área de trabalho do GNOME, o brilho poderá até funcionar totalmente.

  4. Faça o download do meu script de mudança de brilho , permita que seja executado e coloque-o em / usr / local / bin / :
    wget -O brightness http://ideone.com/plain/yPlo5
    chmod +x brightness
    sudo mv brightness /usr/local/bin

  5. Temos que permitir que o arquivo de brilho seja editado, para que sudonão seja necessário em todos os lugares.
    Além disso, queremos que a configuração de brilho seja restaurada para a configuração anterior quando o sistema inicializar (infelizmente não é salvo por padrão).

    O brightnessscript mencionado pode lidar com tudo (com restoreparâmetro), basta adicioná-lo à execução automática.
    Para fazer isso, editaremos /etc/rc.local ( sudo nano /etc/rc.localou qualquer editor em vez de nano).
    Adicione a seguinte linha antes da exit 0linha:
    /usr/local/bin/brightness restore

  6. É melhor reiniciar agora.

  7. Então o brightnessscript funciona. Você pode ir ao terminal a qualquer momento e digitar:

    • brightness - obtenha a configuração de brilho atual
    • brightness value- defina o brilho para valor
    • brightness inc step, - aumente ou diminua o brilho passo a passo (se não for especificado, um valor padrão será usado no arquivo de configuração, geralmente 10% do brilho máximo)brightness dec step
  8. Agora você pode mapear a alteração do brilho para suas teclas de atalho.

    • Defina XF86BrightnessUp comobrightness inc
    • Defina XF86BrightnessDown comobrightness dec
  9. Se você deseja ajustar algo, consulte /etc/bx_brightness.conf
    Você pode alterar a etapa pela qual o brilho é alterado com brightness inc/dec


Obrigado a Toz por sua ajuda inestimável neste tópico .

Oleh Prypin
fonte
1
Isso não é mais necessário no Ubuntu 11.10
Oleh Prypin 13/10/11
4

Acho que achei um efeito fácil e menos fácil para as coisas existentes para ajustar o intel_backlight usando as regras do udev.

Percebi a ação "alterar" do subsistema "luz de fundo" quando pressiono Fn+ Up/ Downno meu notebook Lenovo G360 executando o kernel 3.2. Então eu escrevi uma regra /etc/udev/rules.d/99-writeintelbacklight.rulescomo abaixo:

ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh"

Faça o script de shell /usr/sbin/writeintelbacklight.shconter:

#!/bin/bash

intelmaxbrightness=`cat /sys/class/backlight/intel_backlight/max_brightness`
acpimaxbrightness=`cat /sys/class/backlight/acpi_video0/max_brightness`
scale=`expr $intelmaxbrightness / $acpimaxbrightness`
acpibrightness=`cat /sys/class/backlight/acpi_video0/brightness`
newintelbrightness=`expr $acpibrightness \* $scale`
curintelbrightness=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$newintelbrightness" -ne "$curintelbrightness" ]
then
  echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness
fi
exit 0

Claro, você precisa fazer um sudo chmod +x /usr/sbin/writeintelbacklight.sh.

littlebat
fonte
1
Adicionado "acpi_backlight = fornecedor acpi_osi = linux video.brightness_switch_enabled = 1" nos parâmetros do kernel de inicialização do grub, "Fn + Up / Down" para alterar a brigtness no meu G360. Não é necessário escrever regras de Udev como acima.
littlebat
Parece que adicionar apenas um parâmetro do kernel "acpi_backlight = vendor" também funciona no meu G360 agora. Mas, ambos os métodos de adição de parâmetros do kernel param de funcionar ocasionalmente. O detalhe do meu caso, consulte: Bug 44809 - [Arrandale backlight] Brilho via RANDR não tem efeito sobre Sony VAIO VPCYA1V9E: bugs.freedesktop.org/show_bug.cgi?id=44809
littlebat
4

Isso não fará com que as teclas Fn funcionem, mas você poderá atribuir qualquer outra tecla para ajustar o brilho.

Tentei várias dessas soluções, mas nada funcionou para mim até encontrar esse pequeno programa de indicadores http://codevanrohde.nl/wordpress/?p=128 . Com ele, você pode configurar teclas de atalho para controlar o brilho, usar o botão do mouse ou selecionar em uma lista suspensa no indicador. Troquei 'Fn' por 'Win + Alt', que é muito parecido com minhas mãos e agora também posso usá-lo com um teclado externo!

Para adicionar PPA e instalar:

sudo add-apt-repository ppa:indicator-brightness/ppa
sudo apt-get update && sudo apt-get install indicator-brightness

As teclas de atalho devem ser atribuídas a:

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --up

e

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --down

Nota de rodapé: Fora da caixa, o indicador de birghtness reconhece 7 níveis de brilho no meu sistema. Ao adicionar acpi_backlight=vendora linha GRUB_CMDLINE_LINUX_DEFAULTem /etc/default/grub, esse número é batido até 16!

joelostblom
fonte
4

Eu tenho um lenovo ideapad z400.

Eu tentei todas as dicas listadas acima, sem sucesso.

Então eu encontrei um diferente que funcionou muito bem:

Coloque a seguinte linha em / etc / default / grub

GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux resume=/dev/sdYY"

YY = Área de troca, use swapon -s para ver a troca de dispositivo.

Execute um update-grub como root

Após a reinicialização, o problema foi resolvido.

Douglas Mugnos
fonte
Funcionou para mim, no entanto, algo curioso aconteceu. Quando o brilho está definido no máximo, a tela não mostra brilho (completamente escuro), alguma sugestão? Obrigado
Adriano Rivolli
2

Eu tenho um Thinkpad T450s com gráficos Nvidia e drivers binários no Ubuntu 14.04. Para que a luz de fundo funcionasse, tive que editar o arquivo /etc/X11/xorg.conf adicionando a seguinte linha à definição do dispositivo intel (o arquivo xorg.conf é criado ao instalar os drivers binários):

Option      "Backlight"  "intel_backlight"

A seção completa é agora:

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:0@0:2:0"
    Option "Backlight" "intel_backlight"
    Option "AccelMethod" "SNA"
EndSection
Tor Berg
fonte
1

Isso não funciona para os usuários do KDE, como está escrito em https://launchpad.net/~kamalmostafa/+archive/linux-kamal-mjgbacklight

NOTAS PARA USUÁRIOS DO KDE DESKTOP

Usuários da área de trabalho do KDE: Esse PPA NÃO pode consertar suas teclas de atalho de controle da luz de fundo: Essa correção requer um módulo do kernel para fornecer a nova /sys/class/backlight/intel_backlightinterface (que funcionará independentemente da sua área de trabalho) e também um módulo da área de trabalho para acessar essa interface. Para o Gnome, o gerenciador de energia gnome atualizado deste PPA fornece isso, mas o equivalente ao KDE ainda não foi desenvolvido. "

No entanto, você pode tentar uma solução alternativa encontrada aqui .

Isso diz para digitar o terminal echo XXX | sudo tee /sys/class/backlight/intel_backlight/brightnessonde XXX é um valor inteiro.

No meu caso, XXX pode ser um valor de 0 a 4882, mas tenha cuidado: se você escrever 0, a tela ficará completamente preta e você não verá nada.

Álvaro
fonte
1

Aqui está um patch que você pode fazer.

Crie este script com o nome .modificarBrillo.sh (no meu caso, criei-o na minha pasta pessoal: ~ / .modificarBrillo.sh)

#!/bin/bash
if [ -z "$1" ]; then
    echo "ERROR: Tiene que introducir un parámetro: \"a\" para aumentar o \"d\" para disminuir"
    exit
else
    if [ "$1" != "a" ] && [ "$1" != "d" ]; then
        echo "ERROR: el parámetro de entrada sólo puede ser o \"a\" para aumentar el brillo o \"d\" para disminuirlo"
        exit
    fi
fi
MAX_BRILLO=`cat /sys/class/backlight/intel_backlight/max_brightness`
MIN_BRILLO_ABSOLUTO="0"
MIN_BRILLO="100" #el brillo mínimo puede ser 0 pero eso deja la pantalla completamente a oscuras
INTERVALO=`expr $MAX_BRILLO - $MIN_BRILLO_ABSOLUTO`
INTERVALO=`expr $INTERVALO / 10`
brillo=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$1" = "a" ]; then
    let "brillo = brillo + INTERVALO"
    if [ "$brillo" -gt "$MAX_BRILLO" ]; then
    let "brillo = MAX_BRILLO"
    fi
else
    let "brillo = brillo - INTERVALO"
        if [ "$brillo" -lt "$MIN_BRILLO" ]; then
            let "brillo = MIN_BRILLO"
        fi
fi
echo "$brillo" | tee /sys/class/backlight/intel_backlight/brightness

No entanto, como o script anterior precisa de permissão de execução e / sys / class / backlight / intel_backlight / brightness só pode ser editado pela raiz e você deve executar no terminal:

chmod a+x ~/.modificarBrillo.sh
sudo chmod a+w /sys/class/backlight/intel_backlight/brightness`

O último comando deve ser executado a cada inicialização, porque as permissões do arquivo de brilho são renovadas com a inicialização. Para fazer isso sudo vim /etc/rc.locale adicione o comando sudo chmod a+w /sys/class/backlight/intel_backlight/brightnessantes da linha "exit 0"

Finalmente, você deve instalar xbindkeys para atribuir a tecla Function para executar o script.

No meu caso, adiciono as linhas ao arquivo de configuração ~ / .xbindkeysrc

#Aumentar brillo
"/home/alvaro/.modificarBrillo.sh a"
    m:0x0 + c:233
    XF86MonBrightnessUp 

#Disminuir brillo
"/home/alvaro/.modificarBrillo.sh d"
   XF86MonBrightnessDown

Mas você também pode instalar o programa xbindkeys-config para executar o processo graficamente.

Álvaro
fonte
1

Edite o /etc/default/grubarquivo e adicione
pcie_aspm=force acpi_backlight=vendordepois
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Então a linha inteira ficará assim:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_backlight=vendor"

Para mais detalhes, visite este link .

chirag Hz
fonte
1

Eu tive o mesmo problema, estou usando o Gnome3.10 no ubuntu 14.04 (Unity). Eu instalei o TLP para controle de temperatura no meu laptop. Acabei de remover o 'tlp' e reinicializei o sistema e posso ajustar o brilho da tela usando a função (fn) + as teclas de seta.

Pode ajudar a verificar uma vez.

Cool Tiger
fonte
1

Teve o mesmo problema (aparentemente) com um Lenovo IP G50-70. - De fato, nenhuma das teclas de função 'apareceu' para funcionar. Eventualmente, na Bios, encontrei uma função de habilitação / desabilitação de 'Hotkey'. Paradoxalmente, estava 'Ativado', mas na verdade isso permite uma operação de pressionamento de tecla única para as teclas de função. De fato, se você usar a técnica tradicional 'Fn + Function keyX', elas não funcionarão.

Se você 'Desativar' a função de tecla de atalho no BIOS, as teclas de função funcionarão 'conforme o esperado' (Fn + Tecla de Funçãox). - Depois de fazer isso, todas as teclas de função funcionaram bem. Tanto por progresso

outro
fonte
1

Eu tive que adicionar essas linhas ao grub:

acpi_backlight=vendor acpi_osi=linux thinkpad-acpi.brightness_enable=1

Observe o último. Foi isso que fez as teclas de brilho funcionarem.

Charles Goodwin
fonte
0

Você pode usar este pacote para lidar com o brilho da linha de comando (terminal), com o xbacklightcomando

O xbacklightInstalar xbacklight pode ser instalado no Software Center. Ou no terminal:

sudo apt-get update && sudo apt-get install xbacklight

você pode usar

  • xbacklight -inc <range from 0 to 100> aumentar o brilho com valor < ... >

  • xbacklight -dec <range from 0 to 100> para diminuir o brilho com valor < ... >

Mohamed Hassan
fonte
Este funcionou para mim usando um Thinkpad E490. Obrigado!
Enrico
0

Eu estava tendo um problema em um Thinkpad W510 executando o kubuntu 18.04.

Encontrei isso em um fórum da Lenovo:

tpb - programa para usar as chaves especiais do IBM ThinkPad (tm)

sudo apt-get install tpb

Voila! As teclas de ajuste de brilho agora funcionam perfeitamente! Eu nem precisava sair e entrar novamente.

Rick Graves
fonte