Difference between revisions of "DirectFB"

From ArchWiki
Jump to: navigation, search
(DirectFB on ArchLinux)
 
Line 1: Line 1:
== DirectFB ==
+
== DirectFB Overview ==
  
 
DirectFB stands for Direct Frame Buffer. It is a software library for GNU/Linux/Unix-based operating systems 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.[2] DirectFB is free software licensed under the terms of the GNU Lesser General Public License (LGPL).
 
DirectFB stands for Direct Frame Buffer. It is a software library for GNU/Linux/Unix-based operating systems 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.[2] DirectFB is free software licensed under the terms of the GNU Lesser General Public License (LGPL).
Line 18: Line 18:
  
  
Installation
+
== Installation ==
  
 
Build Requirements
 
Build Requirements
Line 63: Line 63:
  
 
You can now also build and install DirectFB-examples which contain some example applications and some benchmarks.
 
You can now also build and install DirectFB-examples which contain some example applications and some benchmarks.
 +
 +
== Using ==

Revision as of 03:17, 1 April 2012

DirectFB Overview

DirectFB stands for Direct Frame Buffer. It is a software library for GNU/Linux/Unix-based operating systems 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.[2] DirectFB is free software licensed under the terms of the GNU Lesser General Public License (LGPL).

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 along with linux-fusion which allows multiple DirectFB applications to run at the same time within a session.

DirectFB somewhat lacks frameworks for building apps on top of it. It lacks of a real Window Manager (WM). The recently released WM SaWMan and its "testman" could be a good starting point, although it's not fully functional. see http://directfb.org/wiki/index.php/The_DirectFB_Desktop.

DirectFB 2.0: Universal Framework Support (future work/direction) The main goal of the new universal framework is to make the core of DirectFB an api agnostic library. Sort of a OS kernel for the gpu. To reach this goal some code will be moved out of the core into modules and the internal core api will be exposed as a system programming api for library writers. see http://directfb.org/wiki/index.php/DirectFB_2.0:_Universal_Framework_Support

disko (this shows a lot of promise and can use directfb or fbdev directly)


Installation

Build Requirements


  Mandatory are
    - libc
    - libpthread
    - libm
    - libdl
  For regenerating autofoo (./autogen.sh or autoreconf)
    - autoconf
    - automake
    - libtool
    - pkg-config
  Optionally, depending on the configuration you want:
  FBDev (when using the kernel frame buffer backend (somewhat the goal of at least the initial directfb) the fbdev install/setup needs explaining, eg: /dev/fb0 .. )
    - Linux kernel 2.2.x or newer with working frame buffer device
      (check /proc/fb) for the fbdev system.
  SDL 
    - libSDL (Simple Direct Media Layer) for the sdl system.
  X11
    - libX11 (X11 client library) for the X11 system (libx11-dev and libxext-dev packages).
  The following libraries are optional, but important (Debian package names):
  Fonts
    - libfreetype6-dev for TrueType and other fonts
  Images
    - libjpeg-dev for Joint Picture Expert Group images
    - libpng-dev for Portable Network Graphics
  Extra
    - zlib1g-dev for compressed screenshot support (also needed by libpng)


If you are planning to run multiple DirectFB applications simultaneously, you need to build the linux-fusion kernel module.

You can now also build and install DirectFB-examples which contain some example applications and some benchmarks.

Using