FrameBuffer UI

From Wikipedia, the free encyclopedia

FBUI (FrameBuffer UI) is an in-kernel windowing system for Linux that sits on top of the framebuffer subsystem. Unlike the X Window System, FBUI comes at very low cost: the entire subsystem is about 50 kilobytes in size. FBUI supports features that people expect of modern windowing systems, such as moveable overlapping windows, multiple windows per application, events and common drawing functions, as well as windows on every virtual console. Graphics operations are executed on a first-come, first-served basis inside the kernel, and there is no server that queues requests.

Included with FBUI is libfbui, which provides abstractions for windows, events, images, fonts, 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.

FBUI, being only 50 kilobytes, offers solid proof that a windowing system need not be several megabytes in size, as is the case with X Windows.

FBUI is primarily intended to be a 2D graphics system, although it does include a triangle-fill routine.

[edit] Benefits

Benefits to putting a windowing system inside the kernel include:

  • It prevents the windowing system (GUI) from becoming bloatware because kernel resources are supposed to be limited.
  • It simplifies the interface to the graphics subsystem for applications to a small number of ioctl calls, whereas under X it involves pipes and/or shared memory.
  • In-kernel graphics can be used for a non-passive graphical startup, to alleviate the awkward switch from text mode to graphics mode under Linux.
  • In-kernel graphics could permit moving the current Linux console code out of the kernel.
  • FBUI could in future provide access to the entirety of graphics-card memory, which normally cannot be accessed from userspace.

[edit] External links