This guide shows you how to prepare Gentoo Linux for DVB and VDR.
- 1 General information to DVB
- 2 Preparing the system
- 3 Installing VDR
- 4 Installing the Remote Control
- 5 Video Output Methods
- 6 Creating a Channel List
- 7 Starting VDR
- 8 Troubleshooting
- 9 Acknowledgements
General information to DVB
What is DVB?
DVB stands for Digital Video Broadcasting. DVB describes methods to transfer digital data of TV, radio, interactive services like MHP, EPG and teletext. Through data compression with MPEG-2, or H.264 for HDTV, it's possible to transfer several channels on the same frequency. The more data compression, the more channels can be transferred, but you pay it with quality loss.
DVB can be transferred in several ways. The trailing letter identifies the method of transfer, e.g. DVB-T for terrestrial transmission. There are several more types:
- DVB-S for transmission over satellites
- DVB-C for transmission over cable
- DVB-H for transmission to mobile devices (terrestrial)
- DVB-IPI for transmission over IP based networks, e.g. internet
- DVB-RC(S/C/T) return channel for the transmission of data services, e.g. broadband internet
Types and requirement of DVB cards
Besides the different methods available to receive a DVB stream, the cards are classified by their type of produced output. There are cards with a decoder implemented which offer direct access to the stream by the device /dev/video. These cards are full featured cards. Other cards have no own decoder implemented and require a software decoder on the computer and are budget cards. This implies higher system requirements. Your computer's CPU should run at at least 600 MHz, and have at least 256MB of RAM. This list is useful for identifying your card.
Preparing the system
Configuring the kernel
First, we must ensure that your kernel supports DVB and your DVB device. Since kernel version 2.6 the necessary drivers are included. Check your kernel configuration and make sure the following options are selected as a static driver or as modules.
Additionally we have to select the proper driver for your hardware. To find out the right module for your card, we mark every driver as module. If you have a PCI card, install
pciutils if you haven't already. If you want built-in drivers or you don't own a PCI card, skip this step and continue with Checking the kernel output.
After booting the new kernel, we run
pcimodules to list the required modules.
In this case we have to load the module
b2c2-flexcop-pci. We add the name to /etc/conf.d/modules.
Checking the kernel output
It's recommended to mark every driver as module, so that you can add the required module dynamically, especially if you don't know the module name. If you already know the module name, select the driver as a built-in driver. Compile the kernel, install the modules and boot it. You can check if your kernel has successfully detected your card by using
If you own a TerraTec Cinergy T2, your output might look like this:
To install VDR, we just emerge it.
Installing the Remote Control
There are at least two ways to control VDR via an infrared remote control. If your TV card has an onboard IR receiver you can use
vdr-remote. Otherwise, you most likely need to use LIRC.
We first install the plugin via emerge:
When using the remote plugin for the IR port on your DVB card everything should be fine with the default config. It automatically uses the input device which has "dvb" in its name. For more advanced uses take a look at /etc/conf.d/vdr.remote.
Alternative: installing LIRC
If your card can be remotely controlled (but you cannot or do not want to use
vdr-remote ), you may wish to configure LIRC. LIRC interprets the pressed keys and returns a name for each one. A program that supports LIRC waits for key events and runs the action configured in the config file, mostly stored in the config directory of the executing program (e.g.
mplayer loads the file ~/.mplayer/lircrc ). Before we install LIRC, you have to add
lirc to your USE flags and add an additional entry to /etc/portage/make.conf:
LIRC_DEVICES. Use this list to find the proper arguments for the option.
At first we have to define each key code with a name. Most supported remote controls are configured already, take a look at the remote list. Download the required file and save it as /etc/lircd.conf. Now we have to find out where to access your remote control. Run the following command to get a list of the current input devices (make sure your device is running).
In this case we have the Terratec Cinergy T2 device plugged in, so we can access the device over /dev/input/event1. Replace
event1 with the matching device in your output.
lircd needs to know the device to use. Add the following line to /etc/conf.d/lircd. Remember to replace
devinput with the name of your driver and
event1 with the actual device.
It's time to start
Now it should be possible to watch
lircd capturing and decoding key presses. Just run the command
irw. Stop it by pressing Ctrl+C when you have enough.
Next, add it to the default runlevel so that it starts automatically at boot.
To be able to use your remote control, you must enable LIRC support in VDR. Add the following line to /etc/conf.d/vdr:
Video Output Methods
You now need to decide on one (and only one!) of the following video output devices which show the picture and the overlayed On Screen Display (OSD).
Hardware decoding: full-featured DVB cards
Users of these expensive cards need not install anything else, so you may continue with Creating a Channel List.
Hardware decoding: DXR3/Hollywood+ cards
To use a DXR3 card for VDR output we need the
The em8300 module need some configuration that depends on the exact revision of that card.
Hardware decoding: PVR350 cards
As PVR350 cards have an onboard MPEG-Decoder chip we want to make use of that. We need to install the
vdr-pvr350 plugin. If
ivtv-driver is not yet installed emerge will automatically install it for you. To have the ivtv module loaded at boot we add it to /etc/conf.d/modules:
Software decoding: vdr-softdevice
To install it, we have to emerge
vdr-softdevice. Don't forget to enable the plugin.
To select the proper video and audio output, edit /etc/conf.d/vdr.softdevice.
For now, we will only describe the shm ("shared memory") method. This is already enabled in the installed config file (Setting SOFTDEVICE_VIDEO_OUT). Later you need to start
ShmClient to get a window showing the picture.
Software decoding: vdr-xineliboutput
Some people prefer to use
vdr-xineliboutput, because it can also work remotely. We'll now teach you how to configure
vdr-xineliboutput on your host and client. First, the host setup:
Adding command line options at this point is crucial for xineliboutput to work. For more options, see
The next step is to edit /etc/vdr/svdrphosts.conf. This file describes a number of host addresses that are allowed to connect to the SVDRP port of the video disk recorder running on the host system.
If you only want to use
vdr-xineliboutput to view the picture on the same computer as the one running VDR you can continue with creating the channel list.
Otherwise, you now simply
emerge media-plugins/vdr-xineliboutput on your client:
Later (after having started VDR) you will use the command
vdr-sxfe xvdr://hostname to connect to VDR and view its picture and OSD.
Creating a Channel List
To make VDR really useful you need to create an appropriate channel list. There is more than one way to get a working list of channels (besides downloading one). The channel list installed by default is for DVB-S reception on Astra on 19.2° E.
Using dvbscan from linuxtv-dvb-apps
Find the correct frequency list for your region and type of reception. These files are stored under /usr/share/dvb. For reception with DVB-T in Germany, Berlin you need to use /usr/share/dvb/dvb-t/de-Berlin.
First, delete the contents of the existing channel list.
Channels for systems using vdr-analogtv
You'll probably want to configure your channels at this point. The VDR project provides you with some examples which can be found at /usr/share/doc/vdr-analogtv-$version/examples/, as long as you've installed >=
After having all basic software parts ready on the system you need to configure VDR with its OSD.
If you use a hardware decoder for picture output you should switch on the connected TV now. If you use software output the client for this must be started after VDR.
First, you should learn your key definitions; that is, connecting keys on your remote control to VDR's internal commands.
We begin with starting VDR:
For users of vdr-softdevice:
For users of vdr-xineliboutput:
The most useful keys for VDR are:
- Cursor keys (Left/Right/Up/Down)
- Colors (Red/Green/Yellow/Blue)
- Number keys (0-9)
Now that the basic installation is over, you need to configure VDR. Switch to your output screen and follow the on-screen instructions. VDR asks you to press various keys on your remote control to learn the correct key codes. If you don't own a remote control, you can use your keyboard.
Now you can add the VDR initscript to the default runlevel to get it started every time your computer boots up.
We would like to thank the following authors and editors for their contributions to this guide:
- Norman Golisz
- Dimitry Bradt
- Matthias Schwarzott
- Joshua Saddler