Linux: espaços em branco do console para branco

0

Esse problema acontece em um laptop com APU AMD e-350 e gráficos integrados Radeon HD 6310. Ele executa o Slackware64 versão 14.0. No console (VTs), o KMS é usado com o driver radeon.

O problema ocorre quando se usa um kernel da série 3.10. *. Se a supressão da tela do console estiver ativada (por exemplo, setterm -blank ou parâmetro de kernel consoleblank= ), quando a tela ficar branca, ela se tornará momentaneamente preta, mas depois de um segundo ou menos ficará totalmente branca e permanecerá assim até que ela não seja unblanks. Eu experimentei e pesquisei na web sem sucesso em resolver isso.

Acrescentarei que a tela será preenchida corretamente se (a) o KMS estiver desativado e o vídeo do console estiver configurado com vga= , ou (b) um kernel da série 3.2. * for usado com o KMS. Essas possibilidades são menos desejáveis para meu uso, por várias razões. Eu gostaria de trabalhar direito com 3.10. * Kernels.

Eu gostaria de receber sugestões. Eu também posso dar mais informações, se necessário.

    
por serval 14.03.2016 / 17:23

2 respostas

0

Procurei mais um pouco e encontrei este tópico , que indica que o problema pode ser corrigido com o parâmetro radeon backlight=0 , que está disponível em 3.18. * kernels e mais recente.

Por acaso, eu tinha 3.18.7 para tentar, e isso funcionou perfeitamente com backlight0 . No entanto, houve um novo problema: esse kernel quebrou meu firewall, o que exigiu uma reconfiguração e recompilação para correção. Dada a necessidade de recompilar, atualizei a fonte para o mais recente 3.18.28 antes de recompilar. Com isso, o firewall foi corrigido, mas a correção de supressão do console não funcionou mais. Agora, com backlight=0 , todo o console fica permanentemente escuro no momento em que o radeon é carregado. Nenhuma maneira de recuperá-lo, exceto a reinicialização. Se eu tentar backlight=1 , em vez disso, o console ficará em branco OK na primeira vez, mas os espaços em branco serão subseqüentemente brancos (conforme descrito no encadeamento vinculado acima).

Então, isso se transformou em um problema relacionado que precisa de mais investigação.

    
por 15.03.2016 / 04:47
0

Eu fiz mais algumas investigações. Primeiro eu olhei para todos os patches incrementais que levam de 3.18.7 (blanking trabalhou ok com backlight=0 ) para 3.18.28 (quebrado). A mudança mais suspeita foi no patch de .22 a .23.

Então eu compilei 3.18.22 e ele funcionou com backlight=0 . Em seguida, movendo-se para 3.18.23, foi realmente quebrado: backlight=0 leva a uma tela permanentemente preta novamente. Então eu removi as duas linhas suspeitas do código 3.18.23. Eles ocorrem no arquivo drivers/gpu/drm/radeon/atombios_encoders.c e são chamadas idênticas:

atombios_set_backlight_level(radeon_encoder, dig->backlight_level);

Se eu comentar essas chamadas e recompilar, tudo funciona bem. Eu suspeito que apenas uma dessas chamadas possa precisar ser removida em qualquer hardware que tenha esse problema.

Finalmente, quero observar que tentei um kernel mais novo, ver 4.4.5 do Slackware64 -current. Isso funciona bem com backlight=0 , sem necessidade de hackear nada.

    
por 19.03.2016 / 21:23