Building a VDR with Arch Linux
Early in the last decade I had a so called SatDSL
subscription, it was very expensive but the only way to get decent
bandwidth. With the subscription I received a DVB-S PC tuner,
a Technisat
SkyStar2. A few years later when the subscription ran out I was
left with the tuner and got interested in other ways of using the
hardware. Those were some dark times for content providers, encryption
systems
were getting
hacked left and right. The Wired magazine
ran a
great piece a few years ago about this period. Personally I was
more interested in network
traffic at the time, as a lot of it was not
encrypted.
I used VDR software back then to
build an approximation of a commercial SAT receiver. A friend put
together an infra-red receiver for use
with LIRC and I was set. With the
rising popularity of HDTV and
the DVB-S2 standard
my current 'receiver' was getting outdated. It had a Duron
1200 CPU, with 300MB of SDRAM and a 320GB of storage. I
was putting money on the side for several years to build a replacement
(and get an appropriate HD TV set), and finally did it this
year. These past few months I
used Arch Linux with VDR, and
built it piece by piece as a hobby. On the hardware side I used:
MBO: Asrock M3AUCC
CPU: AthlonII X3 455
RAM: 4GB DDR3
HDD: 1TB disks (RAID1)
GFX: GeForce GT240 (VDPAU)
DVB: SkyStar HD2 (DVB-S2 tuners)
LCD: Philips 43" HDTV
I didn't go with one of the
Ion systems, because I don't
watch
that much TV, and the box will be put to many other uses
(
backups,
TOR
gateway, media streaming, distributed compiling, etc.). Every
piece was carefully selected, and folks on the VDR mailing list helped
me choose a suitable graphics card for HDTV, with
good
VDPAU
support. As usual with Linux even that careful selection wasn't
enough to ensure a smooth ride.
The sound-card drivers were deadlocking the machine, and it took a few
days of experimentation to resolve it. The SkyStar HD2 cards work
great with the
mantis driver, but support for their
infra-red receiver is missing. However experimental support is
available through
a
patch
published on the Linux-media mailing list, earlier this
year.
All my previous VDRs were powered
by
Slackware Linux, and I
developed some habits and preferences in running VDR. So I didn't use
the
ArchVDR
project, or
VDR
packages, although they are good projects. I prefer to keep every
VDR installation under a single directory tree, with the one currently
in use always being symlinked to
/opt/VDR. I swap them a lot,
always patching (
liemikuutio,
ttxtsubs...), and
testing a lot of plugins.
Instead of using
runvdr and other popular scripts for
controlling VDR I wrote my own script long ago. I call
it
vdrctl,
it's much simpler but provides extensive control over loaded plugins
and their own options, and has support for passing commands directly
to a running VDR with
svdrpsend. As the window manager I
used
awesome this time,
opposed to
FVWM that can be seen in
this
old
gallery. Awesome runs in a
fullscreen layout, and with
some
useful
widgets.
For playing other media my long time favorite
is
Oxine,
a
Xine frontend well
suited for TV sets. But I don't use its VDR support as one might
expect (I use
the
vdr-xine plugin with
regular
xine-ui), instead I connect VDR with Oxine through
the
externalplayer-plugin. It's
special in that it breaks the VDR connection to LIRC prior to
launching an external player allowing to seamlessly control both
applications.
Arch Linux makes it easy to build your own packages of all the media
software to include VDPAU
support. Official
mplayer
already has it, Xine is available in the
AUR
as
xine-lib-vdpau
and so on. But even more important, the good packaging infrastructure
and management makes it easy to build and
maintain
custom kernels (for IR support ie.). It truly is the perfect VDR
platform.