I’m starting VDR from inside MMS (My Media System, a lightweight media center for Linux [wiki][forum][bug]), so it’s actually a HOWTO about installing a whole Media Center PC (HTPC).
I’m still using MMS, and not XBMC, MythTV or Elisa because I like it slim, fast, reliable. Especially my kids, wife and my mother must be able to use it without any problems.
You need a Lucid (K)Ubuntu(-server) already installed. This won’t be described here. I’m using a x64 system with an AMD Athlon 5050e and a onboard Nvidia 8200, and also have a running MMS and VDR on Intel Core 2 Duo CPU E7300 @ 2.66GHz with an Nvidia GT 8500. You definitely need a Nvidia graphics cards >= 8200 to be able to make use of HD hardware acceleration (VDPAU).
The AMD system needs a workaround with
cpupowerd for a C1E power state quirk to make it work smoothly though.
I’m using DVB-S2 3200 Technotrend (same as Technisat Skystar HD) satellite cards.
The configuration of MMS won’t be in my scope here either. If you want to try it, add this PPA repo into
deb http://ppa.launchpad.net/mms-prodeia/ppa/ubuntu lucid main deb-src http://ppa.launchpad.net/mms-prodeia/ppa/ubuntu lucid main
Afterwards do a:
aptitude update aptitude install mms mms-plugin-audio mms-theme-midnight mms-input-keyboard mms-output-sdl mms-plugin-movie mms-plugin-movie mms-plugin-game mms-plugin-picture mms-plugin-picture mms-plugin-weather mms-plugin-clock
. Read here  for a detailed package overview. And here  about the latest updates.
I will drop a line about the config string for the
vdr-sxfe in the
/etc/mms/TVConfig file later. Start MMS by typing
mms in your command line, or hit Alt+F2 and type
mms there. (
/etc/mms/Config is a good place to start the configuration. E.g. the resolution)
Lucid is different!
If you used to install and remove your proprietary Nvidia-Vdpau driver automatically or manually, then you will be confused the first time trying to make Nvidia drivers work with Lucid. And you definitely need Nvidia proprietary drivers to make VDR work with HDTV support, and not the default
nouveau driver, which is shipped with Lucid now. First, we need to blacklist the
nouveau driver, and whitelist the
nvidia-current driver. Go therefor into
blacklist-local.conf and comment out by adding a leading # to the
line, and add the
line into that config file. Either you have
blacklist-local.conf depends on your previously installed video drivers, respectively whether you have had installed the proprietary Nvidia driver already or not. Either way – you will end up with
nouveau, and that’s what you don’t want.
Now install the Nvidia proprietary driver:
aptitude install nvidia-current-dev nvidia-current nvidia-current-modaliases
VDR, Libxine, DVB-DKMS Installation
I’ve been looking through the different PPA repos, and decided to use the yaVDR (aka the-vdr-team). They use libxine2 and do also have the new Dynamic Kernel Module Support (DKMS) for the new experimental V4L-DVB drivers from Liplianin. All is available for Lucid, 32 and 64bit.
In my eyes libxine-vdpau, based on version 1.1.6 from late 2008 isn’t recommended anymore. For the new Xine-Lib 1.2 hg there’s no more Mr. Nissl patching needed (last one was Nr. 286) anymore, because VDPAU support is now integrated since the 15th January 2010.
Thanks to Mr. Liplianin, who brings us the newest V4L-DVB experimental driver, you can also use new DVB-S2 Twincards like the Mystique SaTiX-S2 Dual Low Profile or other .
User also reported occasionally a faster zapping behavior, when switching from one channel onto another. For my Techonotrend S2-3200 it’s more a matter of
video_buffer settings, than due to the libplianin driver, but find out yourself. [UPDATE]I could reliably reproduce much faster channel switching (zapping|Umschaltzeiteten) with the new Liplianin drivers, even with same buffer settings. (2010-06-03)[/UPDATE]
Buffer (video) settings around 5000 leads definitely to ultra slow switch time between channels, no matter which DVB driver you are using.
Ok, enough talk, let’s install. Add the yaVDR repo into your
deb http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu lucid main deb-src http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu lucid main
I’ve installed the new DVB drivers first, so actually I don’t know whether they are mandatory for xine-lib 1.2 or not. If you leave out this step and your xineliboutput starts to core or to crash, install the Liplianin DVB driver, too.
aptitude update aptitude install s2-liplianin-dkms
The installation itself takes a good while, and the deinstallation even longer (>20min), so be sure about what you are doing, or be patient 😉
Now install Libxin, VDR, Xineliboutput plugin and the xineliboutput-sxfe remote client:
aptitude update aptitude install vdr vdr-plugin-xineliboutput xineliboutput-sxfe libxine-dev libxine2 cpupowerd
We have to configure xineliboutput now, because with the default settings you’ll get a quite jerky HD playback. I’ve done these changes to my
#cat ~/.xine/config_xineliboutput | egrep -v "(^#|^$)"
Do the changes, while VDR isn’t running, else you risk to loose them. Not all lines are meaningful, but the buffer,vdpau,synchronization and deinterlace lines!
Either invoke vdr-sxfe like this:
vdr-sxfe --video=vdpau --verbose xvdr+tcp://localhost --buffers=2500 --height=1080 --width=1920 -fs --audio=alsa:default --post method:tvtime=use_vo_driver --reconnect
from the command line with the
--post switch in it, or turn this option on in your VDR xineliboutput plugin runtime config.
You can also use the above command line in MMS’
/etc/mms/TVConfig file, where you have to provide
tvopts = --video=vdpau --verbose "xvdr+tcp://localhost:37890" --height=1080 --width=1920 -fs --audio=alsa:default --post=method:tvtime=use_vo_driver --reconnect
If you suffer from stuttering or jerky playback, especially and peculiar for SD channels and you are using an AMD processor with a Nvidia 8200 onboard graphics, then you need to pinpoint the CPU frequency at (if possible) 2000MHz. Do this by invoking:
modprobe msr cpupowerd --freq "0|2000"
This turns of your CPU governor. Changing the CPU governor will disable
cpupowerdas soon as the change has happened, so watch out.
This all is due to a power state behavior, that is typical for AMD systems, because they clock down the bus speed also, if idle. This notorious C1E power state kicks in if the CPU is hardly needed. This is especially the case if you watch a SD (standard definition) video stream. Then the system isn’t only running at 1GHz, but also the system bus has been clocked down dramatically, so playback gets jumpy.
If you suffer from tearing, do not use composite.