2021-04-18 07:35:25 +04:00
|
|
|
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
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
The `/etc/directfbrc` file should contain the following lines to make
|
2021-04-18 07:35:25 +04:00
|
|
|
your joystick work and avoid crashes:
|
2022-07-15 06:00:50 +04:00
|
|
|
|
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
disable-module=joystick
|
|
|
|
disable-module=cle266
|
|
|
|
disable-module=cyber5k
|
|
|
|
no-linux-input-grab
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
To disable to use x11 backend when DISPLAY variable is found use
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
export SDL_DIRECTFB_X11_CHECK=0
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
To disable the use of linux input devices, i.e. multimice/multikeyboard support,
|
|
|
|
use
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
export SDL_DIRECTFB_LINUX_INPUT=0
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
To use hardware accelerated YUV-overlays for YUV-textures, use:
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
export SDL_DIRECTFB_YUV_DIRECT=1
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
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)
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
export SDL_DIRECTFB_YUV_UNDERLAY=1
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
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
|
2022-07-15 06:00:50 +04:00
|
|
|
want to use when running with `wm=default`. Use
|
2021-04-18 07:35:25 +04:00
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
export SDL_DIRECTFB_WM=1
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
to enable basic window borders. In order to have the window title rendered,
|
|
|
|
you need to have the following font installed:
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
/usr/share/fonts/truetype/freefont/FreeSans.ttf
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
git clone git://anongit.freedesktop.org/git/mesa/mesa
|
|
|
|
cd mesa
|
|
|
|
git checkout 2c9fdaf7292423c157fc79b5ce43f0f199dd753a
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
|
|
|
|
|
|
|
Edit `configs/linux-directfb` so that the Directories-section looks like this:
|
2021-04-18 07:35:25 +04:00
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
# Directories
|
|
|
|
SRC_DIRS = mesa glu
|
|
|
|
GLU_DIRS = sgi
|
|
|
|
DRIVER_DIRS = directfb
|
|
|
|
PROGRAM_DIRS =
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
Then do the following:
|
|
|
|
|
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
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
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
|
|
|
|
To run the SDL - testprograms:
|
|
|
|
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|
2021-04-18 07:35:25 +04:00
|
|
|
export SDL_VIDEODRIVER=directfb
|
|
|
|
export LD_LIBRARY_PATH=/usr/local/dfb_GL/lib
|
|
|
|
export LD_PRELOAD=/usr/local/dfb_GL/libGL.so.7
|
|
|
|
|
|
|
|
./testgl
|
2022-07-15 06:00:50 +04:00
|
|
|
```
|