This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|

Theframebuffer subsystem in theLinux kernelfbdev is used to showgraphics on acomputer monitor, typically on thesystem console.[1]
It was designed as a hardware-independentAPI to giveuser space software access to theframebuffer (the part of a computer'svideo memory containing a currentvideo frame) using only theLinux kernel's own basic facilities and itsdevice file system interface, avoiding the need for libraries likeSVGAlib which effectively implemented video drivers in user space.
In most applications, fbdev has been superseded by the LinuxDirect Rendering Manager (DRM) subsystem, but as of 2022, severaldrivers provide both DRM and fbdev APIs for backwards compatibility with software that has not been updated to use the DRM system, and there are still fbdev drivers for older (mostly embedded) hardware that does not have a DRM driver.[2]
There are three applications of the Linux framebuffer:
Examples of the third application include Linux programs such asMPlayer,links2,NetSurf,w3m, fbff,[3] fbida,[4] and fim,[5] and libraries such asGLUT,SDL (version 1.2),GTK, andQt, which can all use the framebuffer directly.[6] This use case is particularly popular inembedded systems.
DirectFB2 is another project aimed at providing a framework for hardware acceleration of the Linux framebuffer.
There was also a windowing system called FramebufferUI (fbui) implemented in kernel space that provided a basic two-dimensional windowing experience with very little memory use.[7]
Linux has had generic framebuffer support since the 2.1.109 kernel.[8]
It was originally implemented to allow the kernel to emulate a text console on systems such as theApple Macintosh that do not have atext-mode display, and was later expanded to theIBM PC compatible platform.