Fosdem Argon7
2004 Edition Free and Open Source Software Developer's European Meeting






Interviews

2003-12-28 - Denis Oliver Kropp

DirectFB

An interview conducted by Alain Buret
FOSDEM - First and traditional question : Please present yourself ...

Denis Oliver Kropp - I'm a 22 year old developer from Berlin working for a company developing software for digital television (Convergence GmbH).
Graphics and video hardware has always been fascinating me the most. I made my first experience with graphics programming under Windows, using OpenGL and later on DirectX.
Together with Andreas Hundt I started development of ClanBomber, using ClanLib for Linux and Windows. During that time I switched to Linux completely after I got my BTTV working. But I realized that graphics support in general wasn't very good, so I've put some effort into ClanLib's Linux support, adding a GGI and a native FBDev backend. Both of them haven't been satisfactory enough. At this time I studied the Matrox framebuffer driver to see if the console acceleration could also be used in user space for games etc.
The relevant information for getting register access from user space had been in GGI. Their FBDev backend had special Matrox support, but it was very limited. Copying areas within the screen couldn't fully accelerate a game with a lot of graphics. After downloading the great hardware documentation from Matrox, I added acceleration to ClanLib's FBDev backend.
It had a very primitive way of allocating offscreen video memory to blit all kinds of sprites and other graphics. I got ClanBomber running completely hardware accelerated on the frame buffer using the texture mapping unit for stretched blits. It was incredible to see the game at 700 frames per second!


HFOSDEM - ow and when did you start looking at DirectFB ?

Denis Oliver Kropp - In May 2000 Andi and me got a development position at Convergence. Our job was to implement all graphics related parts of the MHP (Multimedia Home Platform) specification. It's a standard for interactive television by the DVB consortium, consisting of a bunch of Java APIs that can be used by broadcasted applications.
The core graphics API is AWT, but the DVB made extensions for alpha blended graphics operations (similar to those JDK 1.2). Another big part is the HAVi API which is used to manage background, video and graphics layers.
It also defines windows with an alpha channel (for blending the graphics layer with the video layer).

As there was no existing API to fit the requirements, DirectFB was born in July 2000. With my experience in mind, we designed DirectFB to be a library on top of the Linux frame buffer device, providing a sophisticated API for graphics acceleration, display layers and windows. Though it's just a library, it can be seen as a complete sub system for graphics and input.
Featuring hardware accelerated alpha blended window management in 2000, we've been working on DirectFB being one solution for embedded and desktop systems. I always knew that some day a lot of people would use DirectFB.
The vision of a fully accelerated desktop running all kinds of applications or games with advanced features like alpha blending and anti aliased fonts is coming true. Today, the multi application core of DirectFB allows to run any number of distinct applications simultaneously.
You can run native applications like DFBTerm, all X11 based applications via XDirectFB, play games using SDL on DirectFB, watch movies on the TV-Out using mplayer's dfbmga backend (while still using other applications on the first head).
The adaption of DRI added hardware accelerated OpenGL with seemless integration into the framework, e.g. you can render into alpha blended windows which can be moved around. A lot of these things are shown on our screenshot page.


FOSDEM - What do you think about the X consortium ? Too big, too slow ?

Denis Oliver Kropp - I don't really care about the X consortium, so I can't tell.


FOSDEM - How do you see the future X evolution compared to DirectFB evolution ?

Denis Oliver Kropp - First, I want to eliminate the misunderstanding that DirectFB should be a replacement for X11 which is just a protocol for remote graphics, input and window management. X11 nicely fits on top of DirectFB, see XDirectFB. What's missing in DirectFB is the concept of a window manager and other high level components of a desktop (apart from graphics and input). These will be added in the near future without loosing scalability.
Another issue is the availability of drivers. There are many drivers already, but the only full featured drivers are for Matrox and VIAs EPIA-M (CLE266). I expect the Radeon driver to become the third.
Following the development of new X extensions like the external compositing manager, one can see that X and DirectFB are making steps towards each other.


FOSDEM - Do you interact with other projects like Fresco ?

Denis Oliver Kropp - I followed Fresco's development very early when it was called Berlin, but I had been too busy with DirectFB and lost it.


FOSDEM - Introduce in few words what you're going to talk about during your
presentation ...

Denis Oliver Kropp - Many people ask what DirectFB really is. I will answer that question and give everyone a chance to experience the world of DirectFB. My goal is to captivate the audience demonstrating and explaining all fascinating things about DirectFB. It will be a mix of exciting demos and explanations of the underlying architecture. I'm sure that nobody will be bored... ;)


FOSDEM - What are you expecting from your talk at FOSDEM and from the interactions with other developers present at the event?

Denis Oliver Kropp - I expect a better understanding of DirectFB and hope that more developers will join us.

 







© FOSDEM 2003-2004 - powered by Argon7