UBUNTU/Installation

From VDR Wiki
Revision as of 15:27, 19 July 2006 by Rwall (talk | contribs) (oops and another)
Jump to navigation Jump to search

Tips for Installing VDR on Ubuntu

This article contains tips and advice for setting up VDR and plugins on Ubuntu. Ubuntu releases are based on snapshots of Debian Unstable; therefore the following may be of use to Debian users too. Indeed, later in this article we show how to compile bleading edge versions of the VDR packages from the Debian VDR and DVB Packaging Project.

Installing from Binary Packages

VDR has been available in the Ubuntu Universe repository since its first release.

Before you can install VDR packages, you must first add the Universe repository to your Apt sources list. Now you can use Aptitude or Synaptic to search for available vdr packages. eg.

richard@lazar:~$ aptitude search ^vdr
p   vdr                             - Video Disk Recorder for DVB cards
v   vdr-daemon                      -
id  vdr-dev                         - Video Disk Recorder for DVB cards
v   vdr-kbd                         -
v   vdr-lirc                        -
p   vdr-plugin-bitstreamout         - Plugin to vdr for playing AC3-Sound via yo
p   vdr-plugin-console              - Plugin for vdr that implements a virtual t
p   vdr-plugin-dvd                  - Plugin to vdr for playing DVD's
p   vdr-plugin-examples             - Plugins for vdr to show some possible feat
p   vdr-plugin-femon                - DVB frontend status monitor plugin for vdr
p   vdr-plugin-freecell             - Plugin to vdr that implements the card gam
p   vdr-plugin-games                - Plugin to vdr for playing tetris, snake an
p   vdr-plugin-mp3                  - Plugin to vdr for playing mp3's
p   vdr-plugin-osdteletext          - Teletext plugin for vdr
p   vdr-plugin-prefermenu           - Plugin that implements a preferred channel
p   vdr-plugin-remote               - Plugin for vdr to support the built-in rem
p   vdr-plugin-sky                  - Plugin for using a Sky Digibox with vdr
p   vdr-plugin-vcd                  - Plugin to vdr for playing (S)VCD's
p   vdr-plugin-weather              - Weather plugin for vdr
v   vdr-rcu                         -
p   vdradmin                        - Web-based administration tool for vdr
  • If you have a fully featured DVB card (one with a builtin MPEG decoder chip) then these packages will probably be all you need to get started. Use Aptitude or Synaptic to install the base "vdr" package and then skip to the configuration section
  • If on the other hand you have bought a so called budget DVB card, there is more work to be done. Read the next section.

Installing from Debian Package Sources

Instead of simply installing the standard binary packages described above you can instead compile your own packages using Debian packaging tools and sources from the Debian VDR and DVB Packaging Project. This way you get a greater selection of and much more up to date versions of VDR packages plus easy package installation, setup, and if necessary removal.

If you have a budget DVB card and need to use a software decoder plugin such as xinelibout or the DXR3 MPEG decoding device plugin, this section may be particularly usefule to you.

First read [1] and then follow the instructions below.

  • Install svn-buildpackage and its dependencies. This lives in the Ubuntu Universe repository, so if you haven't already done so, add Universe to your sources.lst
richard@lazar:~$ sudo aptitude install svn-buildpackage
Password:
Reading package lists... Done
...etc...
  • Tell svn-buildpackage where to put compiled packages and where to find source tarballs.
richard@lazar:~$ echo "svn-override=buildArea=${HOME}/src/debian-vdr/build-area,origDir=${HOME}/src/debian-vdr/tarballs" > .svn-buildpackage.conf
  • Setup a folder to do the package building in.
richard@lazar:~$ mkdir -p src/debian-vdr
richard@lazar:~$ cd src/debian-vdr/
richard@lazar:~/src/debian-vdr$
  • Check out the tarballs. There are alot of them and some are quite large, so this may take a long time.
richard@lazar:~/src/debian-vdr$  svn co svn://svn.debian.org/svn/pkg-vdr-dvb/tarballs
A    tarballs/vdr-plugin-nordlichtsepg_0.8a.orig.tar.gz
A    tarballs/vdr-plugin-osdtest256_0.1.0.orig.tar.gz
A    tarballs/vdr-plugin-freecell_0.0.2.orig.tar.gz
A    tarballs/vdr-plugin-xine_0.7.9.orig.tar.gz
...etc...
  • Check out the debian build scripts.
richard@lazar:~/src/debian-vdr$ svn co svn://svn.debian.org/svn/pkg-vdr-dvb/vdr/vdr/trunk vdr/vdr
A    vdr/vdr/debian
A    vdr/vdr/debian/control
A    vdr/vdr/debian/config-loader.sh
...etc...
  • Start compiling the package
richard@lazar:~/src/debian-vdr$ cd vdr/vdr/
richard@lazar:~/src/debian-vdr/vdr/vdr$ svn-buildpackage -rfakeroot -uc -us
Imported config directives:
        --svn-override=buildArea=/home/richard/src/debian-vdr/build-area,origDir=/home/richard/src/debian-vdr/tarballs
        trunkDir: /home/richard/src/debian-vdr/vdr/vdr
        trunkUrl: svn://svn.debian.org/svn/pkg-vdr-dvb/vdr/vdr/trunk
dpkg-checkbuilddeps
dpkg-checkbuilddeps: Unmet build dependencies: libcap-dev
Insufficient Build-Deps, stop!

You will very likely see something like this telling you that you need to install dependencies. So do that and retry.

richard@lazar:~/src/debian-vdr/vdr/vdr$ sudo aptitude install libcap-dev
Password:
...etc...
  • If all went well, you should see...
