blob: c3b3b889597a4a62ff58b6c9fbe0c9a867f352e6 (
plain) (
blame)
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
|
SPELL=directfb
VERSION=1.7.6
SOURCE=DirectFB-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/DirectFB-$VERSION
SOURCE_URL[0]=http://www.directfb.net/downloads/Core/DirectFB-${VERSION:0:3}/$SOURCE
SOURCE_HASH=sha512:18cf1aad6c277a6de147a9b0aff1cd7408ddd7c7159ef21dab9a548db7399c681603624e7820b186a29e03edaa7737350a61e2abaec572887e9cc56658bf85a2
LICENSE[0]=LGPL
KEYWORDS="display"
WEB_SITE=http://www.directfb.net/
ENTERED=20030916
SHORT="Graphics acceleration on Framebuffer Device"
cat << EOF
DirectFB is a thin library that provides hardware graphics acceleration,
input device handling and abstraction, integrated windowing
system with support for translucent windows and multiple display
layers on top of the Linux Framebuffer Device. It is a complete
hardware abstraction layer with software fallbacks for every graphics
operation that is not supported by the underlying hardware.
DirectFB adds graphical power to embedded systems and
sets a new standard for graphics under Linux
Usage Requirements
------------------
Depending on the DirectFB application you want to run, you need some
or all of these:
- A working frame buffer device (check the output of 'fbset -i').
- A keyboard (if it works on the console, everything should be fine).
- A PS/2 or serial mouse for windowing. USB and ADB mice do also work
via PS/2 emulation.
To access the frame buffer device and the mouse you need access to
/dev/tty0, /dev/fb0 and the mouse device (/dev/psaux, /dev/mouse).
You can either run all DirectFB applications as root or allow users
to access these devices. A reasonable way to do this is to add users
to the group tty (or some other group) and allow this group to read
and write the files in /dev:
crw-rw---- 1 root tty 29, 0 /dev/fb0
crw-rw---- 1 root tty 10, 1 /dev/psaux
crw-rw---- 1 root tty 4, 0 /dev/tty0
Configuring the Linux frame buffer device
-----------------------------------------
DirectFB needs a Linux kernel with frame buffer support. Check the
documentation in the kernel tree (/usr/src/linux/Documentation/fb/) on
how to enable the frame buffer device for your graphics card.
The generic VESA frame buffer device does not support mode switching
and you will not get hardware acceleration. To make DirectFB work with
veasfb, you should add the following lines to /etc/lilo.conf:
append="video=vesa:ywrap,mtrr"
'ywrap' enables panning with wraparound.
'mtrr' enables setting caching type for the frame buffer to write-combining.
vga=791
This sets the mode on startup. 791 means 1024x768@16, 788 means 800x600@16.
All VESA Video Modes:
Bits 640x480 800x600 1024x768 1280x1024 1600x1200
8 769 771 773 775 796
16 785 788 791 794 798
32 786 789 792 795 799
Other frame buffer devices support mode switching. DirectFB will only
support modes listed in your /etc/fb.modes file. By default the first
entry found is used.
If you have a Matrox card you may want to try the vsync patch found in
the patches directory that enables applications to "idle wait" for the
vertical retrace.
EOF
|