DirectFB - Home of the pragmatist


News

2009-12-08   Release festival: DirectFB 1.2.10, DirectFB 1.4.3, SaWMan 1.4.3

The ongoing development and bug fixing on the main branch has now been nicely packaged into DirectFB 1.4.3 and SaWMan 1.4.3. To keep the link with the 1.2.x branch, DirectFB 1.2.10 has been released as well, with minimal changes to cooperate with SaWMan 1.4.3.

The big changes in 1.4.3 are the API changes: new pixelformats are added, a synchronisation mechanism is added so you can synchronise among windows without a backbuffer, and IDirectFBSurface::BatchBlit2 is added which supports hardware with double input - single output blitters; even automatically in conjunction with the window composer of SaWMan.

For detailed info click on the news title

The major features of DirectFB 1.4.3/SaWMan 1.4.3 are listed below.

DirectFB 1.4.3 API changes

  • new pixelformats: YUV444P, AVYU, VYU, ARGB8565
  • new IDirectFBWindow::BeginUpdates() and DSFLIP_ONCE to sync updates without double buffer space
  • new DWEF_REPEAT flag to signal key repeat
  • IDirectFBSurface: Added DSBLIT_FLIP_HORIZONTAL and DSBLIT_FLIP_VERTICAL
  • added IDirectFBSurface::BatchBlit2 which supports hardware with double input - single output blitters

internal DirectFB 1.4.3 changes

  • shirmish: for single app, make skirmish a pointer so skirmishes can be copied
  • Rearrange blend/XOR position for drawing and blitting
  • sh772x: support for the new MS7724
  • X11: support for 3 layers, to aid PC debugging

SaWMan 1.4.3

  • support for the added DirectFB 1.4.3 features
  • optimized window composition, automatically using BatchBlit2 if available
  • optimized window composition for premultiplied alpha windows (use copy at bottom)
  • avoiding a deadlock situation by having layer context locks refer to the sawman lock

and several other bugfixes.

DirectFB 1.2.10 has been bumped with DSFLIP_ONCE, DWEF_REPEAT and dfb_updates_deinit(), and (as an additional bonus) does not break or extend the 1.2.9 ABI. Note that SaWMan will not sport the features that rely on DirectFB 1.4.3 as listed above.

You can find the releases in the "Core" and "Extras" tabs on the "Downloads" page.

niels

2009-11-27   Commercial Support

Are you looking for commercial support? We are offering professional services around DirectFB and more. Click here to read more.

dok

2009-11-23   jointSPACE - Develop for your Philips TV

jointSPACE is an Open Source project that will allow every user/supplier to develop applications for Philips TV displays.

jointSPACE is based on the SPACE architecture which was developed by Philips to ease internal development.
At a certain point of time, Philips decided to open its architecture to allow everyone developing code for the TV target.

dok

2009-08-27   SaWMan 1.4.2: cooperation release - works with DirectFB 1.2.9 and 1.4.2

This release adds (again) support for both DirectFB 1.2.x and 1.4.x branches. API changes to SaWMan will be reflected in the 1.2.x branch, while DirectFB development will continue in the DirectFB 1.4.x branch.

For detailed info click on the news title

features of this release

  • allow the window config value "color" to colorize the window
  • add application_id to SaWMan, and app ID changed callback
  • fix to make SendWindowEvent() work
  • implement missing SWMCF_... in ISaWManManager::SetWindowConfig(), except KEY_SELECTION, ASSOCIATION and CWCF_STACKING

Please note that you must have at least DirectFB 1.2.9 or 1.4.2 for this release to compile and work.

You can find the release in the "Extras" tab on the "Downloads" page, or click here.

niels

2009-08-27   DirectFB 1.4.2: PXA3xxx driver, window gets application_id, updated font API.

Time for DirectFB 1.4.2. The three main changes for this release are a changed font API for colors/outline, the addition of an application_id to a window, and the new PXA3xxx graphics driver. The application_id is a free-to-use parameter that, on change, results in a WM callback. The font API allows DirectFB to take advantage of font modules that offer multiple colors and font outline.

For detailed info click on the news title

The full list of changes is:

