Fbdev
# Fbdev

El Fbdev o framebuffer de Linux es una capa de la abstracción de hardware independiente para mostrar gráficos en una consola sin bibliotecas específicas del sistema, tales como SVGALib o la salida del X Window System (sistema de ventanas X).

Fue implementado originalmente para permitir al núcleo Linux emular una consola de texto en los sistemas como el Apple Macintosh, los cuales no tienen un despliegue del modo texto. Se expandió más adelante a la plataforma Compatible IBM PC, originalmente soportado, donde llegó a ser popular en gran parte por la capacidad de mostrar el logo de Tux en el arranque (como Knoppix). Más significativamente, sirve como forma de mostrar los caracteres Unicode en la consola de Linux. Sin framebuffer, el soporte completo de Unicode era imposible, ya que las fuentes de la consola VGA fueron limitadas a 512 caracteres.

Hoy en día varios programas de Linux tales como MPlayer, y bibliotecas como GGI, SDL, GTK+ o Qt pueden utilizar el framebuffer directamente. De este modo, prescinden de un servidor X. Esto es particularmente popular en sistemas embebidos.

El framebuffer de Linux presenta limitaciones de rendimiento. En respuesta a ello, ahora existe una biblioteca DirectFB que brinda un sistema para la aceleración de hardware.

FBUI (FrameBuffer UI) proporciona en kernel el sistema de ventanas (GUI) para el subsistema del framebuffer con muy bajos requerimientos: el subsistema entero es de cerca de 50 kilobytes de tamaño. Permite que varios programas compartan el framebuffer simultáneamente, traslapar ventanas, habilitar ventanas múltiples por cada programa, y permite ventanas en cada consola virtual.

Se incluye con FBUI el libfbui que proporciona las abstracciones para las ventanas, eventos, etc. Asimismo, incluye varios programas como monitor de carga, reloj, calculadora, editor de texto, visualizador de imagen, manejadores de ventana, y un simple reproductor MPEG2. FBUI incluye un código optimizado para el controlador framebuffer de VESA.

