servidor X, teclado e mouse com tela corrompida

3

Meu computador (que tem uma placa NVIDIA) tem um problema de renderização que é muito chato.

Às vezes, o servidor X 'bloqueia' após o congelamento (ou o que quer que esteja acontecendo porque o VLC toca no pacote atual) por ~ 1 segundo, o ponteiro fica invisível, o teclado & mouse não vai funcionar e eu recebo uma tela que se parece com isso:

exceto que as cores são diferentes a cada vez. Eu habilitei as teclas ctrl-alt-backspace e alt-sysrq- [rk] e nem mesmo aquelas têm um efeito, para recuperar devo fazer uma reinicialização a frio.

Às vezes, em vez de obter a tela acima, recebo um console cheio de erros de kernel, como nouveau: falha no canal inativo XXX . Então, depois de alguns segundos, todos os programas são mortos (enquanto no tty). Isso pode ser um servidor X porque minhas configurações de xgamma (que são redefinidas a cada logout) ainda estão em vigor.

E até mesmo o próprio console desaparece, sem tela de login, apenas preto (e a única saída é também uma reinicialização a frio).

A parte mais estranha é que o KTorrent (que estava baixando um arquivo quando isso aconteceu) ainda estava transmitindo dados durante o bloqueio, de acordo com o LED do meu modem. Todos os programas são mortos, podem se reproduzir com o VLC tocando música.

Em particular, não consigo rodar nenhum programa JavaFX 8 (nem mesmo o mais simples que cria uma janela vazia) porque quando eu executo java -jar my.jar , a janela aparece, mas em uma degeneração / renderização fora de sincronia forma, e ou a) a tela trava após alguns segundos de b) depois de alguns (un) maximizing / redimensionamento o acima acontece. Também acontece às vezes enquanto uso o firefox ou mesmo quando não há janelas abertas.

wmctrl -l mostra que a tela de bloqueio não é uma janela. Além disso, como dito acima, janelas / programas ainda estão abertos para que todos os processos GUI não sejam eliminados. Isso é muito confuso e eu estou sem ideias.

    
por Cool Charac 29.12.2016 / 20:28

1 resposta

2

A propósito: alt-sysrq- [rk] não ajudará aqui - ele realmente mata todos os programas em si e coloca você nesse cenário de console. No entanto, esse não é o problema. Em poucas palavras, é nouveau.

Pelo que você está dizendo, o servidor X ainda está funcionando, mas a "conexão" gráfica parece estar cortada do seu monitor.

Como um driver nouveau é para cartões NVIDIA, o java, o firefox e seus outros programas estão tentando utilizar o cartão pensando que está disponível. Isso é chamado de aceleração de vídeo (também conhecido como hardware).

A tela "lockup" não é do servidor X, é pela falta de recursos de hardware em Nouveau para sua placa (renderização 3D, decodificação de vídeo, etc.), então quando um programa tenta usar um deles, falha nouveau.

Considere os nomes de código da GPU e video engines para placas NVIDIA. Supondo que você tenha uma placa série GeForce 6/7, ela acaba na família NV40 (Curie), que por sua vez usa os mecanismos de vídeo VPE1, VPE2 e VP1, nenhum dos quais suporta aceleração de vídeo (hardware) (exceto para XvMC de VPE2) . Isso é o que está fazendo o seu servidor X "falhar". (Esteja avisado, o driver proprietário da NVIDIA não ajudará nesse caso por causa dos recursos ausentes.)

A solução é desabilitar totalmente a aceleração de hardware e manter a renderização de software até obter uma placa suportada. No java 8, você pode fazer isso: java -Dprism.order=sw -jar my.jar , funciona bem no meu sistema. E o firefox tem uma opção em suas preferências avançadas para ativar a aceleração de hardware (se estiver disponível, o que equivocadamente é, mas não sei por que), certifique-se de que esteja desmarcada.

Atualização: o nouveau nunca foi bom em utilizar o hardware da NVIDIA, então se você estiver usando um e sua distro (por exemplo, o RHEL 7) dificulta a obtenção de drivers proprietários eu recomendo substitua a placa por uma Radeon / Intel cujos drivers de código aberto tenham melhor suporte.

    
por 29.12.2016 / 20:28