problema de brilho da luz de fundo da nvidia

8

Problema

A unidade mostra controle enquanto pressiono o brilho Fn + Aumentar / Descrese, mas nada acontece. No console, o brilho não funciona muito enquanto o servidor X está em execução.

Soluções verificadas

Eu tentei todas as soluções possíveis deste problema no google e nada funciona:

  1. escreva acpi_backlight no grub
  2. reinstalar drivers com o apt purge nvidia *
  3. escreva "EnableBrightnessControl = 1" no xorg.conf
  4. instalar nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" não funciona
  6. alteração / sys / class / luz de fundo / brilho
  7. atualize o kernel do linux de 4.8 para 4.10 e 4.12
  8. substituir EDID da matriz antiga (quebra tudo)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0 e altere a luz de fundo usando as teclas Fn +.
  10. xrandr --output DP-0 --brightness 0.5 --- solução ruim

Meu sistema e situação

Eu usei a matriz de exibição N173HHE-G32 no meu laptop antes e estava tudo bem. Mas hoje eu o substituí pelo B173HAN01.2 e esse problema foi iniciado. No Windows 10, resolvi-o reinstalando os drivers na nvidia-376 do site oficial da MSI.

Então, eu posso ver a seguinte sequência: no início do laptop, o brilho é máximo, e é mínimo (e funciona) enquanto o texto "initramfs ..." é exibido no console. E depois que o servidor X inicia, o brilho é máximo (quebrado) novamente. Quando o servidor X pára, o brilho está funcionando novamente!

MSI GT73VR 7RF, Ubuntu 16.04.2 LTS, NVidia GeForce GTX1080, B173HAN01.2 display matrix

uname -a 
4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be0 (rev a1)

Contudo!

