El framebuffer de Linux ( fbdev ) es un subsistema de Linux utilizado para mostrar gráficos en un monitor de computadora , generalmente en la consola del sistema . [1]
Fue diseñado como una API independiente del hardware para brindar acceso al software del espacio de usuario al búfer de cuadros (la parte de la memoria de video de una computadora que contiene un cuadro de video actual ) utilizando solo las instalaciones básicas del kernel de Linux y su interfaz de sistema de archivos de dispositivo , evitando la necesidad de bibliotecas como SVGAlib que implementan efectivamente controladores de video en el espacio de usuario .
En la mayoría de las aplicaciones, fbdev ha sido reemplazado por el subsistema Linux Direct Rendering Manager , pero a partir de 2022, varios controladores proporcionan API DRM y fbdev para compatibilidad con versiones anteriores de software que no se ha actualizado para usar el sistema DRM, y todavía hay controladores fbdev para hardware más antiguo (principalmente integrado) que no tiene un controlador DRM. [2]
Hay tres aplicaciones del framebuffer de Linux:
Los ejemplos de la tercera aplicación incluyen programas Linux como MPlayer , links2 , NetSurf , w3m , fbff, [3] fbida, [4] y fim, [5] y bibliotecas como GLUT , SDL (versión 1.2), GTK y Qt , que pueden usar el framebuffer directamente. [6] Este caso de uso es particularmente popular en sistemas integrados .
El ahora desaparecido [7] DirectFB es otro proyecto cuyo objetivo era proporcionar un marco para la aceleración de hardware del framebuffer de Linux.
También había un sistema de ventanas llamado FramebufferUI (fbui) implementado en el espacio del núcleo que proporcionaba una experiencia básica de ventanas 2D con muy poco uso de memoria. [8]
Linux ha tenido soporte de framebuffer genérico desde el kernel 2.1.109. [9]
Se implementó originalmente para permitir que el kernel emulara una consola de texto en sistemas como Apple Macintosh que no tienen una pantalla de modo texto , y luego se expandió a la plataforma compatible con IBM PC .