Когда некоторые программы на основе SDL (например, prboom , dosbox ) запускаются с консоли (не X) и по какой-то причине внезапно завершают работу (например , сбои или ошибки), экран блокируется; Он просто становится черным и остается черным до перезагрузки.
Это отличается от демонстраций hello_video и hello_triangle, которые возвращают консоль в исходное состояние, даже если они внезапно завершаются.
Что именно здесь происходит не так, и есть ли способ восстановить его без перезагрузки?
Я наблюдал это в Debian Squeeze . Я не знаю, затронуты ли другие ОС.
Изменить : Я должен уточнить, что это касается только консоли (выход HDMI / RCA, клавиатура USB), а не соединения SSH (которые продолжают работать нормально.)
alt+F1-5
?Ответы:
Это почти наверняка ошибка в графическом драйвере. Звучит так, как будто SDL инициализирует графический API, после чего графический драйвер берет на себя отображение. Поскольку вы убили SDL, он никогда не запускал код для деинициализации графического API, и поэтому он просто ждет графических команд, которые никогда не появятся.
Это указывает на плохо разработанный графический API, но поскольку все это запатентовано, нет способа узнать и исправить его.
(Я наблюдал подобное поведение на ПК, где SDL «захватывает» указатель мыши и не удаляет его, если он падает или уничтожается, но никогда не отображается на дисплее.)
источник
SIGKILL
в одну из демонстраций GLES2 и посмотреть, что получится.Я знаю, что это очень старый вопрос, но я столкнулся с подобной проблемой при запуске Mupen64Plus через EmulationStation. Моя консоль будет отображаться нормально, но клавиатура будет полностью не реагировать, пока я не выполню перезагрузку.
Проблема заключалась в том, что клавиатура оставалась в режиме RAW после завершения программы. Решение было добавить следующую строку в конец скрипта , который управлял его:
kbd_mode -a
. Это сбрасывает клавиатуру в режим XLATE и позволяет снова работать.Хотя это не решает проблему с «черным экраном», я предполагаю, что должен быть аналогичный способ сброса кадрового буфера консоли для возврата видео.
источник
Я не могу сказать, в чем проблема с приложением SDL, но просто набрал:
должен снова сделать консоль пригодной для использования
источник