API changes

  • Add application_id to a window with IDirectFBWindow_Set/GetApplicationID. This is a free-to-use parameter that, on change, results in a WM callback.
  • allow the window config value "color" to colorize the window
  • Fonts/Colors: API support for colors and multiple layers in a glyph implementing outlines.
    • Added DFBColorID and DCID_PRIMARY, DCID_OUTLINE
    • Added IDirectFBSurface::SetColors() that takes an array of IDs and an array of DFBColor
    • Added DFFA_OUTLINED for loading a font with support for outlines
    • Added DFDESC_OUTLINE_WIDTH and DFDESC_OUTLINE_OPACITY
    • Added outline_width and outline_opacity to DFBFontDescription
    • Added DSTF_OUTLINE that activates the outline per DrawString()

core

  • Simplified font rendering in core using the current state instead of its own

drivers

  • fbdev: fixed RGB fields sizes in dfb_fbdev_set_gamma_ramp
  • pxa3xx: new driver for the 2D graphics accelerator found on PXA3xx processors. Hardware acceleration supported for line drawing, blending/blitting, rectangle and triangle filling operations and anti-aliased text.

gfx

  • Bugs in pixel format convertion fixed (primarily 16 bit formats)
  • converting to RGB32 sets alpha to ff
  • buffer unlocking fixes in error paths
  • add support for the DESTINATION Porter/Duff rule

You can find the release in the "Core" tab on the "Downloads" page, or click here.

niels

2009-08-27   DirectFB 1.2.9: more SaWMan support, bugfixes

Several bugfixes that already flowed into the 1.4.x branch are now backported. The main reason for shipping 1.2.9 is support for the 1.4.x SaWMan branch; several API features that are required by SaWMan have been added. DirectFB 1.2.9 is required for SaWMan 1.4.2 and upwards.

For detailed info click on the news title

The major features of this release are listed below.

API changes

  • Add application_id to a window with IDirectFBWindow_Set/GetApplicationID
  • dynamic window association via IDirectFBWindow::SetAssociation()
  • add DWCAPS_COLOR to the window capabilities
  • allow the window config value "color" to colorize the window

configuration

  • add missing include path for builddir != srcdir
  • fixed missing JPEG=yes setting when LIBJPEG is set manually
  • fix so trace will also print static funcs in stack dump

drivers

  • fbdev: fixed RGB fields sizes in dfb_fbdev_set_gamma_ramp
  • fbdev: fix for BGR555
  • input: Implement driver_get_axis_info() in the linux-input driver

core

  • consistently use doubles to calculate the inverse scale factors
  • fix timing problems with vt-switching
  • prevent deadlock when destroying context
  • don't touch the module entry after dlclose() to prevent segfault
  • fix for switching source from surface to surfaceless (video).
  • add support for the DESTINATION Porter/Duff rule

gfx

  • Bugs in pixel format convertion fixed (primarily 16 bit formats)
  • converting to RGB32 sets alpha to ff
  • buffer unlocking fixes in error paths
  • jpeg: plug mem leak on file read error

and several other bugfixes.

You can find the release in the "Core" tab on the "Downloads" page, or click here.

niels

2009-06-27   SaWMan 1.4.1: API extended with query functions

Since the SaWMan 1.4.0 API update, all users of the manager interfaces must stay away from including any internal kitchen of SaWMan. This also restricted the users to the new interface, which proved a bit too tight - we have now added ISaWManManager::GetWindowInfo, GetProcessInfo and IsWindowShowing, to return the flexibility while maintaining a clean API. DirectFB 1.4.1 is required for this release!

For detailed info click on the news title

The major features of this release are:

API clean-up

  • SaWManWindowFlags: now also contain FOCUS and ENTER info (key focus)
  • SaWManWindowInfo: now also contains DFBWindowID and SaWManWindowFlags
  • ISaWManManager_GetWindowInfo: to get basic window info using the handle
  • ISaWManManager_GetProcessInfo: to get process info about the window
  • ISaWManManager_IsWindowShowing: if window is visible and not obscured by other opaque windows
  • remove some internal macros from sawman.h

Other changes

  • add support for DWCAPS_COLOR, solid color windows (no surface)
  • Added layer reconfigure callback to allow override or single window optimizations.
  • Dynamic window association implementation.

Furthermore the evolutionary fixes, small improvements, additional optimizations and added debugging statements.

