Quando certos programas baseados em SDL (por exemplo , prboom , dosbox ) são executados no console (não o X) e terminam abruptamente por algum motivo (por exemplo, interrupções ou falhas), a tela é bloqueada; Ele fica preto e permanece preto até você reiniciar.
Isso contrasta com as demos hello_video e hello_triangle, que retornam o console ao seu estado original, mesmo que sejam encerradas abruptamente.
O que exatamente está errado aqui e existe uma maneira de recuperá-lo sem reiniciar?
Eu observei isso no Debian Squeeze . Não sei se outros sistemas operacionais são afetados.
Editar : devo esclarecer apenas o console (saída HDMI / RCA, teclado USB) é afetado, não as conexões ssh (que continuam funcionando bem).
alt+F1-5
?Respostas:
Este é quase certamente um bug no driver gráfico. Parece que o SDL está inicializando a API gráfica, momento em que o driver gráfico assume a exibição. Como você matou o SDL, ele nunca executou o código para desinicializar a API de gráficos e, portanto, fica esperando os comandos gráficos que nunca virão.
Isso indica uma API gráfica mal projetada, mas como a coisa toda é proprietária, não há como saber e nem como corrigi-lo.
(Observei um comportamento semelhante em um PC em que o SDL "agarra" o ponteiro do mouse e não o desmarca se ele travar ou for morto, mas nunca com a tela.)
fonte
SIGKILL
para uma das demos do GLES2 e ver o que acontece.Sei que essa é uma pergunta muito antiga, mas estava com um problema semelhante ao executar o Mupen64Plus via EmulationStation. Meu console aparecia bem, mas o teclado não respondia totalmente até eu executar uma reinicialização.
O problema era que o teclado permanecia no modo RAW após o término do programa. A solução foi adicionar a seguinte linha ao final do shell script que ele correu:
kbd_mode -a
. Isso redefine o teclado para o modo XLATE e permite que ele funcione novamente.Embora isso não resolva a parte "tela preta" do problema, acho que deve haver uma maneira análoga de redefinir o buffer de quadros do console para recuperar o vídeo.
fonte
Não posso dizer qual é o problema com o aplicativo SDL, mas apenas digitando:
deve tornar o console utilizável novamente
fonte