FrameBuffer UI

From Encoresoup - The Ultimate Guide to Free/Open Source Software

Jump to: navigation, search
This article contains content from the Wikipedia article:
FrameBuffer UI
history contributors
FrameBuffer UI (FBUI) is an in-kernel windowing system for Linux (kernel version 2.6.9 only, currently outdated) that sits on top of the framebuffer subsystem. Unlike the X Window System, FBUI consumes very little memory: the entire subsystem is about 50 kilobytes. 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 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 Window System.

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 whole graphics-card memory, which normally cannot be accessed from userspace.

[edit] Limitations

FBUI currently does not support:

  • The concept of nested windows
  • Unlimited event queues
  • Kernels other than 2.6.9

Regarding 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.

[edit] External links

Personal tools

USB Squid - Flexible 4 Port USB Hub [ThinkGeek]Just For Fun [Amazon]Linksys NSLU2 Storage Link for USB 2.0 Disk Drives [Amazon]