Please note that you must have DirectFB 1.4.1 for this release to compile and work.

You can find the release in the "Extras" tab on the "Downloads" page, or click here.

niels

2009-06-26   DirectFB 1.4.1: solid-color windows and window association

A new DirectFB release with updated frame buffer system code, bug fixes and some new features: windows can now be dynamically associated to other windows, and support DWCAPS_COLOR: a solid color with no backing store, to save memory if you want a solid colour window (e.g. to make a transparent hole in your layer).

For detailed info click on the news title

The major features of this release are listed below.

fbdev system

  • fix for BGR555
  • removal of old code, addition of debug messages.
  • Check mode switching result in fbdevSetRegion() by reading back var info.
  • Check amount of video memory in fbdevTestRegion() to avoid running over buggy drivers' framebuffer.
  • fix spurious timing problems and lockups when vt-switching.

input

  • allow linux_input to run without an fbdev system

API

  • add resource ID also to window structure in case window has no surface
  • add DWCAPS_COLOR: creates a window with a fixed argb colour but no surface
  • add IDirectFBWindow::SetAssociation(): dynamic window association

configure

  • add #ifdef to direct types to have a possibility to surpress these
  • Allow LIBPNG_LIBS and LIBPNG_CFLAGS to overrule nasty libpng-config usage.
  • Fixed missing JPEG=yes setting in configure when LIBJPEG is set manually.

furthermore the evolutionary fixes, small improvements, additional optimizations and added debugging statements.

You can find the release in the "Core" tab on the "Downloads" page, or click here.

niels

2009-06-16   SaWMan 1.4.0

now with a clean API, and support for 1.2.x and 1.4.x DirectFB branches.

For detailed info click on the news title

SaWMan is the optional window manager of DirectFB that provides support for an external Window Manager Application: a separate program that can monitor and rule all incoming window activities, such as adding, moving, resizing, reconfiguring, etcetera.

The major features of this release are:

  • API clean-up; it is no longer needed to peruse the internal structures of SaWMan.
  • source code compatibility with DirectFB 1.2.x and 1.4.x branches.
  • support for sub windows; subwindows can have focus too.
  • window association possible via DWOP_FOLLOW_BOUNDS.

furthermore the evolutionary fixes, small improvements, additional optimizations and added debugging statements.

You can find the release in the "Extras" tab on the "Downloads" page, or click here.

niels

2009-06-04   DirectFB 1.4.0: Sub windows, rotated windows and layers, surface pool bridge for p2p-transfer

Finally DirectFB 1.4.0 has arrived. The latest 1.3.x branch has been upgraded to 1.4.0: a gradual improvement compared to 1.3.1, containing bugfixes, memory leak plugs and minor small interface tuning.

Major improvements against DirectFB 1.2.8 are:

  • OpenGL based acceleration with a new graphics driver and GLX surface pool in X11 system
  • Rotated layers and windows with 90°, 180° or 270°
  • Sub window support with each having its own buffer (one level only for DirectFB 1.4)...
  • Surface Pool Bridge[tm] technology to speed up transfer between pools

For detailed info click on the news title

Major API changes against 1.2.8:

DirectFB has a limited but refined set of API changes compared to 1.2.8. Most software will run out-of-the-box after a recompile. The major changes are listed here:

  • Functions to rotate windows and layers: IDirectFBDisplayLayer::GetRotation, IDirectFBDisplayLayer::SetRotation and IDirectFBWindow::SetRotation
  • Functions to alter or initialise keymaps: IDirectFBInputDevice::LoadKeymap and IDirectFBInputDevice::SetKeymapEntry
  • DWOP_FOLLOW_BOUNDS: make the bounds of a window follow the parent bounds. Note that this requires the SaWMan window manager to function.
  • DWCAPS_SUBWINDOW: create a subwindow instead of a top-level window.
  • New pixel format: RGBA4444
  • added DFBSurfaceHintFlags to surface creation to optimise e.g. memory allocation.

Improvements against 1.3.1:

General bugfixes, code cleanups and memory leak plugging.

Additionally:

