VDR installation

From VDR Wiki
Jump to navigation Jump to search

This page explains how to compile and install VDR on your linux system (if you don't want to have it done for you by your distro's package manager).

Requirements

Info
Info

The variable $SOURCEDIR stands for the directory where all the sources archives should be decompressed. Common directories are /usr/local/src, /usr/src and the home directory of the user.


To install VDR, the DVB driver has to be placed in the DVB directory, parallel to VDR.

$SOURCEDIR/DVB
$SOURCEDIR/VDR

For the DVB driver in kernel 2.6 create a symbolic link

ln -s /usr/src/linux $SOURCEDIR/DVB

or use your distribution's kernel headers package.

For everything concerning the DVB driver see DVB installation.

Also the JPEG library has to be present on the system. In a typical distribution, the library and the development headers are in separate packages; to be able to compile VDR, you need both (though to run it, you need only the library). If you want or need to install it from source:

cd $SOURCEDIR
tar -xvzf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local
make
make install
ldconfig
Warning
Warning

VDR 1.2.x and older 1.3.x don't work with NPTL (Native Posix Thread Library). Either don't use NPTL, or set the environment variable LD_ASSUME_KERNEL by entering

export LD_ASSUME_KERNEL=2.4.1

before running VDR.

VDR 1.3.27 and later do not appear to have any problems with NPTL.

Also, please make sure your environment is NOT set to use UTF-8 or any other multibyte character representation. If so, it should be replaced by something like iso8859-1. Depending on the distribution the variables LANG and LC_CTYPE could be in different locations. These have to be set before starting VDR

export LANG=de_DE.iso8859-1
export LC_CTYPE=de_DE.iso8859-1

de_DE.euro should also work.


First of all a recent version of VDR is required. There are two releases to choose from, the stable release with an even version number (like 1.2.x) and the developer release with a odd version number (like 1.3.x).

Which version to choose? The developer release has more features, but for the stable release more plugins are available. Both stable and development packages can be downloaded from [1]

Installation

The source is decompressed in the $SOURCEDIR and a symbolic link to VDR is created

cd $SOURCEDIR
tar -jxvf /path/to/vdr-<VERSION>.tar.bz2
ln -s vdr-<VERSION> VDR
cd VDR

Now a simple

make

compiles VDR.

The VDR build can be customised, using one of the following option with the make command

REMOTE=RCU "Remote Control Unit", a purpose-build for VDR infrared receiver (see [2])
REMOTE=LIRC "Linux Infrared Remote Control". Infrared receiver for Linux (see [3])
VFAT=1 If the video directory is a Windows VFAT partition or should be shared via samba, this parameter is needed
NO_KBD=1 disables keyboard control

With this the make command could look like this

make VFAT=1 REMOTE=LIRC

If the plugins should also be compiled, use this

make VFAT=1 REMOTE=LIRC all plugins

But see plugin installation for more information on this.

All the parameter can be put into a Make.config file in the VDR directory for convenience

cp Make.config.template Make.config
$EDITOR Make.config

with e.g.

REMOTE=LIRC VFAT=1

At first the desired directory has to be created

su
mkdir /var/spool/video
mkdir /var/spool/epg
mkdir /etc/vdr
mkdir /usr/lib/vdr

These directory are for the recordings, for the EPG data, the configuration files and for the plugins. The directory can of course be altered to the personal likings. Especially the from the video directory separated configuration directory has the advantage of using different VDR versions with different configurations, but with one directory for the recordings.

Now the needed files must be copied over

cp vdr /usr/bin
cp *.conf /etc/vdr
cp PLUGINS/lib/* /usr/lib/vdr

Some programs need the svdrpsend.pl script in the $PATH, like vdrconvert-plugin/vdrrip-plugin

cp svdrpsend.pl /usr/local/bin

If the manual pages are disired

gzip -c vdr.1 > /usr/man/man1/vdr.1.gz
gzip -c vdr.5 > /usr/man/man5/vdr.5.gz

Configuration

Invocation

At startup VDR needs to know where all the file are and should go

vdr --video=/var/spool/video \
    --epgfile=/var/spool/epg \
    --config=/etc/vdr \
    --lib=/usr/lib/vdr \
    [further parameter]

For further parameters see VDR options.

Network

VDR offers the possibility to be controlled over the network with the help of the SVDRP protocol. In the configuration file svdrphosts.conf every host and/or network is listed that is allowed to access to VDR. Only localhost is allowed in the standard configuration.

There is a project which is work in progress aims to provide a network remote control. It has just started and it's very buggy but it shouldn't take long for it to be more stable. It is called vdr-netremote and you can find it here.

Miscellaneous

runvdr is a start script for VDR that comes with the sources. It not only starts VDR it also starts the DVB driver and recovers all after a crash.

Links

[1] http://www.cadsoft.de/vdr VDR homepage
[2] ftp://ftp.cadsoft.de/vdr/Developer VDR download directory
[3] http://www.cadsoft.de/vdr/remote.htm Remote Control Unit for VDR
[4] http://www.lirc.org LIRC homepage
[5] http://www.ijg.org libjpeg