...etc..
build command was successful; binaries are in /home/richard/src/debian-vdr/build-area/. The changes file is:
 /home/richard/src/debian-vdr/build-area/vdr_1.4.1-1_i386.changes
Binary packages:
 /home/richard/src/debian-vdr/build-area/vdr-dev_1.4.1-1_all.deb /home/richard/src/debian-vdr/build-area/vdr_1.4.1-1_i386.deb /home/richard/src/debian-vdr/build-area/vdr-plugin-sky_1.4.1-1_i386.deb /home/richard/src/debian-vdr/build-area/vdr-plugin-examples_1.4.1-1_i386.deb
rm -rf /home/richard/src/debian-vdr/build-area/vdr-1.4.1
richard@lazar:~/src/debian-vdr/vdr/vdr$
  • Finally install the packages.
richard@lazar:~/src/debian-vdr/vdr/vdr$ cd ../../build-area/
richard@lazar:~/src/debian-vdr/build-area$ ls
vdr_1.4.1-1.diff.gz       vdr_1.4.1.orig.tar.gz
vdr_1.4.1-1.dsc           vdr-dev_1.4.1-1_all.deb
vdr_1.4.1-1_i386.changes  vdr-plugin-examples_1.4.1-1_i386.deb
vdr_1.4.1-1_i386.deb      vdr-plugin-sky_1.4.1-1_i386.deb
richard@lazar:~/src/debian-vdr/build-area$ sudo dpkg -i vdr_1.4.1-1_i386.deb vdr-dev_1.4.1-1_all.deb
  • You will be prompted about:
    • DVB kernel modules (in my experience DVB modules are automatically loaded)
    • Default recordings directory (it recommends /var/lib/video.00 and asks to create it, I always say no and manually create a /srv/vdr folder, it's up to you)
    • Choose your card type

Configuration

  • Try running vdr. The default Video directory is not writable by my user so while we are testing vdr we ask it to use /tmp for video files. You may see a message "please turn off UTF-8 before starting VDR". If so try defining the LANG environment variable:
richard@lazar:~$ LANG=c vdr -v /tmp
vdr: error while reading '/var/lib/vdr/channels.conf'

You may see this error (at least I did) and it means that the channels.conf file is somehow corrupt. You need to update the channels.conf anyway; it must be tailored to your DVB type (ie DVB-C, DVB-S, DVB-T) and if you are using DVB-T the frequencies depend on your local transmitter. To make a channels.conf use the 'scan' commandline tool, which is part of the dvb-utils package. In my case (DVB-T in the Midlands, UK) I use:

richard@lazar:~$ scan -o vdr /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-SuttonColdfield > /tmp/channels.conf
richard@lazar:~$ sudo mv /tmp/channels.conf ./

...replace dvb-t/uk-SuttonColdfield with whatever is appropriate for your area.

Having done that, you should be able to run vdr from the command line.

richard@lazar:~$ LANG="c" vdr -v /tmp
vdr: no primary device found - using first device!

...well it runs, but if you're using a budget card, it has no way of displaying the picture.

Before moving on, and now that we know that vdr is able to run, lets set it up to run as a service. Open /etc/default/vdr in you editor of choice and add 'export LANG="c"' at the top and set ENABLED=1. Mine looks like this:

richard@lazar:~$ sudo nano -w /etc/default/vdr
# /etc/default/vdr
#
# See also /usr/share/doc/README.Debian
#

export LANG="c"

# Change to 1 to enable vdr's init-script
ENABLED=1

# Change this to 1 if you want vdr to be able to shutdown the
# computer
ENABLE_SHUTDOWN=0

# Options that will be passed to vdr's commandline
# for example: OPTIONS="-w 15"
OPTIONS="-w 60"

VIDEO_DIR="/srv/vdr"

If you choose to use a different video directory than the one recommended at installation, you'll have to create it and change its owner to vdr:vdr.

richard@lazar:~/src/debian-vdr/build-area$ sudo mkdir -p /srv/vdr
richard@lazar:~/src/debian-vdr/build-area$ sudo chown -R vdr:vdr /srv/vdr

Now try starting the service

richard@lazar:~$ sudo invoke-rc.d vdr start Starting Linux Video Disk Recorder: vdr
Searching for plugins (VDR 1.4.1/1.4.1):.

Use the 'ps' command to check its running and look at the syslog to see if there were any errors

richard@lazar:~$ ps fax | tail | less -S
 8563 ?        Ss     0:00 /bin/bash /usr/sbin/runvdr -v /srv/vdr -c /var/lib/vd
 8574 ?        S      0:00  \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/vdr -L /
 8575 ?        S      0:00      \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/vdr
 8578 ?        S      0:02          \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/
 8579 ?        RN     0:02          \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/
richard@lazar:~$ tail /var/log/syslog | less -S
Jul 19 16:10:34 vito vdr: [8739] found 1 video device
Jul 19 16:10:34 vito vdr: [8739] ERROR: invalid primary device number: 2
Jul 19 16:10:34 vito vdr: [8739] ERROR: no primary device found - using first de
Jul 19 16:10:34 vito vdr: [8739] setting primary device to 1
Jul 19 16:10:34 vito vdr: [8739] SVDRP listening on port 2001
Jul 19 16:10:34 vito vdr: [8739] setting current skin to "classic"
Jul 19 16:10:34 vito vdr: [8739] loading /var/lib/vdr/themes/classic-default.the
Jul 19 16:10:34 vito vdr: [8739] switching to channel 19
Jul 19 16:10:34 vito vdr: [8739] setting watchdog timer to 60 seconds
Jul 19 16:10:34 vito vdr: [8739] ERROR: no OSD provider available - using dummy
(END)