summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-2.30.2/docs/README-directfb.md
blob: bbc6e993ba789d5ece569491807d01fae29a1293 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
DirectFB
========

Supports:

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

What you need:

* DirectFB 1.0.1, 1.2.x, 1.3.0
* Kernel-Framebuffer support: required: vesafb, radeonfb ....
* Mesa 7.0.x	   - optional for OpenGL

The `/etc/directfbrc` file should contain the following lines to make
your joystick work and avoid crashes:

```
disable-module=joystick
disable-module=cle266
disable-module=cyber5k
no-linux-input-grab
```

To disable to use x11 backend when DISPLAY variable is found use

```
export SDL_DIRECTFB_X11_CHECK=0
```

To disable the use of linux input devices, i.e. multimice/multikeyboard support,
use

```
export SDL_DIRECTFB_LINUX_INPUT=0
```

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
YUV texture, namely the first. Every other YUV texture will be
rendered in software.

In addition, you may use (directfb-1.2.x)

```
export SDL_DIRECTFB_YUV_UNDERLAY=1
```

to make the YUV texture an underlay. This will make the cursor to
be shown.

Simple Window Manager
=====================

The driver has support for a very, very basic window manager you may
want to use when running with `wm=default`. Use

```
export SDL_DIRECTFB_WM=1
```

to enable basic window borders. In order to have the window title rendered,
you need to have the following font installed:

```
/usr/share/fonts/truetype/freefont/FreeSans.ttf
```

OpenGL Support
==============

The following instructions will give you *software* OpenGL. However this
works at least on all directfb supported platforms.

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

```
git clone git://anongit.freedesktop.org/git/mesa/mesa
cd mesa
git checkout 2c9fdaf7292423c157fc79b5ce43f0f199dd753a
```

Edit `configs/linux-directfb` so that the Directories-section looks like this:

```
# Directories
SRC_DIRS     = mesa glu
GLU_DIRS     = sgi
DRIVER_DIRS  = directfb
PROGRAM_DIRS =
```

Then do the following:

```
make linux-directfb
make

echo Installing - please 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
```