• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

data/H03-May-2022-518446

docs/H03-May-2022-2,1291,757

gfxdrivers/H03-May-2022-113,66182,907

include/H03-May-2022-10,5275,856

inputdrivers/H03-May-2022-24,46819,060

interfaces/H03-May-2022-13,93610,393

lib/H03-May-2022-40,99227,481

m4/H23-May-2012-4436

patches/H03-May-2022-511435

proxy/H03-May-2022-21,29015,617

rules/H03-May-2022-486411

src/H03-May-2022-107,45774,803

systems/H03-May-2022-24,95017,813

tests/H03-May-2022-7,7805,155

tools/H03-May-2022-11,0347,709

wm/H03-May-2022-19,02613,249

AUTHORSH A D23-May-20121.3 KiB3024

COPYINGH A D23-May-201225.8 KiB505418

ChangeLogH A D23-May-20121.5 MiB43,83229,965

INSTALLH A D02-Apr-201215.4 KiB371288

Makefile.amH A D23-May-2012988 6947

Makefile.inH A D03-May-202231.2 KiB979877

NEWSH A D23-May-2012213.1 KiB4,5053,827

READMEH A D23-May-201216.1 KiB438336

TODOH A D23-May-20122.2 KiB6444

aclocal.m4H A D23-May-2012347.2 KiB9,8938,899

autogen.shH A D23-May-20123.6 KiB148107

compileH A D02-Apr-20126.7 KiB311226

config.guessH A D30-Mar-201243.8 KiB1,5311,321

config.h.inH A D23-May-20124.9 KiB192132

config.subH A D30-Mar-201234.6 KiB1,7741,631

configureH A D03-May-2022705 KiB23,79520,045

configure.inH A D03-May-202252.3 KiB1,9741,631

depcompH A D02-Apr-201219.9 KiB689448

directfb-config.inH A D23-May-20126.9 KiB316268

directfb-internal.pc.inH A D23-May-2012316 1210

directfb.pc.inH A D23-May-2012375 1311

directfb.specH A D23-May-20123.2 KiB11996

directfb.spec.inH A D23-May-20123.2 KiB11996

fb.modesH A D23-May-20121.8 KiB9171

install-shH A D02-Apr-201213.7 KiB528351

ltmain.shH A D12-Nov-2011277 KiB9,6627,310

missingH A D02-Apr-201210.1 KiB332243

README

