Wenn bestimmte SDL- basierte Programme (z. B. prboom , dosbox ) von der Konsole aus ausgeführt werden (nicht von X) und aus irgendeinem Grund abrupt beendet werden (z. B. "kill" oder "segfaults"), wird der Bildschirm nicht mehr angezeigt. Es wird nur schwarz und bleibt schwarz, bis Sie neu starten.
Dies steht im Gegensatz zu den Demos hello_video und hello_triangle, die die Konsole in den ursprünglichen Zustand zurückversetzen, selbst wenn sie abrupt beendet werden.
Was genau läuft hier falsch und gibt es eine Möglichkeit, es wiederherzustellen, ohne neu zu starten?
Ich habe dies in Debian Squeeze beobachtet . Ich weiß nicht, ob andere Betriebssysteme betroffen sind.
Edit : Ich sollte klarstellen, dass nur die Konsole (HDMI / RCA-Ausgang, USB-Tastatur) betroffen ist, nicht die SSH-Verbindungen (die weiterhin einwandfrei funktionieren.)
alt+F1-5
?Antworten:
Dies ist mit ziemlicher Sicherheit ein Fehler im Grafiktreiber. Es hört sich so an, als würde SDL die Grafik-API initialisieren. Zu diesem Zeitpunkt übernimmt der Grafiktreiber die Anzeige. Da Sie SDL beendet haben, wurde nie der Code zum Deinitialisieren der Grafik-API ausgeführt, und es wartet nur auf Grafikbefehle, die niemals kommen werden.
Dies deutet auf eine schlecht gestaltete Grafik-API hin, aber da das Ganze proprietär ist, gibt es keine Möglichkeit, es zu erkennen und zu beheben.
(Ich habe ein ähnliches Verhalten auf einem PC beobachtet, auf dem SDL den Mauszeiger "greift" und ihn nicht aufhebt, wenn er abstürzt oder getötet wird, aber niemals mit dem Display.)
quelle
SIGKILL
an eine der GLES2-Demos zu senden und zu sehen, was passiert.Ich weiß, dass dies eine sehr alte Frage ist, aber ich hatte ein ähnliches Problem, als ich Mupen64Plus über EmulationStation ausführte. Meine Konsole würde gut aussehen, aber die Tastatur würde nicht mehr reagieren, bis ich einen Neustart durchführte.
Das Problem war, dass die Tastatur nach dem Beenden des Programms im RAW-Modus verblieb. Die Lösung war die folgende Zeile am Ende des Shell - Skript hinzuzufügen , die es lief:
kbd_mode -a
. Dadurch wird die Tastatur in den XLATE-Modus zurückgesetzt und kann wieder verwendet werden.Obwohl dies nicht den "schwarzen Bildschirm" Teil des Problems behebt, muss es eine analoge Möglichkeit geben, den Konsolenframebuffer zurückzusetzen, um das Video zurück zu bekommen.
quelle
Ich kann nicht sagen, was das Problem mit der SDL-App ist, sondern nur Folgendes eingeben:
sollte die Konsole wieder benutzbar machen
quelle