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