Followings are the businesswide advantage of DirectFB in embedded Linux systems.
We can accommodate 3rd party applications.
- 3rd party Linux solutions
- Other non-standard graphic libraries require additional job to port 3rd party Linux solutions over them.
- Since most of the 3rd party Linux solutions support DirectFB (ex. web browser, flash player, etc.), we can easily port 3rd party Linux solutions over DirectFB.
- 3D applications
- Most of the 3D applications run on OpenGL ES on embedded systems.
DirectFB provides DirectGL wrapping layer for OpenGLES -> OpenGL ES can be easily ported if DirectFB is used.
- Game applications
- Most of the game applications in Linux are running on SDL.
- SDL is already ported over DirectFB, so we can easily port various Linux games.
- Open source applications
- Most open source applications have dependency on high-level widget libraries like X11, Gtk or Qt.
- These high-level widget libraries can be easily ported over DirectFB. (X11, Gtk, Qt, Cairo, Gnome, ParaGUI, wxWidget, ...)
- However, since most of these widget libraries are external projects, we cannot guarantee the maturity and stability of these librararies. If you want to utilize these project asset, you need to verify their functional coverage and compatibility by yourself before use.
We can fully use hardware graphic acceleration.
- Why do we need to use hardware graphic acceleration for embedded systems?
- Many chipsets used in embedded systems have graphic acceleration feature.
- We can implement advanced UI effects. (ex. slideshow effect for photo viewer, animated UI effect, ...)
- Why do we have to use DirectFB to make use of hardware acceleration?
- DirectFB was initially designed with hardware acceleration support in mind.
- Enabling hardware acceleration for DirectFB is rather easier than other graphic libraries (e.x. Microwindows)
- If you have dedicated gfxdriver that utilize built-in accelerator capability, DirectFB automatically use these engine. So acceleration depends on how gfxdriver designed to elicit graphics engine power.
Support of multi-process GUI applications
- Why do we need multi-process software architecture?
- Many embedded systems adopt one-process, multi-threaded software architecture.
- The threads in one-process architecture share the same memory space. A bug in one thread can generate problem in another thread making debugging more difficult.
- Advantage of DirectFB
- DirectFB provided Fusion layer for multi-process GUI application support.
- Windows created by difference process run smoothly over DirectFB.
De facto standard graphic library for embedded Linux
- DirectFB is a de facto standard Linux graphic library.
- DirectFB is being actively updated by open source developers and major chipset vendors.
- Why do we have to use standard graphic library?
- Many applications and middleware support DirectFB.
- When we have a problem, we can get technical support from community.
- New features are added quickly.
Useful links
Introduction to DirectFB: http://tree.celinuxforum.org/CelfPubWiki/WhatDirectFB
Tutorial material in ELC-E 2007 presentation, "Writing DirectFB gfxdriver For Your Embedded System": http://tree.celinuxforum.org/CelfPubWiki/ELCEurope2007Presentations
