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 . Linux kernel has generic framebuffer support since 2.1.107 kernel.
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 GGI , SDL , GTK+ and Qt Extended can use the framebuffer immediately, avoiding the overhead of an X 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.