Ich arbeite mit dem Gerät 97356 von Broadcom, das ein HDMI- und ein analoges Videoausgabegerät enthält.
Ich möchte mithilfe eines Framebuffer-Geräts Inhalte auf einem dieser beiden Geräte (oder auf beiden gleichzeitig!) zeichnen können. Allerdings habe ich Probleme, die richtige Dokumentation zu finden, die mir weiterhilft.
Ich möchte dieEFLIch möchte eine kleine Anwendung entwickeln und möchte mit dem einfachsten Backend beginnen, das es gibt: dem Framebuffer. Aber ich weiß nicht, wie ich ihn aktivieren kann; ich habe meinen Kernel mit Framebuffer-Unterstützung neu kompiliert. Trotzdem kann ich keinen/Entwickler/fb0Gerät. Es gibt ein/dev/hdmi0Gerät und ich kann keins finden, das sich speziell auf den analogen Ausgang bezieht.
Meine Frage lautet also: Wie entscheidet Linux, welcher Videoausgang beim Erstellen eines Framebuffer-Geräts verwendet wird? Wie konfiguriere ich es so, dass es das tut, was ich will, z. B. indem ich den HDMI-Ausgang als den Ausgang einstelle, der den Inhalt des Framebuffers anzeigt?
Antwort1
Teilantwort:
wie entscheidet Linux beim Erstellen eines Framebuffer-Geräts, welcher Videoausgang verwendet wird?
„Linux“ tut das nicht, es hängt vom Treiber ab. Der erste Schritt besteht also darin, nachzusehen dmesg
und/oder lsmod
herauszufinden, welcher Treiber geladen wird. Der nächste Schritt besteht darin, den Quellcode für den Treiber zu finden, ihn zu lesen und herauszufinden, welche Optionen er versteht. /dev/hdmi0
ist ein ziemlich ungewöhnlicher Name für ein Framebuffer-Gerät, obwohl es so aussieht, als würden einige Sunxi-Treiber das verwenden. Haben Sie versucht, etwas hineinzuschreiben (mit dd
oder einem kleinen C-Programm)? Verhält es sich wie ein Framebuffer?
Bearbeiten Sie die Frage also mit dem relevanten Teil von dmesg
oder bearbeiten Sie sie mit einem Link zum vollständigen dmesg
After-Boot in einem Pastebin usw.
wie konfiguriere ich es, damit es das tut, was ich will
Siehe oben: es hängt ganz vom Treiber ab. Beispielsweise erlaubt der Intel-Framebuffer-Treiber nicht, auf HDMI umzuschalten (oder hat es zumindest nicht getan, als ich das letzte Mal nachgesehen habe).