• Sam Lantinga's avatar
    Date: Sat, 11 Aug 2007 02:03:16 +0200 (CEST) · 2de3ba20
    Sam Lantinga authored
    From: couriersud arcor.de
    To: slouken@libsdl.org
    Subject: Directfb driver for SDL1.3
    
    Hi,
    
    the attachment contains a patch for a SDL1.3 directfb driver. It supports:
    
    - Renderer "directfb":
    
    Hardware acceleration as supported by the underlying directfb driver. With a
    radeon X850, testsprite2 runs at 50% to 70% of OpenGL (X11, dri) performance.
    
    Also supports hardware accelerated yuv overlays. This must be enabled by sett
    ing:
    
    export SDL_DIRECTFB_YUV_DIRECT=1
    
    - Renderer "opengl"
    
    Supports software opengl using mesa opengl (make linux-directfb).
    
    Some more information may be found in README.DirectFB
    
    There will certainly still be some bugs, and there is some debug code around.
     When I find some time, I will compile against directfb-0.9.25 as distributed
     with ubuntu 7.04.
    
    The diff also contains a fix for SDL_LockYUVOverlay fixing a bug in  *pixels
    and pitches initialization.
    
    Kind regards,
    
    couriersud
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402588
    2de3ba20
README.DirectFB 1.01 KB
SDL on DirectFB

Supports:

- Hardware YUV overlays
- OpenGL - software only
- 2D/3D accelerations (depends on directfb driver)

What you need:

DirectFB 1.0.0 - required
Kernel-Framebuffer support: required: vesafb, radeonfb .... 
Mesa 7.0.x	   - optional for OpenGL

As of this writing 20070810 you need to pull Mesa from git and do the following:

------------------------
cd mesa 
make linux-directfb
make

echo Installing - pleaser enter sudo pw.

sudo make install INSTALL_DIR=/usr/local/dfb_GL
cd src/mesa/drivers/directfb
make
sudo make install INSTALL_DIR=/usr/local/dfb_GL
------------------------

To run the SDL - testprograms:

export SDL_VIDEODRIVER=directfb
export LD_LIBRARY_PATH=/usr/local/dfb_GL/lib
export LD_PRELOAD=/usr/local/dfb_GL/libGL.so.7

./testgl

To use hardware accelerated YUV-overlays for YUV-textures, use:

export SDL_DIRECTFB_YUV_DIRECT=1

This is disabled by default. It will only support one concurrent 
overlay and may behave strange if not used with SDL_CreateYUvOverlay
from SDLcompat.c.