Knoppix booting on the framebuffer

The framebuffer subsystem in the Linux kernel fbdev is used to show graphics on a computer monitor, typically on the system console.[1]

It was designed as a hardware-independent API to give user space software access to the framebuffer (the part of a computer's video memory containing a current video frame) using only the Linux kernel's own basic facilities and its device file system interface, avoiding the need for libraries like SVGAlib which effectively implemented video drivers in user space.

In most applications, fbdev has been superseded by the Linux Direct Rendering Manager (DRM) subsystem, but as of 2022, several drivers 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]

Applications

edit

There are three applications of the Linux framebuffer:

  • An implementation of text Linux console that doesn't use hardware text mode (useful when that mode is unavailable, or to overcome its restrictions on glyph size, number of code points, etc.). One popular aspect of this is the ability to have console show the Tux logo at boot up.
  • A graphic output method for a display server, independent of video adapter hardware and its drivers.
  • Graphic programs avoiding the overhead of the X Window System.

Examples of the third application include Linux programs such as MPlayer, links2, NetSurf, w3m, fbff,[3] fbida,[4] and fim,[5] and libraries such as GLUT, SDL (version 1.2), GTK, and Qt, which can all use the framebuffer directly.[6] This use case is particularly popular in embedded 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]

History

edit

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 the Apple Macintosh that do not have a text-mode display, and was later expanded to the IBM PC compatible platform.

See also

edit

References

edit
  1. ^ The Frame Buffer Device, Linux Kernel Documentation
  2. ^ "Developer Steps up Wanting to Maintain Linux's FBDEV Subsystem".
  3. ^ fbff media player repository, GitHub
  4. ^ fbi/fbida image viewer homepage
  5. ^ FIM (Fbi IMproved) image viewer homepage
  6. ^ HiGFXback (History of graphics backends) project with the Linux Framebuffer graphics backend, GitHub
  7. ^ Framebuffer UI (fbui) in-kernel Linux windowing system, GitHub
  8. ^ Buell, Alex (5 August 2010). "Framebuffer HOWTO". tldp.org. Archived from the original on 10 December 2023 – via Internet Archive.
edit

📚 Artikel Terkait di Wikipedia

Linux console

are two main implementations: framebuffer and text mode. The framebuffer implementation is the default in modern Linux distributions, and together with

List of display servers

This is a list of display servers based on X11, Wayland, Linux framebuffer and other systems. Cygwin/X KDrive Low Bandwidth X MacX Mir (display server)

Framebuffer

A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is

Linux kernel version history

Framebuffer Drivers Sent To DRM-Next For Linux 7.1". www.phoronix.com. Retrieved 31 May 2026. "Intel QAT Zstd, QAT Gen6 Improvements Merged For Linux

Direct Rendering Manager

decoding, as well as GPGPU computing. The Linux kernel already had an API called fbdev, used to manage the framebuffer of a graphics adapter, but it couldn't

Linux kernel

The Linux kernel is a free and open-source Unix-like kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds

DirectFB

for translucent windows and multiple display layers on top of the Linux framebuffer without requiring any kernel modifications. DirectFB is free and open-source

Rust for Linux

Rust for Linux is an ongoing project started in 2020 to add Rust as a programming language that can be used within the Linux kernel software, which has