Mas quando eu uso a nvidia-378, FUNCIONA ! Infelizmente, o 378 possui bugs críticos após o modo de suspensão na interface do Unity: ((((

Por favor, ajudem, meus olhos estão em sangue (é muito brilhante para eles) e eu não sei o que fazer ...

Atualizada! Após dois anos, entendi que o problema está dentro do lightdm (ou servidor X). Quando eu paro, está tudo bem ...

Max Tkachenko
fonte
Talvez o melhor curso seja o driver 378 e consertando os erros de suspensão / retomada com ele. Quais são os bugs?
WinEunuuchs2Unix
Erros com a interface do Unity - alguns artefatos ao redor das bordas das janelas e menus. Há descrição - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko
Acho que alguém disse que há um mês ou dois foi corrigido na versão 381 ou algo assim. Eu acho que foi askubuntu.com/users/15811/rinzwind quem disse isso, mas askubuntu.com/users/167850/pilot6 Eu acredito que é outro especialista.
WinEunuuchs2Unix
1
Bug com suspensão é fixo, mas luz de fundo não está funcionando :( Eu tentei 381..and muitas outras versões ..
Max Tkachenko
Você pode atualizar sua pergunta com a saída de:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Respostas:

8

Atualização 16 de junho de 2019

No mês passado, 2 anos após o problema ter sido relatado, o OP descobriu que o LightDM (Ubuntu Unity Desktop Manager) era a fonte do problema. Dito isto, além da lista abaixo, há outro grubparâmetro que pode ser tentado:

video.use_native_backlight=1

Veja esta resposta para mais.


Resposta original

A referência final parece estar no Arch Linux, que é um site para o qual recorri muitas vezes para corrigir problemas difíceis.

Parâmetros do Kernel

Olhando para o seu, cat /proc/cmdlinenão há parâmetros extras do kernel passados. O link acima indica:

Às vezes, a ACPI não funciona bem devido a diferentes implementações da placa-mãe e peculiaridades da ACPI. Isso inclui alguns laptops com gráficos duplos (por exemplo, GPU dedicada Nvidia / Radeon com GPU integrada Intel / AMD). Nos laptops Nvidia Optimus, o parâmetro nomodeset do kernel pode interferir na capacidade de ajustar a luz de fundo. Além disso, o ACPI às vezes precisa se registrar acpi_video0 backlightmesmo que já exista (como intel_backlight), o que pode ser feito adicionando um dos seguintes parâmetros do kernel:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Se você achar que alterar a acpi_video0luz de fundo não altera realmente o brilho, pode ser necessário usá-lo acpi_backlight=none.

Experimente cada uma das acpi_backlight=xxxxopções na sua linha de paremeters do kernel grub

Quando xbacklightnão funciona

Você já tentou xbacklighte o link acima aborda isso:

Em alguns sistemas, as teclas de atalho Brighness no teclado modificam corretamente os valores da interface ACPI /sys/class/backlight/acpi_video0/actual_brightness( como tentamos nos comentários ), mas o brilho da tela não é alterado. Os applets Brigthness de ambientes de área de trabalho (por exemplo, barra deslizante de configuração de brilho do Ubuntu ) também podem mostrar alterações sem efeito.

Se você testou os parâmetros recomendados do kernel e apenas xbacklightfunciona, pode estar enfrentando uma incompatibilidade entre o BIOS e o driver do kernel.

Nesse caso, a única solução é aguardar uma correção do fabricante do driver do BIOS ou GPU.

Uma solução alternativa é usar a inotifyAPI do kernel para acionar xbacklightcada vez que o valor das /sys/class/backlight/acpi_video0/actual_brightnessalterações.

Primeiro instale o inotify-tools. Em seguida, crie um script em torno do inotify que será iniciado a cada inicialização ou através do início automático.

Abaixo está o script que você precisa criar chamado: /usr/local/bin/xbacklightmon

#!/bin/sh

path=/sys/class/backlight/acpi_video0

luminance() {
    read -r level < "$path"/actual_brightness
    factor=$((100 / max))
    printf '%d\n' "$((level * factor))"
}

read -r max < "$path"/max_brightness

xbacklight -set "$(luminance)"

inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
    xbacklight -set "$(luminance)"
done

Há muito mais no link acima, mas essas etapas são um bom ponto de partida.


Fóruns Dedicados

Para suporte adicional, existem fóruns dedicados de Linux Graphics:

WinEunuuchs2Unix
fonte
Obrigado por uma resposta tão grande! 1) Tente cada uma das opções acpi_backlight = xxxx na linha de parâmetros do seu kernel grub --- sim, eu tentei várias vezes sem nenhum resultado.
precisa
Infelizmente, o xbacklight também não funciona :(
Max Tkachenko
Eu acho que é um bug motoristas .. e eu preciso de alguém da nvidia equipe dev :)
Max Tkachenko
Se bem me lembro, a equipe da nVidia que normalmente trabalhava no driver do linux acabou de mudar, e pode não haver o mesmo suporte ao linux nos próximos dias.
ben-Nabiy Derush
@ ben-NabiyDerush Lembro-me no ano passado que a Nvidia lançou um fórum especificamente destinado a descobrir problemas que os usuários estavam tendo e trabalhar com eles para resolvê-los. Eu acredito que o Linux era o foco deles. Hoje fui procurar o fórum novamente, mas não o encontrei. Eu encontrei dois outros fóruns de suporte e atualizei a resposta com eles.
WinEunuuchs2Unix
2

Olá, peço desculpas se isso é algo que as pessoas inteligentes já descartaram, pois estou longe de familiarizar-me com a linha de comando, mas após uma reinstalação encontrei esse problema e todas as soluções acima não funcionaram para mim (MSI pe706QE nvidia 960m )

Eu estava editando /etc/default/grubpor:

gksudo 'insert editor of choice not in quotes' /etc/default/grub

e notei que nomodesetainda estava no fundo do arquivo (não me lembro de adicioná-lo permanentemente) e o removi.

salve o arquivo e execute:

sudo update-grub 

todos trabalhando novamente com as teclas de atalho #noobie fail espero que isso possa ajudar alguém.

Tesouro
fonte
2

Eu tenho um notebook Sony VPCEH, tive o mesmo problema. Tentei esta solução que funcionou para mim:  http://ubuntuforums.org/showthread.php?t=2221452#6 Resumidamente: Com privilégios de root, crie o arquivo /usr/share/X11/xorg.conf.d/20- nvidia.conf com o seguinte conteúdo

Seção "Identificador do dispositivo" "Device0" Driver "nvidia" Nome do fornecedor "NVIDIA Corporation" Nome da placa "GeForce 410M" Opção "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Saia e faça login novamente para testar. E acrescenta gentilmente: "Se algo der errado, simplesmente exclua esse arquivo e reinicie para recuperar o sistema". Mas eu não precisava dessa adição. Após o logout e o login, o controle de brilho começou a funcionar novamente. Espero que ajude você também ...

ou este depois funciona com o ubuntu 16.04 no meu laptop sony VPCEJ2C5E, mas com a nvidia 378.13 não uso no momento os drivers 390.25.

Consegui colocar minhas teclas de brilho trabalhando no meu Lenovo W530 no Ubuntu 12.04. Atualmente, o X se configura automaticamente, portanto, a criação de um arquivo xorg.conf pode tornar seu sistema inflexível. Em vez disso, você pode adicionar uma seção a um arquivo em /usr/share/X11/xorg.conf.d/ e o X incluirá essa seção na configuração que ele gera automaticamente. Portanto, para que as teclas de brilho da tela funcionem com sua placa de vídeo Nvidia, crie um arquivo no diretório xorg.conf.d, por exemplo: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Cole o seguinte no arquivo:

Seção "Identificador do dispositivo" "Device0" Driver "nvidia" Nome do fornecedor "NVIDIA Corporation" Nome da placa "Quadro K1000M" Opção "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Efetue logout e logon novamente, ou reinicie, e suas teclas de brilho devem funcionar agora!

insira a descrição da imagem aqui

Ubuntu1304XFCE
fonte
2

De acordo com a solicitação de wineunuuchs2unix , estou reposicionando minha resposta para uma pergunta semelhante aqui.

Tentar acpi_osi=

Ao atualizar para o Bionic há alguns dias, encontrei um problema semelhante (eu tenho uma NVIDIA GeForce GTX 1060 Mobile, mas para mim /sys/class/backlightestá aparecendo vazia).

Ao trabalhar com o procedimento de depuração da luz de fundo , descobri uma solução alternativa através dos parâmetros do kernel:

  • Em "Software e atualizações" → "Drivers adicionais", verifique se você tem nvidia-driver-396(ou qualquer metapacote atual; 396 é o mais recente no momento da gravação) selecionado.
  • Edite /etc/default/grubexecutando o comando sudo nano /etc/default/grub(substituindo opcionalmente nanopelo seu editor favorito).
  • Encontre a linha que define GRUB_CMDLINE_LINUX_DEFAULTe adicione acpi_osi=no final dentro das aspas. Na maioria dos sistemas, isso deixa você com uma leitura de linha GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Salve e saia do editor.
  • Execute o comando sudo update-grube reinicie.

(Se essas etapas não funcionarem, restaure suas configurações repetindo o processo, mas removendo acpi_osi=quando você editar a configuração do GRUB.)

Outra solução alternativa, se for uma opção para você, é alternar para um kernel da linha principal . Em particular, não vejo o problema na versão principal do kernel 4.17.

(Bug relatado aqui .)

Hóspede
fonte
1
infelizmente isso não ajuda :(
Max Tkachenko
1

clonar este repo e cole o script backlight.shem /bin. então torne-o executável e, depois disso, abra um terminal raiz e execute o seguinte comando.

sudo backlight.sh "brightness-level-number".

clonar o repositório,

git clone https://github.com/el-beth/backlight.sh.git

endrias
fonte
Obrigado! Infelizmente, ele usa "echo $ 1> / sys / class / backlight / 0 / brightness;" e é o mesmo que eu escrevi abaixo "6. Alterar / sys / class / luz de fundo / brilho"
Max Tkachenko
não é /sys/class/backlight/0/brightnesso caminho correto é/sys/class/backlight/acpi_video0/brightness
endrias
ou algum outro caminho semelhante para sistemas com hardware gráfico especializado.
Endrias 17/07/19
Em qualquer caso, não funciona :(
Max Tkachenko
1

Você pode instalar o pacote de comando xbacklight no terminal:

sudo apt-get install --reinstall xbacklight

Após a instalação, você poderia usar o comando xbacklight da seguinte maneira:

xbacklight -inc 20 # aumenta a luz de fundo em 20%

xbacklight -dec 30 # diminui em 30%

xbacklight -set 80 # definido como 80% do valor máximo

xbacklight -get # obtém o nível atual

O comando xbacklight deve funcionar dessa maneira.

dschinn1001
fonte
1
Desculpe, mas xbacklight na lista de soluções verificada .. ele não funciona :(
Max Tkachenko
1

um programa para resolver todo esse problema !!!

Tenho GTX 1060 6Gb desktop ubuntu 16.04

NÃO precisa fazer nada, basta instalar o controlador de brilho com o ppa:

https://launchpad.net/~apandada1/+archive/ubuntu/brightness-controller/

resolveu o problema para mim (consulte as capturas de tela), no entanto, ele entra em conflito com o redshift; portanto, você precisa remover o redshift

você pode adicioná-lo à inicialização para uso conveniente

Go MasterZero
fonte
1
Obrigado pela sua resposta. Mas acho que isso não está certo, o texto é do site: "É um dimmer baseado em software". Não é o controle de sua energia de luz de volta, é solução de software apenas com curvas RGB :( Eu vou tentar um pouco mais tarde.
Max Tkachenko
tente, ele realmente funciona :) #
Go MasterZero
Eu testei. Como eu disse, é uma solução de software, não economiza a bateria e danifica a cor da imagem. xrandr --output DP-0 --brightness $ VALUE --- faça a mesma coisa.
precisa
obrigado por seu feedback, uma GUI ainda é bom ter embora
Go MasterZero
1

Finalmente consertei essa e nenhuma das soluções on-line que o pôster original listado funcionava para mim também. O que resolveu o problema foi acessar / etc / default / grub e na linha: GRUB_CMDLINE_LINUX_DEFAULT

Adicionando:

"acpi_osi ="

Mas também não use "nomodeset" nele. Ppl adicionou nomodeset originalmente para corrigir o problema de renderização de software, mas isso realmente faz com que o Linux não reconheça os drivers da Nvidia.

Por fim, certifique-se de acessar o Gerenciador de drivers do menu Iniciar do Linux e atualizar os drivers da Nvidia para 430 ou mais recente.

Stephen Wong
fonte