*** DirectFB 0.9.17 has a bug which may prevent apps from working properly. If you are getting the following errors please update to the latest CVS version or apply "surfacemanager_fix.patch" from my website. (!) DirectFB/Core/layers: Reallocation of layer surface failed! (!) DirectFB/Core/layers: Could not allocate surface! *** DirectFB includes TV out support for Matrox G400/G450/G550 cards. If you've used the Windows drivers you most likely know about DVDMax... DirectFB provides the same functionality. Now you can get excellent quality video playback on your TV. DirectFB TV output features: - interlaced picture - 720x576 50Hz PAL and 720x480 60Hz NTSC - ARGB1555, RGB16, RGB32, ARGB, YUY2, UYVY, I420, YV12 pixel formats - hardware blended sub-picure in I420 and YV12 modes - brightness, contrast, hue, saturation adjustments - no more tweaking sessions with fbset to get the image centered :) If you want G450/G550 support use DirectFB 0.9.16 or later. In fact I recommend you do so even with G400 since I fixed some problems with that code too. Installation instructions: Linux kernel setup: 1. Apply kernel patches (optional): - All patches are found patches subdirectory of DirectFB sources. - To apply a patch do "bzcat patch_file.bz2 | patch -p1" inside the kernel source directory. Check the output for any errors. matroxfb-vsync-c2vline-irq-patch-2.4.19.bz2: This patch enables IRQ based vblank waiting. Make sure your card has an IRQ assigned to it. You may have an option in the BIOS setup for this. Note: Add "#define FBIO_WAITFORVSYNC _IOW('F', 0x20, int)" to /usr/include/linux/fb.h matroxfb-32mb.diff.bz2: Use this patch if you have a 32MB card and you want DirectFB to use all the memory instead of just 16MB. It won't hurt anything with a 16MB card either. fusion-full-linux-2.4.20.patch.bz2: Use this patch if you want to run multiple DirectFB apps at the same time. This is very useful and you should definitely use this one. Note: Copy include/linux/fusion.h to /usr/include/linux/fusion.h after applying the patch. Note: You must also create the fusion device file. 'mknod /dev/fusion c 10 23' 2. Build and install the kernel. Set the following options: If you applied the fusion patch: CONFIG_FUSION_DEVICE For G450/G550: CONFIG_FB_MATROX CONFIG_FB_MATROX_G100 CONFIG_FB_G450 For G400: CONFIG_FB_MATROX CONFIG_FB_MATROX_G100 CONFIG_I2C CONFIG_I2C_ALGOBIT CONFIG_I2C_CHARDEV CONFIG_I2C_PROC CONFIG_FB_MATROX_I2C Note: do not build CONFIG_MATROX_MAVEN into the kernel. It will prevent DirectFB from controlling the TV-out. If you really need it make it a module so you can remove it before using DirectFB. 3. (G400 only) Make sure you have the proper /dev/i2c-N device file in place. After loading i2c-matroxfb module you should see MAVEN in /proc/bus/i2c. You must have the corresponding device file. To create these files use: 'mknod /dev/i2c-N c 89 N' where N is 0,1,2... The number might change depending on the order you load i2c modules so you may want to create some extra files. DirectFB setup: 1. Build and install DirectFB. ./configure make make install Note: Use './configure --enable-multi' if you applied the fusion patch to your kernel. 2. Use the following DirectFB options: matrox-crtc2 matrox-tv-standard=pal or ntsc You can store them in /etc/directfbrc or ~/.directfbrc so that the will be used every time. All done: That's pretty much it. Well you do need some applications. mplayer has a special video out plugin 'dfbmga' for this stuff. You need a recent version of mplayer to use it. Check www.directfb.org for more DirectFB apps. Note however that not all apps are suitable for using with the TV out. It's mainly useful for video playback. If you have any problems/questions/suggestions directfb-users mailing list is a good place to send a message. Or you can contact me directly