slouken@7222: SDL on DirectFB slouken@7222: slouken@7222: Supports: slouken@7222: slouken@7222: - Hardware YUV overlays slouken@7222: - OpenGL - software only slouken@7222: - 2D/3D accelerations (depends on directfb driver) slouken@7222: - multiple displays slouken@7222: - windows slouken@7222: slouken@7222: What you need: slouken@7222: slouken@7222: DirectFB 1.0.1, 1.2.x, 1.3.0 slouken@7222: Kernel-Framebuffer support: required: vesafb, radeonfb .... philipp@7241: Mesa 7.0.x - optional for OpenGL slouken@7222: slouken@7222: /etc/directfbrc slouken@7222: slouken@7222: This file should contain the following lines to make slouken@7222: your joystick work and avoid crashes: slouken@7222: ------------------------ slouken@7222: disable-module=joystick slouken@7222: disable-module=cle266 slouken@7222: disable-module=cyber5k slouken@7222: no-linux-input-grab slouken@7222: ------------------------ slouken@7222: slouken@7222: To disable to use x11 backend when DISPLAY variable is found use slouken@7222: slouken@7222: export SDL_DIRECTFB_X11_CHECK=0 slouken@7222: slouken@7222: To disable the use of linux input devices, i.e. multimice/multikeyboard support, slouken@7222: use slouken@7222: slouken@7222: export SDL_DIRECTFB_LINUX_INPUT=0 slouken@7222: slouken@7222: To use hardware accelerated YUV-overlays for YUV-textures, use: slouken@7222: slouken@7222: export SDL_DIRECTFB_YUV_DIRECT=1 slouken@7222: slouken@7222: This is disabled by default. It will only support one slouken@7222: YUV texture, namely the first. Every other YUV texture will be slouken@7222: rendered in software. slouken@7222: slouken@7222: In addition, you may use (directfb-1.2.x) slouken@7222: slouken@7222: export SDL_DIRECTFB_YUV_UNDERLAY=1 slouken@7222: slouken@7222: to make the YUV texture an underlay. This will make the cursor to slouken@7222: be shown. slouken@7222: slouken@7222: Simple Window Manager slouken@7222: ===================== slouken@7222: slouken@7222: The driver has support for a very, very basic window manager you may slouken@7222: want to use when running with "wm=default". Use slouken@7222: slouken@7222: export SDL_DIRECTFB_WM=1 slouken@7222: slouken@7222: to enable basic window borders. In order to have the window title rendered, slouken@7222: you need to have the following font installed: slouken@7222: slouken@7222: /usr/share/fonts/truetype/freefont/FreeSans.ttf slouken@7222: slouken@7222: OpenGL Support slouken@7222: ============== slouken@7222: slouken@7222: The following instructions will give you *software* OpenGL. However this slouken@7222: works at least on all directfb supported platforms. slouken@7222: slouken@7222: As of this writing 20100802 you need to pull Mesa from git and do the following: slouken@7222: slouken@7222: ------------------------ slouken@7222: git clone git://anongit.freedesktop.org/git/mesa/mesa slouken@7222: cd mesa slouken@7222: git checkout 2c9fdaf7292423c157fc79b5ce43f0f199dd753a slouken@7222: ------------------------ slouken@7222: slouken@7222: Edit configs/linux-directfb so that the Directories-section looks like slouken@7222: ------------------------ slouken@7222: # Directories slouken@7222: SRC_DIRS = mesa glu slouken@7222: GLU_DIRS = sgi slouken@7222: DRIVER_DIRS = directfb slouken@7222: PROGRAM_DIRS = slouken@7222: ------------------------ slouken@7222: slouken@7222: make linux-directfb slouken@7222: make slouken@7222: slouken@7222: echo Installing - please enter sudo pw. slouken@7222: slouken@7222: sudo make install INSTALL_DIR=/usr/local/dfb_GL slouken@7222: cd src/mesa/drivers/directfb slouken@7222: make slouken@7222: sudo make install INSTALL_DIR=/usr/local/dfb_GL slouken@7222: ------------------------ slouken@7222: slouken@7222: To run the SDL - testprograms: slouken@7222: slouken@7222: export SDL_VIDEODRIVER=directfb slouken@7222: export LD_LIBRARY_PATH=/usr/local/dfb_GL/lib slouken@7222: export LD_PRELOAD=/usr/local/dfb_GL/libGL.so.7 slouken@7222: slouken@7222: ./testgl slouken@7222: