VDR installation: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
(new VDR hompage)
 
(13 intermediate revisions by 9 users not shown)
Line 1: Line 1:
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==
==Requirements==
{{Box Hint|
{{Box 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.
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.
}}
}}
Line 13: Line 15:
ln -s /usr/src/linux $SOURCEDIR/DVB
ln -s /usr/src/linux $SOURCEDIR/DVB
</pre>
</pre>
or use your distribution's kernel headers package.


For everything else, concerning the DVB driver see [[DVB installation]].
For everything concerning the DVB driver see [[DVB installation]].


Also the [[JPEG]] library has to be present on the system. In a normal distribution this should be the case, otherwise
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:
<pre>
<pre>
cd $SOURCEDIR
cd $SOURCEDIR
Line 28: Line 31:


{{Box Warning|
{{Box Warning|
VDR currently doesn't work with NPTL (''Native Posix Thread Library'').
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
Either don't use NPTL, or set the environment variable


<nowiki>LD_ASSUME_KERNEL=2.4.1</nowiki>
<nowiki>export LD_ASSUME_KERNEL=2.4.1</nowiki>


before running VDR.
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
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
Line 45: Line 49:
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).
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 is choosed depends. The developer release has more features, but for the stable release more plugins are available.
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 [ftp://ftp.cadsoft.de/vdr/]


==Installation==
==Installation==
The source is decomplessed in the ''$SOURCEDIR'' and a symbolic link vo ''VDR'' is created
The source is decompressed in the ''$SOURCEDIR'' and a symbolic link to ''VDR'' is created
<pre>
<pre>
cd $SOURCEDIR
cd $SOURCEDIR
Line 68: Line 72:
|-
|-
|bgcolor=#efefef|REMOTE=[[LIRC]]
|bgcolor=#efefef|REMOTE=[[LIRC]]
| ''"Linux Infrared Remote Control"''. Infrarot receiver for Linux (see [http://www.lirc.org])
| ''"Linux Infrared Remote Control"''. Infrared receiver for Linux (see [http://www.lirc.org])
|-
|-
|bgcolor=#efefef|VFAT=1
|bgcolor=#efefef|VFAT=1
Line 106: Line 110:
mkdir /usr/lib/vdr
mkdir /usr/lib/vdr
</pre>
</pre>
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 seperated configutation directory has the advantage of using different VDR versions with different configurations, but with one directory for the recordings.
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
Now the needed files must be copied over
Line 120: Line 124:
</pre>
</pre>


If the manual pages are disired
If the manual pages are desired
<pre>
<pre>
gzip -c vdr.1 > /usr/man/man1/vdr.1.gz
gzip -c vdr.1 > /usr/man/man1/vdr.1.gz
Line 127: Line 131:


==Configuration==
==Configuration==
===Invovation===
===Invocation===
At startup VDR needs to know where all the file are and should go
At startup VDR needs to know where all the files are and should go
<pre>
<pre>
vdr --video=/var/spool/video \
vdr --video=/var/spool/video \
Line 139: Line 143:


===Network===
===Network===
VDR offers the possibility to be controlled over the network with the help of the [[svdrp|SVDRP]] protokoll. In the configutation 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.
VDR offers the possibility to be controlled over the network with the help of the [[svdrp|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.


===Miscellaneous===
===Miscellaneous===
Line 147: Line 151:
{|
{|
| [1]
| [1]
| http://www.cadsoft.de/vdr
| http://www.tvdr.de/
| VDR homepage
| VDR homepage
|-
|-
| [2]
| [2]
| ftp://ftp.cadsoft.de/vdr/Developer
| ftp://ftp.tvdr.de/vdr/
| VDR download directory
| VDR download directory
|-
|-
| [3]
| [3]
| http://www.cadsoft.de/vdr/remote.htm
| http://www.tvdr.de/remote.htm
| Remote Control Unit for VDR
| Remote Control Unit for VDR
|-
|-

Latest revision as of 17:49, 14 October 2009

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 desired

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 files 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.

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.tvdr.de/ VDR homepage
[2] ftp://ftp.tvdr.de/vdr/ VDR download directory
[3] http://www.tvdr.de/remote.htm Remote Control Unit for VDR
[4] http://www.lirc.org LIRC homepage
[5] http://www.ijg.org libjpeg