1DirectFB README
2---------------
3
4   DirectFB is a graphics library which was designed with embedded
5   systems in mind. It offers maximum hardware accelerated performance
6   at a minimum of resource usage and overhead.
7
8   Check http://www.directfb.org/ for more and up to date infos.
9
10
11Supported Operating Systems
12---------------------------
13
14   - GNU/Linux
15
16   Using SDL (without acceleration support), DirectFB also supports
17   the following operating systems:
18
19      - FreeBSD (last tested: DirectFB 0.9.21 on FreeBSD 5.2)
20      - NetBSD  (tested on NetBSD 1.6)
21      - OpenBSD (tested on OpenBSD 3.2)
22           (If you have problems, try ./configure --disable-mmx)
23
24   Please note that SDL support is experimental and incomplete. It is
25   intended for developers to allow development of DirectFB applications
26   in various environments.
27
28   Native (non SDL) support for the following operating systems is in progress:
29
30   - Mac OS X (tested on Mac OS X 10.3.5)
31
32   We do not have the resources to ensure that every release of
33   DirectFB works on all supported platforms. If you are a user of one
34   of the operating system listed above, and have the time to test the
35   CVS or GIT version regularly, your help is greatly appreciated.
36
37
38Build Requirements
39------------------
40
41   Mandatory are
42     - libc
43     - libpthread
44     - libm
45     - libdl
46
47   For regenerating autofoo (./autogen.sh or autoreconf)
48     - autoconf
49     - automake
50     - libtool
51     - pkg-config
52
53   Optionally, depending on the configuration you want:
54
55   FBDev
56     - Linux kernel 2.2.x or newer with working frame buffer device
57       (check /proc/fb) for the fbdev system.
58
59   SDL
60     - libSDL (Simple Direct Media Layer) for the sdl system.
61
62   X11
63     - libX11 (X11 client library) for the X11 system (libx11-dev and libxext-dev packages).
64
65   The following libraries are optional, but important (Debian package names):
66
67   Fonts
68     - libfreetype6-dev for TrueType and other fonts
69
70   Images
71     - libjpeg-dev for Joint Picture Expert Group images
72     - libpng-dev for Portable Network Graphics
73
74   Extra
75     - zlib1g-dev for compressed screenshot support (also needed by libpng)
76
77   The multi application core also requires <linux/fusion.h>, see the
78   section "Running multiple DirectFB applications" for more details.
79
80   The build of the image and font providers can be disabled but we
81   strongly suggest that you don't do this since the code examples and
82   a lot of DirectFB applications depend on the functionality provided
83   by them.
84
85   The libmpeg3 video provider requires the libmpeg3 library which is
86   not commonly installed. We provide this package on our web-site at
87   http://www.directfb.org/download/contrib/.
88
89   The avifile and flash video providers that used to be shipped with
90   DirectFB have been moved to the DirectFB-extra package.
91
92   We suggest you also install pkg-config available from
93   http://www.freedesktop.org/software/pkgconfig/. It will help you
94   to compile applications based on DirectFB.
95
96
97Usage Requirements
98------------------
99
100   Depending on the DirectFB application you want to run, you need some
101   or all of these:
102
103   - A working frame buffer device (check the output of 'fbset -i').
104   - A keyboard (if it works on the console, everything should be fine).
105   - A PS/2 or serial mouse for windowing. USB and ADB mice do also work
106     via PS/2 emulation.
107
108   Using the single application core you always need access to /dev/tty0,
109   /dev/fb0 and the mouse device (/dev/psaux, /dev/mouse).
110   You can either run all DirectFB applications as root or allow users
111   to access these devices. A reasonable way to do this is to add users
112   to the group tty (or some other group) and allow this group to read
113   and write the files in /dev:
114
115       crw-rw----    1 root     tty       29,   0  /dev/fb0
116       crw-rw----    1 root     tty       10,   1  /dev/psaux
117       crw-r-----    1 root     tty        4,   0  /dev/tty0
118
119   If you are using the multi application core, only the master process needs
120   access to all of these devices. Additional processes (slaves) just need
121   access to /dev/fb0 and:
122
123       crw-rw----    1 root     fusion    29,   0  /dev/fusion/0
124
125   Note that the master creates a shared memory file, probably
126   in '/dev/shm/fusion.0'. It's read/writeable for anyone matching
127   the master process' user or group.
128
129
130   Some applications from the DirectFB-examples package have additional
131   requirements:
132
133   - A video card supported by video4linux for df_video.
134   - A joystick for df_joystick.
135
136
137Running multiple DirectFB applications at the same time
138-------------------------------------------------------
139
140   With the default build of the DirectFB library, only one DirectFB
141   application may be running. However you have the option to use the
142   multi application core of DirectFB which allows multiple DirectFB
143   applications to run at the same time within a session.
144
145   DirectFB applications communicate through a layer we call "Fusion".
146   This layer was previously implemented completely in user space using
147   semaphores and message queues. But since 0.9.15 the Fusion Kernel
148   Device is required which implements critical parts of Fusion and thus
149   lead to better performance and decent stability. To install this kernel
150   module (only available for Linux yet), find the linux-fusion
151   module in our CVS or GIT repository or on the DirectFB website.
152   For DirectFB 1.4.x releases you should use linux-fusion 8.1.1 or newer.
153
154   Compile DirectFB with multi-application core enabled:
155
156     ./configure --enable-multi
157
158   Make sure your Linux kernel supports tmpfs. This is explained in
159   the kernel sources in Documentation/filesystems/tmpfs.txt.
160   Mount a tmpfs filesystem as /dev/shm:
161
162     mount tmpfs /dev/shm -ttmpfs
163
164   Optionally a mount point can be specified via the "tmpfs" option,
165   see directfbrc(5). The option has to be the same for all processes.
166
167   A good way to test the multi-application core is to install the lite
168   toolkit and DFBTerm, a DirectFB terminal (both available in the
169   DirectFB CVS/GIT repository). You can then start DirectFB applications
170   from dfbterm.
171
172
173Recommendations
174---------------
175
176   To take full advantage of hardware acceleration,
177   a Matrox G200/G400/G450/G550 graphics card is recommend for this
178   version of DirectFB. The drivers for ATI128, Voodoo 3/4/5/Banshee,
179   NeoMagic and S3 Savage cards included with this release are work in
180   progress and only yet support a subset of the possible accelerations.
181
182
183Installation
184------------
185
186   1) In the DirectFB directory type:
187
188	./configure <options>
189	make
190	make install (as superuser)
191
192      Use './configure --help' to get a list of possible configure options.
193
194      Imported options include:
195        --enable-multi   Enables the Multi Application Core
196        --enable-debug   Enables many debug messages and assertions
197        --enable-trace   Enables run time stack trace information
198
199      Debugging and especially stack trace support are a performance
200      impact. It may be noticably slower in some areas, e.g. text drawing.
201
202      You may use the options "no-debug" and "no-trace" by default, e.g.
203      in '<prefix>/etc/directfbrc', and use "--dfb:debug,trace" on the command
204      line if needed.
205
206   2) Make sure that "<prefix>/lib" is listed in your /etc/ld.so.conf.
207      The default prefix is "/usr/local". After adding it you have to
208      run 'ldconfig' as superuser.
209
210      Alternatively, you can add the path to the environment
211      variable LD_LIBRARY_PATH. This is useful for temporarily
212      switching to another installed version.
213
214   3) You might want to copy fb.modes to /etc or merge it with your
215      existing /etc/fb.modes file. The first entry will be used by
216      default - copy other entries you may need.
217
218   4) If you want to use a serial mouse, create a link called /dev/mouse
219      that points to serial device (e.g. /dev/ttyS0). Then add a line
220      describing your mouse-protocol to /etc/directfbrc or ~/.directfbrc:
221      "mouse-protocol=[ms|ms3|mouseman|mousesystems]".
222
223   5) If you are cross compiling and have installed the required libraries
224      someplace other than /usr/local/lib be sure to add the bin directory
225      for those libraries to the front of your 'PATH'.
226
227        For instance if you configured using:
228          --prefix=/dfb/usr/local
229        then be sure to
230          export PATH=/dfb/usr/local/bin:$PATH
231        before compiling and installing.
232
233
234Configuring DirectFB
235--------------------
236
237   There are lots of things that can be configured. We try to ship DirectFB
238   with reasonable defaults but you might have to tweak things. There are
239   several ways to do this. You may edit the system-wide configuration
240   file <prefix>/etc/directfbrc or the user-specific $HOME/.directfbrc.
241   There's a manual page called directfbrc(5) that documents all the settings.
242   The same manual page also explains how DirectFB application can be
243   configured via the command-line.
244
245
246Configuring the Linux frame buffer device
247-----------------------------------------
248
249   DirectFB's prefered way-of-working needs a Linux kernel
250   with frame buffer support. Check the documentation in the kernel tree
251   (/usr/src/linux/Documentation/fb/) on how to enable the frame buffer device
252   for your graphics card.
253
254   The generic VESA frame buffer device does not support mode switching
255   and you will not get hardware acceleration. To make DirectFB work with
256   veasfb, you should add the following lines to /etc/lilo.conf:
257
258	append="video=vesa:ywrap,mtrr"
259
260   'ywrap' enables panning with wraparound.
261   'mtrr' enables setting caching type for the frame buffer to write-combining.
262
263	vga=791
264
265   This sets the mode on startup. 791 means 1024x768@16, 788 means 800x600@16.
266
267   All VESA Video Modes:
268
269   Bits    640x480 800x600 1024x768 1280x1024 1600x1200
270   8       769     771     773      775       796
271   16      785     788     791      794       798
272   32      786     789     792      795       799
273
274   Other frame buffer devices support mode switching. DirectFB will only
275   support modes listed in your /etc/fb.modes file. By default the first
276   entry found is used.
277
278   If you have a Matrox card you may want to try the vsync patch found in
279   the patches directory that enables applications to "idle wait" for the
280   vertical retrace.
281
282
283Using the builtin "window manager"
284----------------------------------
285
286   Since DirectFB lacks a real window manager, we added a hack to the
287   window stack to allow for basic window management. While pressing
288   the <Meta> (or Windows) key or alternatively <Caps-Lock> you can do
289   the following:
290
291     - Drag your mouse to move the focused window.
292     - Drag and press <Ctrl> to resize the focused window.
293     - Drag and press <Alt> to change the opacity of the focused window.
294     - Press C to close the focused window.
295     - Press A to lower the focused window to the bottom.
296     - Press X to cycle the focus through the windows.
297     - Press S to raise the lowest window to the top.
298     - Press P to enable and show the mouse cursor.
299     - Press R to rotate the focused window by 90 degree.
300     - Press E to focus the window currently under the mouse cursor,
301       useful in conjunction with 'X'.
302     - Press Escape to return from fullscreen mode to the desktop.
303       (currently not advisable if the fullscreen app is still flipping)
304     - Press F12 to redraw the whole window stack.
305
306   You might want to use the "capslock-meta" option (see directfbrc(5))
307   if you don't have a <Meta> key.
308
309
310Documentation
311-------------
312
313   A complete API reference documentation in HTML format is created during
314   the build in the docs directory. You may also access the API reference
315   as well as a concepts overview, tutorials and the FAQ online at
316   http://www.directfb.org/documentation/.
317
318
319Thanks to
320---------
321
322   Johannes Zellner <johannes@zellner.org>
323   Till Adam <till@adam-lilienthal.de>
324   Joachim Steiger <roh@hyte.de>
325   Felix von Leitner <leitner@fefe.de>
326   Johannes Stezenbach <js@convergence.de>
327   Michael Natterer <mitch@convergence.de>
328   Holger Waechtler <holger@convergence.de>
329   Kim JeongHoe <king@mizi.com>
330   Jason Gaiser <jasno@san.rr.com>
331   W. Michael Petullo <mike@flyn.org>
332   Jiri Svoboda <Jiri.Svoboda@seznam.cz>
333   Hallvar Helleseth <hallvar@ii.uib.no>
334   Topi Kanerva <topi.kanerva@eke.fi>
335   Daniel Mack <daniel@convergence.de>
336   Ara Hacopian <ahacop@anthrotronix.com>
337   Mike Haertel <mike@albert.ai.mit.edu>
338   Enno Brehm <enno@convergence.de>
339   Martin Mueller <mm@convergence.de>
340   Sebastian Klemke <packet@convergence.de>
341   Fredrik Hallenberg <hallon@lysator.liu.se>
342   Antonino Daplas <adaplas@users.sourceforge.net>
343   Scott A McConnell <samcconn@cotw.com>
344   Alex SONG <zzaleson@uqconnect.net>
345   Ville Syrj�l� <syrjala@sci.fi>
346   Brian J. Murrell <a40e8119bbddbe7b3d281db117f19b32@interlinx.bc.ca>
347   Tim Janik <timj@gtk.org>
348   Billy Biggs <vektor@dumbterm.net>
349   Andreas Oberritter <obi@tuxbox.org>
350   Simon Ueng <simon@ftech.com.tw>
351   Scott Brumbaugh <scottb.lists@verizon.net>
352   Sebastian Ley <sebastian.ley@mmweg.rwth-aachen.de>
353   James Su <suzhe@turbolinux.com.cn>
354   Sarma Kolluru <Sarma.Kolluru@nsc.com>
355   Oliver Schwartz <Oliver.Schwartz@gmx.de>
356   Florian <florian.fernandez2@wanadoo.fr>
357   J.P. Delport <jpdelport@csir.co.za>
358   Michel D�nzer <michel@daenzer.net>
359   Maurizio Monge <monge@sns.it>
360   Tim Wright <tim.wright@iosystems.co.uk>
361   Liam Girdwood <liam.girdwood@wolfsonmicro.com>
362   Andreas Robinson <andro134 at student.liu.se>
363   Michael Hunold <hunold@convergence.de>
364   Brandon M. Reynolds <breynolds@comtime.com>
365   Micha Nelissen <micha@neli.hopto.org>
366   Vadim Catana <vcatana@registru.md>
367   Henning Glawe <glaweh@physik.fu-berlin.de>
368   Ed Millard <emillard@direcway.com>
369   Claudio Ciccani <klan82@cheapnet.it>
370   Tom Bridgwater <genuss@gmail.com>
371   Oskar Liljeblad <oskar@osk.mine.nu>
372   Bryce Nichols <bryce@bnichols.org>
373   Stefan Lucke <stefan@lucke.in-berlin.de>
374   Mws <mws@twisted-brains.org>
375   Ivan Daniluk <ivan@shvydko.ua>
376   Mark Salter <msalter@redhat.com>
377   Martin L�tken <nitram@lutken.dk>
378   Sylvain Meyer <sylvain.meyer@worldonline.fr>
379   Mark Adams <mark147m@gmail.com>
380   Damian Kowalewski <damian.kowalewski@mail.mcgill.ca>
381   Jakub Bogusz <qboosh@pld-linux.org>
382   Nathanael D. Noblet <nathanael@gnat.ca>
383   Ryan Burns <rburns@mvista.com>
384   Colin Watson <cjwatson@debian.org>
385   Guillem Jover <guillem@debian.org>
386   Jeff Bailey <jbailey@ubuntu.com>
387   Andreas Jochens <aj@andaco.de>
388   Daniel J Laird <daniel.j.laird@nxp.com>
389   Marko M�kel� <marko.makela@hut.fi>
390   Nils Magnus Larsgard <nmlarsgaard@atmel.no>
391   P�r Degerman <parde@ikp.liu.se>
392   Michel van Noorloos <michel.van.noorloos@sioux.nl>
393   Gery <gxkahn@gmail.com>
394   Shane <shanevolpe@gmail.com>
395   Paul Mackerras <paulus@samba.org>
396   Attilio Fiandrotti <attilio.fiandrotti@gmail.com>
397   Vaclav Slavik <vslavik@fastmail.fm>
398   Philip J�genstedt <philipj@opera.com>
399   sridewa <sridewa@gmail.com>
400   Eugene Everson <eugene@tranzas.co.jp>
401   Mike Crowe <mac@mcrowe.com>
402   Kieran Bingham <kbingham@mpc-data.co.uk>
403   Luis Mondesi +lemsx1 +gmail,com
404   Keith Mok <ek9852@gmail.com>
405   GARDET Guillaume <ggardet@adeneo.adetelgroup.com>
406   Phil Endecott <spam_from_directfb_dev@chezphil.org>
407   Brian Austin <brian.austin@cirrus.com>
408   Keith Mok <ek9852@gmail.com>
409   Young Hoon <jcybha@hanmail.net>
410
411Special thanks to Ville Syrjala for his great work on the
412Matrox TV-Out support and for his several patches including
413fixes and enhancements for the whole library. He also did
414several ports like UAE or mplayer for DirectFB. Check out his
415site at 'http://www.sci.fi/~syrjala/'.
416
417
418Legal stuff
419-----------
420
421   (c) Copyright 2001-2009  The DirectFB Organization (directfb.org)
422   (c) Copyright 2000-2004  Convergence (integrated media) GmbH
423
424   All rights reserved.
425
426   Written by Denis Oliver Kropp <dok@directfb.org>,
427              Andreas Hundt <andi@fischlustig.de>,
428              Sven Neumann <neo@directfb.org>,
429              Ville Syrjälä <syrjala@sci.fi> and
430              Claudio Ciccani <klan@users.sf.net>.
431
432   This library is free software; you can redistribute it and/or
433   modify it under the terms of the GNU Lesser General Public
434   License as published by the Free Software Foundation; either
435   version 2 of the License, or (at your option) any later version.
436
437   The complete text of the license is found in the file COPYING.
438