Knoppix startet im Framebuffer

Das Framebuffer- Subsystem fbdev im Linux-Kernel dient zur Anzeige von Grafiken auf einem Computermonitor , typischerweise auf der Systemkonsole . [ 1 ]

Es wurde als hardwareunabhängige API konzipiert, um Benutzersoftware Zugriff auf den Framebuffer (den Teil des Videospeichers eines Computers, der ein aktuelles Videobild enthält ) zu ermöglichen , indem ausschließlich die grundlegenden Funktionen des Linux-Kernels und seine Gerätedateisystemschnittstelle verwendet werden . Dadurch wird die Notwendigkeit von Bibliotheken wie SVGAlib vermieden , die effektiv Videotreiber im Benutzermodus implementierten.

In den meisten Anwendungen wurde fbdev durch das Linux Direct Rendering Manager (DRM)-Subsystem abgelöst. Allerdings bieten seit 2022 mehrere Treiber sowohl DRM- als auch fbdev-APIs an, um die Abwärtskompatibilität mit Software zu gewährleisten, die nicht auf die Verwendung des DRM-Systems aktualisiert wurde. Außerdem existieren weiterhin fbdev-Treiber für ältere (meist eingebettete) Hardware, die keinen DRM-Treiber besitzt. [ 2 ]

Anwendungen

Der Linux-Framebuffer hat drei Anwendungsbereiche:

  • Eine Implementierung einer textbasierten Linux-Konsole , die nicht den Hardware- Textmodus verwendet (nützlich, wenn dieser Modus nicht verfügbar ist oder um dessen Einschränkungen hinsichtlich Glyphengröße, Anzahl der Codepunkte usw. zu umgehen). Ein beliebter Aspekt ist die Möglichkeit, beim Systemstart das Tux- Logo anzuzeigen .
  • Eine grafische Ausgabemethode für einen Anzeigeserver , unabhängig von der Videoadapterhardware und deren Treibern.
  • Grafikprogramme, die den Overhead des X Window Systems vermeiden .

Beispiele für die dritte Anwendung sind Linux-Programme wie MPlayer , links2 , NetSurf , w3m , fbff [ 3 ] , fbida [ 4 ] und fim [ 5 ] sowie Bibliotheken wie GLUT , SDL (Version 1.2), GTK und Qt , die alle direkt auf den Framebuffer zugreifen können [ 6 ] . Dieser Anwendungsfall ist besonders in eingebetteten Systemen verbreitet .

DirectFB2 ist ein weiteres Projekt, das ein Framework zur Hardwarebeschleunigung des Linux-Framebuffers bereitstellen soll.

Außerdem gab es ein im Kernel-Bereich implementiertes Fenstersystem namens FramebufferUI (fbui), das eine einfache zweidimensionale Fensterdarstellung mit sehr geringem Speicherverbrauch ermöglichte. [ 7 ]

Geschichte

Linux verfügt seit Kernel 2.1.109 über generische Framebuffer-Unterstützung. [ 8 ]

Ursprünglich wurde es implementiert, um dem Kernel die Emulation einer Textkonsole auf Systemen wie dem Apple Macintosh zu ermöglichen , die keine Textmodusanzeige besitzen , und wurde später auf die IBM PC-kompatible Plattform erweitert.

Siehe auch

Referenzen