First, if you don't feel comfortable with a compiler then this is not the right place for you. You can try to follow this guideline. But this is by far not failsafe. After every patch it may be that something is not working. So be warned :-).
The following is a list of prereqisites, things you need to build df-gp.
gcc 2.95.3 (gcc 3.2 should work too)Download all the files from the download page and put them into a directory. This directory will be called SRCDIR in the following text.
If you want to follow the following examples easily you can define this as an environment variable.
Take a fresh 2.4.19-rc3 kernel. Become super user. Unpack it and go into the upper most directory of the kernel sources tree.
Apply the patches:
cd /usr/src/linux zcat $SRCDIR/mga-2.4.19-rc3-tvout-v3.gz | patch -p 1 zcat $SRCDIR/mga-2.4.19-rc3-sync.gz | patch -p 1
Now configure the kernel. The following should be set:
CONFIG_FB_MATROX=m # CONFIG_FB_MATROX_MILLENIUM is not set # CONFIG_FB_MATROX_MYSTIQUE is not set # CONFIG_FB_MATROX_G450 is not set CONFIG_FB_MATROX_G100A=y CONFIG_FB_MATROX_G100=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m CONFIG_FB_MATROX_PROC=m # CONFIG_FB_MATROX_MULTIHEAD is not set
Build the kernel. Of course this shouldn't give any problems.
make bzlilo modules modules_install
Reboot your machine.
Now you should be able to start the TV-out in the usual way. There is a little script (tvout) which has to run as root .
After that run v4lctl -c /dev/fb0 list as root.
It should show you the possible controls.
ioctl: VIDIOC_ENUMSTD(cmd=0xc0545619): Inappropriate ioctl for device ioctl: VIDIOC_ENUM_PIXFMT(cmd=0xc0385602): Inappropriate ioctl for device ioctl: VIDIOC_G_INPUT(cmd=0x80045626): Inappropriate ioctl for device attribute | type | current | default | comment -----------+--------+---------+---------+------------------------------------- norm | choice | (null) | (null) | input | choice | (null) | (null) | bright | int | 169 | 124 | range is 0 => 768 contrast | int | 368 | 127 | range is 0 => 1023 color | int | 205 | 155 | range is 0 => 255 hue | int | 0 | 0 | range is 0 => 255 gamma | int | 3 | 3 | range is 0 => 18 test outpu | bool | off | off | deflicker | int | 0 | 0 | range is 0 => 2The
v4lctl you get from a v4ltools package.
See man v4lctl to learn more about the usage of it.
Attention: The kernel patch modifies the linux/fb.h header file. Often there is a copy of this file in /usr/include/linux. To be sure to get the desired effect, you have to either copy the file or create a symbolic link from /usr/include/linux to /usr/src/linux/include/linux.
Get DirectFB 0.9.13 and GTK+-directfb from www.directfb.org
Apply DirectFb patch:
cd DirectFb zcat $SRCDIR/DirectFB.gz | patch -p 1 make
I'm using the AOI patch, but the osd patch should also apply to the plain VDR. Only the patches in spu.c will fail then, but you can ignore this. I put VDR in the directory VDR_STDIO because it will be controlled by stdio (keyboard).
cd VDR_STDIO zcat $SRCDIR/dfbosd.gz | patch -p1 make REMOTE=KBD DVD=1 MP3=1 MPLAYER=1 DFB_OSD=1
Well, enough of patching. Now we build df-gp.
tar xvzf df_gp-0.0.4.tar.gz cd df_gp-0.0.4 ./configure make /bin/su make installThis is the main application. You should be able to run this application already. But have a look at How to run.
Build the vdr plugin:
tar xvzf gp_vdr-0.0.4.tar.gz cd gp_vdr-0.0.4 ./configure --with-dvbdir=YourDVBDir --with-vdrdir=YourVDRDir make /bin/su make installThe output of the configure step should be something like that:
Build options: DVB ost include from /home/dvb/soft/Linux/video/DVB/ost/include VDR include from /home/dvb/soft/Linux/video/VDR_STDIO
Build the mplayer-plugin:
tar xvzf gp-mplayer-0.0.4.tar.gz cd gp-mplayer-0.0.4 ./configure make /bin/su make install exit$Date: 2002/10/17 17:53:21 $