Difference between revisions of "DirectFB"

From ArchWiki
Jump to: navigation, search
Line 10: Line 10:
 
DirectFB's frameworks for building apps on top of it is somewhat weak and needs work. 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. Disko however, that can use DirectFB or even fbdev directly, may help rectify this situation.
 
DirectFB's frameworks for building apps on top of it is somewhat weak and needs work. 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. Disko however, that can use DirectFB or even fbdev directly, may help rectify this situation.
  
DirectFB 2.0: Universal Framework Support
+
DirectFB 2.0: Universal Framework Support.
 
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.  
 
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
 
see http://directfb.org/wiki/index.php/DirectFB_2.0:_Universal_Framework_Support

Revision as of 03:22, 1 April 2012

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's frameworks for building apps on top of it is somewhat weak and needs work. 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. Disko however, that can use DirectFB or even fbdev directly, may help rectify this situation.

DirectFB 2.0: Universal Framework Support. 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


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