<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d23884446\x26blogName\x3dJust+Another+Tech+Blog\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dSILVER\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://justanothertechblog.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://justanothertechblog.blogspot.com/\x26vt\x3d-484221019928432923', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe", messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { 'blogger-ping': function() {} } }); } }); </script>

Just Another Tech Blog

Anything and everything having to do with technology, computers, science, and most of all... Linux! The documentation of my Linux endeavor.



Framebuffer UI (fbui)

Saturday, March 10, 2007

FBUI, or FrameBufferUI, is a small, in-kernel graphical user interface for Linux.

A summary of its key features:

  • It is very small, about 50kB.
  • It is inside the Linux kernel, which places a limit on GUI bloat.
  • It permits multiple programs to share the framebuffer by letting each have graphical windows.
  • Each program may have multiple windows.
  • Windows may overlap, and be moved, resized, raised, lowered etc.
  • There can be windows on each virtual console.
  • Program interaction with FBUI is via a small set of system calls (ioctls).
  • Drawing primitives now support transparency.
  • It includes a small library libfbui to make using FBUI easier, and it includes an image-manipulation library and a font library.
fbui provides numerous advantages in comparison to an x server:
  • Eliminates GUI bloat, and minimizes the interface to the simple and elegant ioctl interface.
  • You can have a GUI right from boot time, as the Enhanced Functionality module demonstrates with its simple line-drawing pattern: As soon as the penguin appears, you have EF graphics appearing.
  • FBUI could be improved so as to entirely replace the framebuffer device and framebuffer console so that you could never deal with any of that.
  • FBUI could provide the basis for a completely graphical startup à la Macintosh.
Quite impressive for something that fits in about 50kB of kernel space. It seems this would be perfect for people running lightweight servers, as often a gui is just a nice thing to have :) Besides that, the concept of producing an in-kernel GUI has been brilliantly accomplished, in contrast to Microsoft's attempt at it which ended in utter failure.

Check out the fbui homepage.
posted by linnerd40, Saturday, March 10, 2007


0 Comments:

Add a comment