README.DirectFB
author Sam Lantinga <slouken@libsdl.org>
Thu, 25 Apr 2013 00:26:17 -0700
changeset 7110 2a98852fd58d
parent 6987 7084af936d82
permissions -rw-r--r--
Fixed bug 1582 - Allow disabling SDL_VIDEO_DRIVER_WINDOWS

Marcus von Appen

Trying to build SDL 2.x (HG) on Win32 platforms with either VS.NET or MinGW requires one to have the video subsystem and SDL_VIDEO_DRIVER_WINDOWS flag enabled due to the helper window creation routines.

The attached patch changes the helper window creation behaviour, so that one can build SDL2 without the video subsystem or Windows video drivers on Win32 platforms.
slouken@2226
     1
SDL on DirectFB
slouken@2226
     2
slouken@2226
     3
Supports:
slouken@2226
     4
slouken@2226
     5
- Hardware YUV overlays
slouken@2226
     6
- OpenGL - software only
slouken@2226
     7
- 2D/3D accelerations (depends on directfb driver)
slouken@2815
     8
- multiple displays
slouken@2815
     9
- windows
slouken@2226
    10
slouken@2226
    11
What you need:
slouken@2226
    12
slouken@2815
    13
DirectFB 1.0.1, 1.2.x, 1.3.0
slouken@2226
    14
Kernel-Framebuffer support: required: vesafb, radeonfb .... 
slouken@2226
    15
Mesa 7.0.x	   - optional for OpenGL
slouken@2226
    16
slouken@2815
    17
/etc/directfbrc
slouken@2815
    18
slouken@2815
    19
This file should contain the following lines to make
slouken@2815
    20
your joystick work and avoid crashes:
slouken@2815
    21
------------------------
slouken@2815
    22
disable-module=joystick
slouken@2815
    23
disable-module=cle266
slouken@2815
    24
disable-module=cyber5k
slouken@2998
    25
no-linux-input-grab
slouken@2815
    26
------------------------
slouken@2815
    27
slouken@2998
    28
To disable to use x11 backend when DISPLAY variable is found use
slouken@2998
    29
slouken@2998
    30
export SDL_DIRECTFB_X11_CHECK=0
slouken@2998
    31
slouken@2998
    32
To disable the use of linux input devices, i.e. multimice/multikeyboard support,
slouken@2998
    33
use
slouken@2998
    34
slouken@2998
    35
export SDL_DIRECTFB_LINUX_INPUT=0
slouken@2998
    36
slouken@2815
    37
To use hardware accelerated YUV-overlays for YUV-textures, use:
slouken@2815
    38
slouken@2815
    39
export SDL_DIRECTFB_YUV_DIRECT=1
slouken@2815
    40
slouken@2815
    41
This is disabled by default. It will only support one 
slouken@2815
    42
YUV texture, namely the first. Every other YUV texture will be
slouken@2815
    43
rendered in software.
slouken@2815
    44
slouken@2815
    45
In addition, you may use (directfb-1.2.x)
slouken@2815
    46
slouken@2815
    47
export SDL_DIRECTFB_YUV_UNDERLAY=1
slouken@2815
    48
slouken@2815
    49
to make the YUV texture an underlay. This will make the cursor to
slouken@2815
    50
be shown.
slouken@2815
    51
couriersud@3023
    52
Simple Window Manager
couriersud@3023
    53
=====================
couriersud@3023
    54
couriersud@3023
    55
The driver has support for a very, very basic window manager you may
slouken@6987
    56
want to use when running with "wm=default". Use
couriersud@3023
    57
couriersud@3023
    58
export SDL_DIRECTFB_WM=1
couriersud@3023
    59
couriersud@3023
    60
to enable basic window borders. In order to have the window title rendered,
couriersud@3023
    61
you need to have the following font installed:
couriersud@3023
    62
couriersud@3023
    63
/usr/share/fonts/truetype/freefont/FreeSans.ttf
couriersud@3023
    64
slouken@6987
    65
OpenGL Support
slouken@2815
    66
==============
slouken@2815
    67
slouken@6987
    68
The following instructions will give you *software* OpenGL. However this
slouken@4636
    69
works at least on all directfb supported platforms.
slouken@4636
    70
slouken@4636
    71
As of this writing 20100802 you need to pull Mesa from git and do the following:
slouken@2226
    72
slouken@2226
    73
------------------------
slouken@5199
    74
git clone git://anongit.freedesktop.org/git/mesa/mesa
slouken@2226
    75
cd mesa 
slouken@5199
    76
git checkout 2c9fdaf7292423c157fc79b5ce43f0f199dd753a
slouken@4636
    77
------------------------
slouken@4636
    78
slouken@4636
    79
Edit configs/linux-directfb so that the Directories-section looks like
slouken@4636
    80
------------------------
slouken@4636
    81
# Directories
slouken@4636
    82
SRC_DIRS     = mesa glu 
slouken@4636
    83
GLU_DIRS     = sgi
slouken@4636
    84
DRIVER_DIRS  = directfb
slouken@4636
    85
PROGRAM_DIRS = 
slouken@4636
    86
------------------------
slouken@4636
    87
slouken@2226
    88
make linux-directfb
slouken@2226
    89
make
slouken@2226
    90
slouken@2815
    91
echo Installing - please enter sudo pw.
slouken@2226
    92
slouken@2226
    93
sudo make install INSTALL_DIR=/usr/local/dfb_GL
slouken@2226
    94
cd src/mesa/drivers/directfb
slouken@2226
    95
make
slouken@2226
    96
sudo make install INSTALL_DIR=/usr/local/dfb_GL
slouken@2226
    97
------------------------
slouken@2226
    98
slouken@2226
    99
To run the SDL - testprograms:
slouken@2226
   100
slouken@2226
   101
export SDL_VIDEODRIVER=directfb
slouken@2226
   102
export LD_LIBRARY_PATH=/usr/local/dfb_GL/lib
slouken@2226
   103
export LD_PRELOAD=/usr/local/dfb_GL/libGL.so.7
slouken@2226
   104
slouken@2226
   105
./testgl
slouken@4636
   106