|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| data/ | H | 03-May-2022 | - | 518 | 446 |
| docs/ | H | 03-May-2022 | - | 2,129 | 1,757 |
| gfxdrivers/ | H | 03-May-2022 | - | 113,661 | 82,907 |
| include/ | H | 03-May-2022 | - | 10,527 | 5,856 |
| inputdrivers/ | H | 03-May-2022 | - | 24,468 | 19,060 |
| interfaces/ | H | 03-May-2022 | - | 13,936 | 10,393 |
| lib/ | H | 03-May-2022 | - | 40,992 | 27,481 |
| m4/ | H | 23-May-2012 | - | 44 | 36 |
| patches/ | H | 03-May-2022 | - | 511 | 435 |
| proxy/ | H | 03-May-2022 | - | 21,290 | 15,617 |
| rules/ | H | 03-May-2022 | - | 486 | 411 |
| src/ | H | 03-May-2022 | - | 107,457 | 74,803 |
| systems/ | H | 03-May-2022 | - | 24,950 | 17,813 |
| tests/ | H | 03-May-2022 | - | 7,780 | 5,155 |
| tools/ | H | 03-May-2022 | - | 11,034 | 7,709 |
| wm/ | H | 03-May-2022 | - | 19,026 | 13,249 |
| AUTHORS | H A D | 23-May-2012 | 1.3 KiB | 30 | 24 |
| COPYING | H A D | 23-May-2012 | 25.8 KiB | 505 | 418 |
| ChangeLog | H A D | 23-May-2012 | 1.5 MiB | 43,832 | 29,965 |
| INSTALL | H A D | 02-Apr-2012 | 15.4 KiB | 371 | 288 |
| Makefile.am | H A D | 23-May-2012 | 988 | 69 | 47 |
| Makefile.in | H A D | 03-May-2022 | 31.2 KiB | 979 | 877 |
| NEWS | H A D | 23-May-2012 | 213.1 KiB | 4,505 | 3,827 |
| README | H A D | 23-May-2012 | 16.1 KiB | 438 | 336 |
| TODO | H A D | 23-May-2012 | 2.2 KiB | 64 | 44 |
| aclocal.m4 | H A D | 23-May-2012 | 347.2 KiB | 9,893 | 8,899 |
| autogen.sh | H A D | 23-May-2012 | 3.6 KiB | 148 | 107 |
| compile | H A D | 02-Apr-2012 | 6.7 KiB | 311 | 226 |
| config.guess | H A D | 30-Mar-2012 | 43.8 KiB | 1,531 | 1,321 |
| config.h.in | H A D | 23-May-2012 | 4.9 KiB | 192 | 132 |
| config.sub | H A D | 30-Mar-2012 | 34.6 KiB | 1,774 | 1,631 |
| configure | H A D | 03-May-2022 | 705 KiB | 23,795 | 20,045 |
| configure.in | H A D | 03-May-2022 | 52.3 KiB | 1,974 | 1,631 |
| depcomp | H A D | 02-Apr-2012 | 19.9 KiB | 689 | 448 |
| directfb-config.in | H A D | 23-May-2012 | 6.9 KiB | 316 | 268 |
| directfb-internal.pc.in | H A D | 23-May-2012 | 316 | 12 | 10 |
| directfb.pc.in | H A D | 23-May-2012 | 375 | 13 | 11 |
| directfb.spec | H A D | 23-May-2012 | 3.2 KiB | 119 | 96 |
| directfb.spec.in | H A D | 23-May-2012 | 3.2 KiB | 119 | 96 |
| fb.modes | H A D | 23-May-2012 | 1.8 KiB | 91 | 71 |
| install-sh | H A D | 02-Apr-2012 | 13.7 KiB | 528 | 351 |
| ltmain.sh | H A D | 12-Nov-2011 | 277 KiB | 9,662 | 7,310 |
| missing | H A D | 02-Apr-2012 | 10.1 KiB | 332 | 243 |
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