DirectFB README
---------------

   This is a developers release of DirectFB.

   DirectFB is a graphics library which was designed with embedded systems 
   in mind. It offers maximum hardware accelerated performance at a minimum 
   of resource usage and overhead. 

   Check http://www.directfb.org/ for more and uptodate infos.


Requirements
------------

   - Linux kernel 2.4.x with working framebuffer device (check /proc/fb).

   - freetype 2.0.1
   - libpng2
   - libjpeg62
   - zlib

   The build of the image and font providers can be disabled but we strongly
   suggest that you don't do this since the code examples and DirectFB apps
   depend on the functionality provided by them.

   The video providers require some libraries that are not commonly
   installed. We have provided packages on our web-site at
   http://www.directfb.org/download/contrib/.

   - If you have avifile, but not the correct version, you can explicitly 
     disable building it by passing --disable-avifile to configure.
   - To build the SWF video provider, you need libflash.
   - To build the MPEG video provider, download and compile libmpeg3 and 
     specify the path to the source when configuring DirectFB:
     ./configure --with-libmpeg3=<path_to_libmpeg3_source>. 


Additional Requirements for some Demos
--------------------------------------

   - PS/2 or serial mouse (MS protocol) for windowing, USB and ADB mice also 
     work via PS/2 emulation.
     Please stop gpm before using the mouse in DirectFB.
   - Video card supported by video4linux for df_video.
   - A joystick for df_joystick.


Recommendations
---------------

   To take full advantage of hardware acceleration, a Matrox G200 or G400 
   graphics card is recommened for this version of DirectFB. The drivers for 
   ATI128, Voodoo 3/4/5/Banshee and NeoMagic cards included with this release
   are work in progress and only yet support a subset of the possible 
   accelerations.


Installation
------------

   1) In the DirectFB directory type:

	./configure
	make
	make install (as superuser)

      Use 'configure --help' to get a list of possible configure options. 

   2) Make sure that /usr/local/lib is listed in your /etc/ld.so.conf.
      If you added it you have to run 'ldconfig' as superuser.

   3) Copy fb.modes to /etc or merge it with your existing /etc/fb.modes file. 
      The first entry will be used by default - copy other entries you may 
      need.

   4) If you want to use a serial mouse, create a link called /dev/mouse
      that points to serial device (e.g. /dev/ttyS0). Then add a line
      describing your mouse-protocol to /etc/directfbrc or ~/.directfbrc:
      "mouse-protocol=[ms|ms3|mouseman|mousesystems]".


Configuring the Linux framebuffer device
----------------------------------------

   DirectFB needs a Linux kernel with framebuffer support. Check the 
   documentation in the kernel tree (/usr/src/linux/Documentation/fb/) on 
   how to enable the framebuffer device for your graphics card. 

   The generic vesa fbdev driver 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 framebuffer to write-combining.

	vga=791

   This sets the mode on startup. 791 means 1024x768@16, 788 means 800x600@16.

   Other framebuffer devices support mode switching. DirectFB will only 
   support modes listed in your /etc/fb.modes file. By default the first 
   entry found is used. Make sure that it is a mode with at least 15bpp 
   bitdepth (16bpp recommened).

   If you use an ATI128 or a RivaTNT apply the corresponding patch in the
   'patches' directory to the kernel.

   If you have a Matrox G200/G400 you may try the highly experimental vsync 
   patch that enables applications to "idle wait" for the vertical retrace.

Documentation
-------------

   A complete API reference documentation in HTML format is created during 
   the build in the docs directory.


Thanks to
---------

   Johannes Zellner <johannes@zellner.org>
   Till Adam <till@adam-lilienthal.de>
   Joachim Steiger <roh@convergence.de>
   Felix von Leitner <leitner@fefe.de>
   Johannes Stezenbach <js@convergence.de>
   Michael Natterer <mitch@convergence.de>
   Holger Waechtler <holger@convergence.de>
   Kim JeongHoe <king@mizi.com>
   Jason Gaiser <jasno@san.rr.com>


Legal stuff
-----------

   (c) Copyright 2000  convergence integrated media GmbH.
   All rights reserved.

   Written by Denis Oliver Kropp <dok@convergence.de> and
              Andreas Hundt <andi@convergence.de>.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   The complete text of the license is found in the file COPYING. 
