Cuando ciertos programas basados en SDL (p. Ej. , Prboom , dosbox ) se ejecutan desde la consola (no X) y finalizan abruptamente por algún motivo (p. Ej., Muertos o segfaults), la pantalla se bloquea; Simplemente se vuelve negro y permanece negro hasta que reinicie.
Esto está en contraste con las demostraciones hello_video y hello_triangle que devuelven la consola a su estado original incluso si se terminan abruptamente.
¿Qué está mal exactamente aquí, y hay alguna manera de recuperarlo sin reiniciar?
He observado esto en Debian Squeeze . No sé si otros sistemas operativos están afectados.
Editar : debo aclarar que solo la consola (salida HDMI / RCA, teclado USB) se ve afectada, no las conexiones ssh (que continúan funcionando bien).
alt+F1-5
?Respuestas:
Es casi seguro que es un error en el controlador de gráficos. Parece que SDL está inicializando la API de gráficos, momento en el cual el controlador de gráficos se hace cargo de la pantalla. Debido a que eliminó a SDL, nunca ejecutó el código para desinicializar la API de gráficos, por lo que solo está esperando los comandos de gráficos que nunca vendrán.
Esto indica una API de gráficos mal diseñada, pero debido a que todo está patentado, no hay forma de saberlo ni arreglarlo.
(He observado un comportamiento similar en una PC donde SDL "agarra" el puntero del mouse y no lo desarma si se bloquea o se mata, pero nunca con la pantalla).
fuente
SIGKILL
a una de las demostraciones de GLES2 y ver qué sucede.Sé que esta es una pregunta muy antigua, pero me encontré con un problema similar al ejecutar Mupen64Plus a través de EmulationStation. Mi consola se vería bien, pero el teclado no respondería totalmente hasta que realice un reinicio.
El problema era que el teclado permanecía en modo RAW después de que el programa terminaba. La solución fue añadir la siguiente línea al final de la secuencia de comandos shell que lo dirige:
kbd_mode -a
. Esto restablece el teclado al modo XLATE y le permite volver a funcionar.Si bien esto no resuelve la parte del problema de la "pantalla negra", supongo que debe haber una forma análoga de restablecer el framebuffer de la consola para recuperar el video.
fuente
No puedo decir cuál es el problema con la aplicación SDL, pero solo escribo:
debería hacer que la consola sea utilizable nuevamente
fuente