summaryrefslogtreecommitdiffstats
path: root/display/directfb/DETAILS
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