Core

  • fix for possible segfault when unloading non-used input/gfx modules.
  • fbdev: Allow accelerator ID to be overridden by (existing) runtime option.
  • IDirectFBScreen::GetEncoderDescriptions: add enums for NTSC443 and 30Hz + 24Hz
  • font: DFFA_NOBITMAP will inhibit loading bitmaps if we have vector fonts too.

Input

  • input: Implement driver_get_axis_info() in the linux-input driver
  • vt/keyboard: Flush console input when not used; avoids kernel waking up

Gfx

  • add optional dithering when loading images into RGB16 surfaces
  • rotated blitting: more complete support for 16-bit formats
  • sis315: support for XGI Z series chip, STRETCHBLIT, and big endian handling
  • matrox: use of BES guarantees atomic, tear-free triple buffering

Tools

  • directfb-csource: add option to dither RGB16 images

Build Environment

  • add missing include path for builddir != srcdir
  • libtool for modules: use -module instead of -export-dynamic, since we only dlopen.

niels

2009-03-31   DirectFB 1.3.1, prerelease for 1.4.0

Prerelease for 1.4.0. Current development is focussing on DirectFB II, so when the development branch has proven its stability, 1.4.0 can be released. Contains bugfixes, documentation, features, enhancements.

For detailed info click on the news title

Config

  • added 'include' option, to include config files.
  • added config option to override module search dir.
  • read /proc/self/cmdline if DirectFBInit() does not receive argv/argc.
  • added option to override initial screen size.
  • Fix build when srcdir != builddir.

Core

  • Added IDirectFBSurface::Read and ::Write
  • better out-of-memory error handling
  • fixed alpha handling for palette SetEntriesYUV
  • rectified changes to surface policy in case a surface is allocated again, of reallocated
  • fixed memory leak in local "System Memory" pool when deallocating due to IDirectFB::Release
  • fix software blending bug when modifying both source and destination
  • IDirectFBDisplayLayer::SetSourceRectangle for non-scalable surfaces: change dst size too.
  • surfaces: Fixed missing initialization of bridge pointer, crashing when no bridge is available.
  • surfaces: clean-up local pool on 'leave' and 'destroy'
  • gfx: added RGBA4444 support
  • default font: Support premultiplied font formats.

Direct

  • include ARM memcpy routines (big endian only)

Documentation

  • added documentation for blend functions and some desktop-buffer-mode options
  • directfbrc.5: Document triple and windows desktop-buffer-mode options.

Fusion

  • update to use new 'unified' fusion kernel module. When using multi-app, please use fusion 8.1.1 or newer.
  • fixed skirmish wait argument not taken as msec but usec

Gfxsystems

  • matrox: Wrong chroma plane offset was being used with deinterlace blits.
  • omap: Added omapfb.h to release zipfile.
  • SH772x: LCD parameters not obtained via fbdev ioctl
  • SH772x: improved JPEG Encode/decode performance, JPEG fixes, JPU by default disabled due to conflicts
  • SH772x: detection broadened to SH772x revisions
  • unichrome: support for accel stretchblit YUV->RGB for CX700/M/2.

Input

  • Fix possible array overruns
  • added direct_modules_unregister() when unloading the module
  • linuxinput: Fix LED handling, Count KEY_M
  • font loading: Support premultiplied font formats.
  • Video4Linux: add sources to release zipfile. Conform v4l and v4l2 to new core architecture.
  • zytronic: added zytronic touch screen driver.
  • vt: Move the keyboard XLATE/MEDIUMRAW handling to the vt code, to allow concurrent input.
  • input: correctly read modifiers for load_keymap
  • keyboard: added setting/loading of keyboard keymaps via IDirectFBInputDevice

Systems

  • fbdev: Fixes for pan & zoom functionality
  • fbdev: corrected ioctl error handling: now stops on error.
  • fbdev: Test non-primary layer allocations
  • fbdev: use directfbrc for initial screen size, if specified.
  • x11: fixes for glx handling, additional logging
  • x11: Remember each GLXContext's drawable and set update flag only if it changed.
  • x11: Manage second GLX context per thread via another surface accessor ID.

Tools

  • dfbdump: fixed to show correct buffer allocation sizes for certain formats.
  • dfbinfo: now shows multiple encoder types correctly

Window Manager

  • default: Fix DLBM_TILE clipping
  • default: Fixed advanced blending with only DSBLIT_BLEND_COLORALPHA being used.
  • default: Added Meta-R for window rotation.

