- FrameBuffer UI
FrameBuffer UI (FBUI) is an in-kernel
windowing system forLinux (kernel version 2.6.9 only, currently outdated) that sits on top of theframebuffer subsystem. Unlike theX Window System , FBUI consumes very little memory: the entire subsystem is about 50kilobyte s. FBUI supports features expected 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 simpleMPEG2 player.FBUI, being only 50 kilobytes, offers solid proof that a windowing system need not be several
megabyte s in size, as is the case withX Window System .FBUI is primarily intended to be a 2D graphics system, although it does include a triangle-fill routine.
Benefits
Benefits to putting a windowing system inside the kernel include:
* It prevents the windowing system (GUI) from becomingbloatware because kernel resources are supposed to be limited.
* It simplifies the interface to the graphics subsystem for applications to a small number ofioctl 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 whole graphics-card memory, which normally cannot be accessed from userspace.Limitations
FBUI currently does not support:
* The concept of nested windows
* Unlimited event queues
* Kernels other than 2.6.9Regarding that last point: After 2.6.9, bugs appeared in the frame buffer device (
fbdev ) that prevented the use of FBUI. The 2.6.23 frame buffer device layer or virtual terminal also have significant problems, but, it is hoped that these problems will be resolved soon.External links
* [http://home.comcast.net/~fbui FBUI Homepage]
* [http://home.comcast.net/~fbui/fwe.html Frugal Windowing Environment (FWE)] : a user-space variant of FBUI.
* [http://freshmeat.net/projects/fbui/ Freshmeat.net place for FBUI] : allows subscribing to get updates.
* [http://sourceforge.net/projects/linux-fbdev/ Linux Framebuffer Project Page]
Wikimedia Foundation. 2010.