Linux framebuffer
|
The Linux framebuffer (fbdev) is a graphic hardware-independent abstraction layer to show graphics on a console without relying on system-specific libraries such as svgalib or the heavy overhead of the X Window System.
It was originally implemented to allow the Linux kernel to emulate a text console on systems such as the Apple Macintosh that do not have a text-mode display, and was later expanded to Linux's originally-supported IBM PC compatible platform, where it became popular largely for the ability to show the Tux logo on boot up. More significantly, it serves as a way of displaying Unicode characters on the Linux console. Under the non-framebuffer, VGA display of the PC, comprehensive Unicode support was impossible, for VGA console fonts were limited to 512 characters.
Nowadays several Linux programs such as MPlayer, and libraries such as SDL or GTK can use the framebuffer immediately, avoiding the overhead of the XFree86 server. This is particularly popular in embedded systems.
The Linux framebuffer has long suffered from its poor performance, but there is now a library DirectFB which provides a framework for hardware acceleration.
FBUI (FrameBuffer UI) provides in-kernel windowing capability for the framebuffer subsystem at very low cost: the entire subsystem is about 32 kilobytes in size and permits windows on every virtual console. Included with FBUI is libfbui which provides abstractions for windows, events, etc., as well as quite a few sample programs such as load monitor, clock, calculator, scribble pad, image viewer, window managers, and a simple MPEG2 player.
External links
- Sourceforge Project Page (http://sourceforge.net/projects/linux-fbdev/)
- linux-fbdev Homepage (http://www.linux-fbdev.org/)
- Framebuffer HOWTO (http://tldp.org/HOWTO/Framebuffer-HOWTO.html)
- FBUI http://home.comcast.net/~plinius/fbui.html
- http://www.xfree86.org/4.3.0/fbdev.4.html