niels

2009-03-31   DirectFB 1.2.8, linux Fusion 8.1.1 - unified Fusion

Good news if you use the DirectFB multi-app feature: The Fusion Kernel module is from now on API aware, and supports Fusion APIs 3.x, 4.x and 8.x. This means you can use fusion 8.1.1 together with DirectFB versions 1.0.x, 1.1.x or 1.2.8 onwards.

For detailed info click on the news title

Fusion changes

  • hybrid fusion: support for API 3.x, 4.x and 8.x simultaneously.
  • /proc filesystem: improve safety by using seq_file instead of sprintf.
  • formatting: now uses Linux kernel formatting rules.
  • documentation: add API/ioctl interface docs.

DirectFB 1.0.x, 1.2.8 and 1.3.x work out-of-the-box with Fusion 8.1.1.
DirectFB 1.1.x up till DirectFB 1.2.7 require an additional patch.
The fusionees in a world must maintain the same major API version, but different Fusion worlds are allowed to use different API versions.

DirectFB changes

  • Added IDirectFBSurface::Write and ::Read.
  • small fix to local "System Memory" pool cleanup.
  • Must be used with Fusion 8.1.1.

niels

2009-03-07   New Disko-Dancefloor

First of all we invite you to take a look at the new Disko-Showroom which was set up in close collaboration with 23projects. Whereas diskohq.org primarily addresses developers and engineers, the showroom aims at everyone potentially interested in possible applications and terms of commercial utilization. The showroom contains a compact overview of the mentioned topics supported by video and screenshot content illustrating some examples. Check it out!

Secondly we wanted to announce that there is a new video in the screenshot section showing a Disko demo running on the ASUS Eee Top containing IPTV, VOIP, and Flash.

Stay tuned for further informations, releases, and patches. Please also visit the new headquarter of the Disko team - Disko homepage.

bere

2009-03-04   Two years of DirectFB 1.0 and a nice experience

Today is the second birthday of DirectFB 1.0, while
in sake of its future I'm on a mission in another town.

It seems like a gift discovering that the TV System with
Movies and Internet of the hotel I'm in, itself is running it...

                  rOck tHe hOuse!

dok

2009-02-06   linux Fusion 8.0.3 - Changes for 2.6.27 kernel, bugfixes

Changes for 2.6.27 kernel support, several bugfixes: fix for shutdown deadlock when cleaning up left-over calls; additional safety with call return value checking (whether returning or non-returning); See Changelog.linux-fusion for further details.

niels

2009-01-20   DirectFB 1.2.7 - More configuration, more bugfixes

Maintenance release with bug fixes, added configuration options (module search dir, screen size override) and more code guideline conformance.

For detailed info click on the news title

Config

  • added config option to override module search dir.
  • read /proc/self/cmdline if DirectFBInit() does not receive argv/argc.
  • added option to override initial screen size.
  • Fix build when srcdir != builddir.

Core

  • added documentation for blend functions and some desktop-buffer-mode options
  • better out-of-memory error handling
  • fixed alpha handling for palette SetEntriesYUV
  • rectified changes to surface policy in case a surface is allocated again, or reallocated
  • fixed memory leak in local "System Memory" pool when deallocating due to IDirectFB::Release

Systems

  • fbdev: Fixes for pan & zoom functionality

Gfxsystems

  • matrox: Wrong chroma plane offset was being used with deinterlace blits.
  • omap: Added omapfb.h to release zipfile.
  • SH772x: LCD parameters not obtained via fbdev ioctl
  • SH772x: improved JPEG Encode/decode performance, JPEG fixes, JPU by default disabled due to conflicts
  • SH772x: detection broadened to SH772x revisions

Input

  • Fix possible array overruns
  • added direct_modules_unregister() when unloading the module
  • linuxinput: Fix LED handling, Count KEY_M
  • font loading: Support premultiplied font formats.
  • Video4Linux: add sources to release zipfile. Conform v4l and v4l2 to new core architecture.

libfusion

  • fixed skirmish wait argument not taken as msec but usec

Tools

  • dfbdump: fixed to show correct buffer allocation sizes for certain formats.

niels


directfb.org / Main / News