Framebuffer Linux

Un article de Wikipédia, l'encyclopédie libre.
démarrage de Knoppix avec framebuffer

Le framebuffer Linux (fbdev) est une couche d'abstraction graphique indépendante du matériel pour afficher des éléments graphiques dans une console sans avoir besoin de bibliothèques spécifiques à un système comme SVGALib ou un composant très lourd comme le système de fenêtrage X.

Il a été originellement conçu pour permettre au noyau Linux d'émuler un affichage console-texte sur des systèmes comme le Macintosh d'Apple qui ne possèdent pas d'affichage en mode texte, et il a été par la suite transposé vers les plates-formes compatibles PC IBM, où il est devenu populaire en grande partie pour sa capacité à afficher le logo Tux lors du démarrage. Mais de manière plus significative, il offre un moyen d'afficher des caractères Unicode dans une console Linux. Sous l'affichage VGA non-framebuffer des PC le support d'Unicode était impossible avec les polices de caractère VGA limitées à 512 caractères.

De nos jours, plusieurs programmes Linux comme MPlayer, Links, NetSurf, fbff[1], fbida[2] et fim[3], et des bibliothèques telles que GLUT, SDL, GTK et Qt peuvent utiliser le framebuffer directement[4], évitant ainsi la lourdeur des échanges avec le Serveur X. Ceci est particulièrement populaire dans les systèmes embarqués.

Le framebuffer Linux a longtemps souffert de ses pauvres performances, mais il y a maintenant une bibliothèque DirectFB qui fournit un Framework pour l'accélération matérielle.

FBUI (Framebuffer UI)[5] fournit une interface graphique intégrée au noyau pour le système framebuffer pour un coût très faible : l'intégralité de ce sous-système ne fait qu'environ 50 Ko. Il permet à plusieurs programmes de partager le framebuffer simultanément ; il permet le déplacement de fenêtres se chevauchant ; chaque programme peut posséder plusieurs fenêtres ; et il permet de placer les fenêtres dans n'importe quelle console virtuelle. La bibliothèque libfbui est distribuée avec FBUI et fournit une abstraction pour les fenêtres, les évènements, etc., ainsi que plusieurs programmes d'exemples comme un moniteur de charge système, une horloge, une calculatrice, un bloc de dessin, un afficheur d'images, un gestionnaire de fenêtres, et un lecteur MPEG2 simple. FBUI inclut aussi un code optimisé pour le driver framebuffer VESA.

Notes et références[modifier | modifier le code]

  1. fbff sur GitHub
  2. (en) Gerd Hoffmann, « Fbida », sur kraxel.org, (consulté le ).
  3. « FIM : fbi improved (lightweight customizable image viewer) home page », sur nongnu.org (consulté le ).
  4. projet HiGFXback (History of graphics backends) avec le framebuffer Linux pour backend graphique sur GitHub
  5. Framebuffer UI sur GitHub

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]