El framebuffer de Linux ( fbdev ) es un subsistema de Linux utilizado para mostrar gráficos en el monitor de una computadora , generalmente en la consola del sistema . [1]
Fue diseñado como una API independiente del hardware para dar acceso al software del espacio del usuario al framebuffer (la parte de la memoria de video de una computadora que contiene un cuadro de video actual ) usando solo las funciones básicas del kernel de Linux y la interfaz del sistema de archivos de su dispositivo , evitando la necesidad de bibliotecas como SVGAlib que implementaran efectivamente controladores de video en el espacio del 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 software que no se ha actualizado para usar el sistema DRM, y todavía hay fbdev. controladores para hardware antiguo (en su mayoría integrado) que no tiene un controlador DRM. [2]
Hay tres aplicaciones del framebuffer de Linux:
Ejemplos de la tercera aplicación incluyen programas de 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. , todos los cuales pueden usar el framebuffer directamente. [6] Este caso de uso es particularmente popular en sistemas integrados .
El ahora desaparecido [7] DirectFB es otro proyecto destinado a 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 kernel que proporcionaba una experiencia básica de ventanas 2D con muy poco uso de memoria. [8]
Linux ha tenido soporte genérico para framebuffer desde el kernel 2.1.109. [9]
Originalmente se implementó para permitir que el kernel emulara una consola de texto en sistemas como Apple Macintosh que no tienen una pantalla en modo texto , y luego se expandió a la plataforma compatible con IBM PC .