DirectFB (Direct Frame Buffer), now continued as DirectFB2, is a software library with a small memory footprint that provides graphics acceleration, input device handling and abstraction layer, and integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer without requiring any kernel modifications. DirectFB is free and open-source software subject to the terms of the GNU Lesser General Public License (LGPL).
via Wikipedia infobox
Using SDL (without acceleration support), DirectFB also supports the following operating systems: FreeBSD (last tested: DirectFB 0.9.21 on FreeBSD 5.2) NetBSD (tested on NetBSD 1.6) OpenBSD (tested on OpenBSD 3.2) (If you have problems, try ./configure --disable-mmx) We do not have the resources to ensure that every release of DirectFB works on all supported platforms. If you are a user of one of the operating system listed above, and have the time to test the CVS or GIT version regularly, your help is greatly appreciated. FBDev Linux kernel 2.2.x or newer with working frame buffer device (check /proc/fb) for the fbdev system. X11 libX11 (X11 client library) for the X11 system (libx11-dev and libxext-dev packages). The multi application core also requires , see the section "Running multiple DirectFB applications" for more details. The build of the image and font providers can be disabled but we strongly suggest that you don't do this since the code examples and a lot of DirectFB applications depend on the functionality provided by them. The libmpeg3 video provider requires the libmpeg3 library which is not commonly installed. We provide this package on our web-site at The avifile and flash video providers that used to be shipped with DirectFB have been moved to the DirectFB-extra package. We suggest you also install pkg-config available from It will help you to compile applications based on DirectFB. Using the single application core you always need access to /dev/tty0, /dev/fb0 and the mouse device (/dev/psaux, /dev/mouse). You can either run all DirectFB applications as root or allow users to access these devices. A reasonable way to do this is to add users to the group tty (or some other group) and allow this group to read and write the files in /dev: If you are using the multi application core, only the master process needs access to all of these devices. Additional processes (slaves) just need access to /dev/fb0 and: Note that the master creates a shared memory file, probably in '/dev/shm/fusion.0'. It's read/writeable for anyone matching the master process' user or group. Some applications from the DirectFB-examples package have additional requirements: A video card supported by video4linux for df video. A joystick for df joystick. With the default build of the DirectFB library, only one DirectFB application may be running. However you have the option to use the multi application core of DirectFB which allows multiple DirectFB applications to run at the same time within a session. DirectFB applications communicate through a layer we call "Fusion". This layer was previously implemented completely in user space using semaphores and message queues. But since 0.9.15 the Fusion Kernel Device is required which implements critical parts of Fusion and thus lead to better performance and decent stability. To install this kernel module (only available for Linux yet), find the linux-fusion module in our CVS or GIT repository or on the DirectFB website. For DirectFB 1.4.x releases you should use linux-fusion 8.1.1 or newer. Make sure your Linux kernel supports tmpfs. This is explained in the kernel sources in Documentation/filesystems/tmpfs.txt. Mount a tmpfs filesystem as /dev/shm: Optionally a mount point can be specified via the "tmpfs" option, see directfbrc(5). The option has to be the same for all processes. A good way to test the multi-application core is to install the lite toolkit and DFBTerm, a DirectFB terminal (both available in the DirectFB CVS/GIT repository). You can then start DirectFB applications from dfbterm. To take full advantage of hardware acceleration, a Matrox G200/G400/G450/G550 graphics card is recommend for this version of DirectFB. The drivers for ATI128, Voodoo 3/4/5/Banshee, NeoMagic and S3 Savage cards included with this release are work in progress and only yet support a subset of the possible accelerations. Debugging and especially stack trace support are a performance impact. It
~2 min read
DirectFB (Direct Frame Buffer), now continued as DirectFB2, is a software library with a small memory footprint that provides graphics acceleration, input device handling and abstraction layer, and integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer without requiring any kernel modifications. DirectFB is free and open-source software subject to the terms of the GNU Lesser General Public License (LGPL).
The library allows developers an alternative to a full X Window System (X11) server used in Unix-like operating systems. DirectFB allows applications to talk directly to video hardware through a direct API, speeding up and simplifying graphic operations.
Excerpt from the source-code README · 17,062 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).