You are on page 1of 31

Installation und Einrichtung eines c’t-VDR 7

für HD-Fernsehen mit Nvidia VDPAU


Version 1.6.2 – Feb. 2010 – MJJ

1 Vorbemerkung ...................................................................................................................... 2
1.1 Meine Hardwareausstattung.......................................................................................... 2
1.2 Was noch fehlt............................................................................................................... 2
2 c’t VDR und Nvidia VDPAU .................................................................................................. 3
2.1 Installation c’t-VDR7 von CD ......................................................................................... 3
2.1.1 Start von der Installations-CD................................................................................. 4
2.1.2 Netzwerkeinstellung ............................................................................................... 4
2.1.3 Hostname ............................................................................................................... 5
2.1.4 Festplatten partitionieren ........................................................................................ 5
2.1.5 VDR-Grundsystem ................................................................................................. 6
2.2 Aktuellen Kernel installieren .......................................................................................... 7
2.3 DVB-Treiber kompilieren ............................................................................................... 8
2.4 Fernbedienung einrichten.............................................................................................. 9
2.4.1 LIRC ....................................................................................................................... 9
2.4.2 IR-Empfänger der DVB-Karte............................................................................... 10
2.5 X-Desktop.................................................................................................................... 11
2.5.1 X-Desktop installieren .......................................................................................... 11
2.5.2 Tonausgabe über Soundkarte .............................................................................. 11
2.5.3 Platzprobleme auf der root-Partition..................................................................... 13
2.6 VDPAU-Unterstützung................................................................................................. 13
2.6.1 Grafiktreiber.......................................................................................................... 13
2.6.2 VDPAU-Bibliotheken ............................................................................................ 14
2.6.3 xorg.conf............................................................................................................... 15
2.7 HDTV mit VDRDevel ................................................................................................... 16
2.7.1 Channellist für HDTV............................................................................................ 17
2.7.2 Einstellungen Xineliboutput-Plugin ....................................................................... 17
2.7.3 config_xineliboutput.............................................................................................. 18
3 Sonstige VDR-Erweiterungen ............................................................................................. 18
3.1 VDR-Plugins ................................................................................................................ 18
3.1.1 VDR-Burn-Plugin.................................................................................................. 18
3.1.2 MarkAd-Plugin...................................................................................................... 19
3.1.3 MP3-Plugin........................................................................................................... 20
3.1.4 MPlayer-Plugin ..................................................................................................... 20
3.1.5 Weitere Plugins .................................................................................................... 20
3.2 Samba ......................................................................................................................... 20
3.2.1 Windows → VDR.................................................................................................. 20
3.2.2 VDR → Windows.................................................................................................. 21
3.3 Automatisches Aufwachen des VDR ........................................................................... 21
3.3.1 ACPI-Wakeup....................................................................................................... 21
3.3.2 NVRAM-Wakeup .................................................................................................. 22
3.4 Autostart von VDR-SXFE ............................................................................................ 22
3.4.1 GNOME: Automatische Anmeldung und VDR-Autostart (opt.)............................. 22
3.4.2 Ohne Gnome........................................................................................................ 22
3.5 Diverse Einstellungen.................................................................................................. 23
3.5.1 Runlevel-Editor (opt.) ........................................................................................... 23
3.5.2 Verhindern, das der VDR in tty8 startet (opt.)....................................................... 23
3.5.3 Nicht benötigte Dienste abschalten (opt.)............................................................. 23
3.6 Grafik-LCD (opt.) ......................................................................................................... 24
3.6.1 Selbstkompilieren des Plugins für VDRDevel....................................................... 24
3.6.2 Anpassung der Konfigurationsdateien.................................................................. 24
3.6.3 Start/Stop-Logos .................................................................................................. 26
3.6.4 FSCK beim Shutdown mit Logo ........................................................................... 27
3.7 Plugin-YAEPGHD (opt.) .............................................................................................. 28
3.7.1 Paket kompilieren und bauen ............................................................................... 29
3.7.2 Konfiguration ........................................................................................................ 29
3.8 PearlHD-Theme für Text2Skin (opt.) ........................................................................... 30
3.8.1 Pakete von Tobis NG-Repository ......................................................................... 30
3.8.2 Paket kompilieren und bauen (alternativ) ............................................................. 30
3.8.3 Konfiguration ........................................................................................................ 31

Kapitel mit dem Suffix (opt.) sind nicht unbedingt erforderlich, da sie lediglich optionale An-
passungen / Ergänzungen des Systems enthalten.

1 Vorbemerkung
Auf der Basis der Artikel des c’t-Magazins, Ausgabe 13/2009 und 23/2009 (Zusammenfassung
im c’t-Sonderheft „Home Entertainment“ Nov 2009) habe ich meine Installationsschritte zu
einem kleinen How-To zusammengeschrieben. Ich hoffe, es hilft den Einsteigern beim Aufbau
ihres ersten VDR mit HD-Fähigkeiten.
Im c’t-Magazin Ausgabe 3/2010 ist ein weiterer großer Artikel über den ctvdr7 und HD-TV.

Anregungen und Verbesserungsvorschläge sind jederzeit willkommen.

1.1 Meine Hardwareausstattung


Nachdem dies mein dritter VDR ist, den ich im Laufe der letzten sechs Jahre aufbaue, habe ich
mich wieder für ein konventionelles ATX-Board entschieden. Ich habe fürs Wohnzimmer ein
recht großes Alu-Gehäuse im HiFi-Formfaktor, in das mehrere Erweiterungskarten aufrecht
hineinpassen. Also kein Grund für ein Spezial-Mainboard mit Riser-Card.

Hier die Eckdaten des Systems:


Mainboard: Gigabyte GA-EP31-DS3L
CPU: Intel Pentium E6300 (2 x 2800 MHz, 2 x 1042kB, Wolfdale, 45nm)
RAM: Kingston 2 GB (2 x 1 GB DDR2-800)
Grafik: Gigabyte GV-N220 (Nvidia GT220, 1GB DDR3, HDMI)
H-Disk: Samsung HD503HI (500 GB, 5400 U/min, SATAII)
DVD-RW: LG GH-22LS
Netzteil: BeQuiet 400W
TV-Karten: Technotrend budget S2-3200 mit CI
Technotrend budget S2-1600
Technotrend budget S-1500 (aus altem VDR)
Display: Grafik-LCD 240 x 128 Pixel am Parallelport
Sonstiges: IR-Einschalter von www.atric.de
Fernbedienung Logitech Harmony

1.2 Was noch fehlt


An dieser Stelle erwarten die meisten Leser vielleicht die Pläne des Autors für künftige
Versionen. Ich möchte aber an dieser Stelle allen VDR-Interessierten meine Erfahrungen und
Wünsche bezüglich der aktuellen VDR-Entwicklungen mitteilen.
Die derzeitige Entwicklerversion des VDR kann schon eine ganze Menge:
 HDTV abspielen, aufnehmen und wiedergeben funktioniert
 SDTV abspielen, aufnehmen, wiedergeben und auf DVD brennen funktioniert
 Medienwiedergabe für viele aktuellen Audio- und Videoformaten funktioniert
 Abstürze gibt’s nicht mehr
 Zeitgesteuerte Aufnahmen, einschließlich automatischem WakeUp
 Pay-TV funktioniert auch schon recht gut
 Tolle Oberflächen (Skins) mit modernem Erscheinungsbild, z.B. PearlHD

Was geht nicht bzw. fehlt noch?


 Beim Umschalten gibt’s immer noch einen kleinen Ruckler beim Bild.
 Umschaltzeiten bei SD sind noch lang (wenn man früher eine FF-Karte hatte, war man
schon recht verwöhnt)
 Bei HD sind die Umschaltzeiten noch länger. Dort ruckelt es danach auch etwas heftiger,
ist aber dann OK.
 Das Verschieben von Schnittmarken muss blind vorgenommen werden, da das Bild nicht
entsprechend mitgeführt wird.
 Beim Abspielen von Aufzeichnungen funktioniert das Rückwärtsspulen nicht. Das Bild
läuft zwar rückwärts mit, springt jedoch wieder an die ursprüngliche Stelle, wenn die
Taste losgelassen wird.
 Einige Plugins sind noch sehr jung, z. B. MarkAd und haben noch ein paar Kinder-
krankheiten. Aber das wird sicher bald besser.

2 c’t VDR und Nvidia VDPAU


2.1 Installation c’t-VDR7 von CD
Die CD stammt aus der c’t Ausgabe 13/2009 und kann inzwischen frei heruntergeladen werden
ftp://ftp.heise.de/pub/ct/projekte/vdr7/ctvdrplus70.iso

Auf der CD befindet sich vdr-1.6.0 mit dem Kernel 2.6.26. Für den Empfang und die Darstellung
von HD-Fernsehen ist die Entwicklerversion vdrdevel ab 1.7.x und Linux-Kernel 2.6.28
erforderlich. Des Weiteren sind für die Ausgabe des Fernsehbildes über die Grafikkarte des
Rechners weitere Komponenten notwendig. Nachfolgende Installationsschritte zeigen einen
möglichen Weg dorthin.
2.1.1 Start von der Installations-CD

Mir persönlich ist die textorientierte Installationsvariante lieber, daher die Eingabe: auto.

2.1.2 Netzwerkeinstellung
Standardmäßig wird bei vorhandenem DHCP-Server (die meisten DSL-Router haben sowas),
von dort eine dynamische IP-Adresse bezogen. Wer lieber eine statische IP-Adresse bevorzugt,
der sollte vor der Installation das Netzwerkkabel abziehen. Die Anderen lesen im nächsten
Kapitel weiter.
Es erscheint eine Fehlermeldung, dass die automatische Netzwerkkonfiguration fehl schlug.
Das ist in diesem Fall auch so gewollt. Nach Bestätigung wird eine Auswahl angeboten, in der
die Methode: Netzwerk manuell einrichten ausgewählt werden soll.
Anschließend erscheinen die Abfragen nach der IP-Adresse, Netzwerkmaske, Gateway-
Adresse und DNS-Server.
Nach der manuellen Netzwerkinstallation sollte das Netzwerkkabel wieder eingesteckt werden.

2.1.3 Hostname
Als nächstes wird der Name des Rechners erwartet:

Anschließend wird noch der Domainname erwartet, der in lokalen Heimnetzwerken keine Rolle
spielt.

2.1.4 Festplatten partitionieren


Für den einfachen VDR mit grafischen Desktop-Manager und Entwicklungsumgebung reichen
die weiteren Standardvorgaben aus. Dabei wird eine 4 GB große root-Partition, eine swap-
Partition (je nach RAM-Ausbau) und der Rest als Daten-Partiion (var/lib/video.00) eingerichtet.
Wem das reicht, der sollte dem folgenden Menü die Voreinstellung Geführte - verwende
vollständige Festplatte auswählen und die angebotenen Default-Einstellungen verwenden.
Für die übrigen VDR-Administratoren, denen 4 GB root-Partition zu wenig sind, wählen als
Partitionsmethode Manuell aus und befolgen die nachfolgenden Schritte.

Zu Beginn der Partitionierung wird die Festplatte ausgewählt, auf denen die Partitionen erstellt
werden sollen. Als nächstes wird eine leere Partitionstabelle auf der Festplatte angelegt.
Hiernach wird der FREIE SPEICHER markiert und darauf eine neue Partition erstellt.
Es werden der Reihe nach die Partitionen für root, Swap und für die Daten (Mountpoint
/var/lib/video.00) angelegt.
Beispiel für eine mögliche Partitionierung:
Anschließend werden die Partitionen angelegt und formatiert. Darauf erfolgt die Installation des
Debian Grundsystems. Nach einer Weile wird das zu vergebende Root-Passwort abgefragt.
Dann wird noch der Boot-Loader installiert und es geht nach einem automatischen Neustart des
Systems weiter.

2.1.5 VDR-Grundsystem
Hier erfolgt die Installation des VDR-Grundsystems auf der Basis der Version 1.6.
Nach einer Bestätigung wird nach der Empfangs/Kanalliste für den VDR gefragt. Es gibt fertige
Kanallisten für verschiedene DVB-C, DVB-S und DVB-T-Systeme. Im folgenden Bild wurde die
Kanalliste für den beliebten Astra-Satellit auf 19.2° Ost gewählt.
Die Kanalliste kann später mit diversen Plugins (z.B. Wirbelscan) aktualisiert und mit dem VDR
neu geordnet und verändert werden.

Hiernach sollten in dem VDR-Installationsmenü nur die nötigsten Plugins (z.B. femon, dvd,
skins) und einige wichtige Addons wie (Samba, MC, ggf. ACPI-Wakeup) ausgewählt und
abschließend installiert werden.
Wenn die die Installation abgeschlossen ist, die CD entfernen und das System von Festplatte
neu starten.
Bei den nachfolgenden Installationsschritten wird davon ausgegangen, dass diese als Benutzer
root ausgeführt werden.
Als nächstes muss die Datei /etc/apt/sources.list angepasst werden
deb http://ftp2.de.debian.org/debian lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://www.debian-multimedia.org/ lenny main
#deb http://e-tobi.net/vdpau-xine1.1 lenny base backports vdr-multipatch
#deb http://e-tobi.net/vdpau-xine1.1-vdrdevel lenny base backports vdr-multipatch
deb http://e-tobi.net/vdr-experimental lenny base addons vdr-multipatch
deb http://e-tobi.net/vdrdevel-experimental lenny vdr-multipatch
deb http://www.backports.org/debian lenny-backports main contrib non-free
Die Zeilen 4 und 5 sind absichtlich auskommentiert, sie werden erst ab Kapitel 2.6 benötigt.

Danach die Paketlisten aktualisieren:


apt-get update

Falls der folgende Fehler erscheint:


GPG error: http://www.backports.org etch-backports Release: Die folgenden Signaturen
konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist:
NO_PUBKEY EA8E8B2116BA136C
muss mit:
wget -O - http://backports.org/debian/archive.key | apt-key add -
ein neuer Schlüssel geholt werden. Der Buchstabe hinter wget ist ein großes o (keine Null).
apt-get upgrade
aktualisiert die bereits installierten Pakete

2.2 Aktuellen Kernel installieren


Für die aktuellen Erweiterungen muss zuerst ein neuer Kernel installiert werden:
apt-get install linux-image-2.6.28-etobi.3-486 linux-headers-2.6.28-etobi.3-486
Mit diesem Kernel kann max. 885 MB RAM adressiert werden. Ist mehr Arbeitsspeicher ein-
gebaut, empfiehlt sich der Einsatz des 686-Kernels, der bis 3,2 GB RAM verwalten kann. Wem
das nicht reicht kann dann auf die BIGMEM-Variante zurückgreifen. Für Nutzer der AMD-
Prozessoren gibst den Kernel linux-image-2.6.28-etobi.3-amd64.
apt-get install linux-image-2.6.28-etobi.3-686 linux-headers-2.6.28-etobi.3-686
Danach ist ein Neustart des Systems fällig.
reboot
Darauf achten, dass im Bootmenü der neue Kernel 2.6.28 automatisch ausgewählt wird.

2.3 DVB-Treiber kompilieren


Wenn die eingesetzte DVB-Karte von der Installation noch nicht erkannt wurde, müssen
aktuelle DVB-Treiber erstellt werden. Bei mir ist u.a. eine Technotrend DVB S2-3200 im
System. Die Treiber dafür waren noch nicht auf der Installations-CD. Inzwischen sind weitere
neue Fernseh-Karten erschienen, die damals noch nicht unterstützt wurden.

Zuerst ein Update der Paketlisten


apt-get update
apt-get install dvb-s2api-liplianin-source debhelper

mit cat /proc/version nachsehen, ob auch wirklich der aktuelle Kernel 2.6.28 geladen wurde.

In das Verzeichnis /usr/src wechseln und mit


module-assistant prepare
prüfen ob alle nötigen Pakete installiert sind. Dann Treiber kompilieren. Das dauert ziemlich
lange, auch auf Dual-Core-Systemen (bei mir hat das ca. 3 Min. gedauert).
module-assistant build dvb-s2api-liplianin
Wenn alles ohne Fehler abgearbeitet wurde, kann das erstellte Paket mit
dpkg -i dvb-s2api-liplianin*.deb
installiert werden

Ob nun auch wirklich alle DVB-Karten gefunden werden, kann mittels:


lsmod | grep dvb
nachgesehen werden

Beispiel:
dvb_ttpci 83788 0
dvb_core 72040 1 dvb_ttpci
saa7146_vv 39040 1 dvb_ttpci
saa7146 15752 2 dvb_ttpci,saa7146_vv
ttpci_eeprom 2176 1 dvb_ttpci
i2c_core 20880 3 dvb_ttpci,ttpci_eeprom,i2c_i801

Wenn nicht, erstmal nachsehen, ob die DVB-Karte im PCI-Bus erkannt wurde:


lspci

Beispiel mit 2 DVB-Karten:


...
04:00.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
04:02.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
...

Ggf. hilft auch ein Neustart des Systems.


reboot
2.4 Fernbedienung einrichten
2.4.1 LIRC
Zunächst mal muss das für den neuen Kernel passende Lirc-Modul kompiliert und installiert
werden.
module-assistant update,prepare
module-assistant clean lirc
apt-get install lirc-modules-source
module-assistant auto-install lirc
Wenn dass ohne Fehler durchgelaufen ist, kann die LIRC Konfigurations-Datei
/etc/lirc/lircd.conf an die zu nutzende Fernbedienung angepasst werden. Nachfolgend
sind die RC-Codes der Technotrend-Fernbedienung zu sehen.

# /etc/lirc/lircd.conf
# using lirc-0.8.3(default)
#
# brand: Technotrend
# model no. of remote control:
# devices being controlled by this remote: TV-Card
#

begin remote

name Technotrend
bits 6
flags RC5|CONST_LENGTH
eps 30
aeps 100

one 889 889


zero 889 889
plead 889
pre_data_bits 7
pre_data 0x55
gap 113792
toggle_bit 2
frequency 36000
duty_cycle 50

begin codes
Power 0x01
Mute 0x18
1 0x03
2 0x04
3 0x05
4 0x06
5 0x07
6 0x08
7 0x09
8 0x0A
9 0x0B
0 0x0C
Audio 0x1A
Repeat 0x02
Volume- 0x26
Volume+ 0x25
Menu 0x19
Channel- 0x24
Channel+ 0x23
Back 0x13
Ok 0x0F
Up 0x0D
Down 0x11
Left 0x0E
Right 0x10
Red 0x14
Green 0x15
Yellow 0x16
Blue 0x17
Record 0x3A
Play 0x3B
Stop 0x3C
Info 0x12
Rew 0x3D
Pause 0x3E
Fwd 0x3F
EPG 0x22
end codes
end remote

Mit dem Befehl


/etc/init.d/lirc start
wird der LIRC-Daemon gestartet.

2.4.2 IR-Empfänger der DVB-Karte


Wird der IR-Empfänger der TV-Karte verwendet und das System hat (hoffentlich) diese Fern-
bedienung erkannt (im Verzeichnis /dev/input nach einem neuen Event-Device schauen),
fordert der VDR beim ersten Start den Benutzer zum Anlernen der Fernbedienung auf. Nach
dem Anlernen werden die erkannten IR-Codes in der remote.conf (/var/lib/vdr) abge-
speichert.

Nachfolgend sind die RC-Codes der Technotrend-Fernbedienung aus meiner remote.conf


aufgeführt:
remote-event3.Up 0000000100010067
remote-event3.Down 000000010001006C
remote-event3.Menu 0000000100010184
remote-event3.Ok 000000010001001C
remote-event3.Back 00000001000100AE
remote-event3.Left 0000000100010069
remote-event3.Right 000000010001006A
remote-event3.Red 000000010001018E
remote-event3.Green 000000010001018F
remote-event3.Yellow 0000000100010190
remote-event3.Blue 0000000100010191
remote-event3.0 000000010001000B
remote-event3.1 0000000100010002
remote-event3.2 0000000100010003
remote-event3.3 0000000100010004
remote-event3.4 0000000100010005
remote-event3.5 0000000100010006
remote-event3.6 0000000100010007
remote-event3.7 0000000100010008
remote-event3.8 0000000100010009
remote-event3.9 000000010001000A
remote-event3.Info 000000010001008B
remote-event3.Play 00000001000100CF
remote-event3.Pause 0000000100010077
remote-event3.Stop 0000000100010080
remote-event3.Record 00000001000100A7
remote-event3.FastFwd 00000001000100D0
remote-event3.FastRew 00000001000100A8
remote-event3.Power 0000000100010074
remote-event3.Channel+ 0000000100010192
remote-event3.Channel- 0000000100010193
remote-event3.PrevChannel 0000000100010179
remote-event3.Volume+ 0000000100010073
remote-event3.Volume- 0000000100010072
remote-event3.Mute 0000000100010071

2.5 X-Desktop
2.5.1 X-Desktop installieren
Mittels
tasksel
wird die grafische Oberfläche (Gnome) installiert. Im Installations-Menü „Desktop-Umgebung“
auswählen. Das dauert nur wieder eine ganze Weile, da erstmal >500 Pakete aus dem Internet
heruntergeladen und dann noch installiert werden müssen.
Für die Benutzeroberfläche Gnome muss noch ein Benutzer-Account eingerichtet werden.
groupadd -g 1000 Benutzername
useradd -m -u 1000 -g 1000 -G dialout,cdrom,floppy,audio,video,plugdev Benutzername
passwd Benutzername

Alternative zu tasksel:
Wer nur den X-Server (ohne Gnome Display-Manager) möchte, kann die wenigen
erforderlichen Pakete manuell installieren:
apt-get install xterm xorg x11-xserver-utils

Damit das Fernsehbild auf dem Monitor ausgegeben werden kann, benötigt man noch:
apt-get install vdr-plugin-xineliboutput xineliboutput-sxfe

Wenn alles glatt gelaufen ist, kann im grafischen Terminal mit


vdr-sxfe --fullscreen
oder auf der Konsole das Fernsehbild mit:
xinit -e vdr-sxfe --fullscreen
angezeigt werden.

Nach einem Neustart des Systems gelangt man direkt in den Anmeldebildschirm von Gnome.
Hier werden der zuvor angelegte Benutzername und das entsprechende Passwort eingegeben.

2.5.2 Tonausgabe über Soundkarte


Wenn kein Ton zu hören ist, kann die Ursache an einer deaktiverten Ausgang im Mixer liegen.
Unter Gnome sollten dann die Audioeinstellungen im ALSAMixer geprüft werden. Dort muss die
Ansicht Playback oder All auswählen sein. In einem der Register die Checkbox IEC958 Output
suchen und aktivieren.
Es gibt auch einen Befehl, der den Digitaleingang einschaltet: iecset audio on

Falls mehrere Audiogeräte im System angeschlossen sind, kann im Terminal mit dem Befehl
aplay -l
sich eine Übersicht verschafft werden. Die Übersicht gliedert sich hierarchisch in Card, Device
und Subdevice.
Beispiel einer Terratec Audiokarte:
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: T71Space [Terratec Aureon 7.1-Space], device 0: ICE1724 [ICE1724]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 1: IEC1724 IEC958 [IEC1724
IEC958]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 2: ICE1724 Surrounds
[ICE1724 Surround PCM]
Subdevices: 3/3
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2

Der Bezeichner des jeweiligen Anschlusses wird dementsprechend gebildet:


hw: (card),(device)
In obigem Beispiel wäre das Gerät 1 (IEC1724 IEC958) der gesuchte Digitalausgang. Der
Bezeichner dafür lautet: hw:0,1
Falls in der Übersicht kein IEC958-Gerät angezeigt wird, sollte nach S/PDIV Ausschau gehalten
werden.
Falls so kein digitales Tonausgabegerät gefunden wird, listet die folgende alternative Methode
auch alle angeschlossenen ALSA-Geräte auf:
cat /proc/asound/devices
Beispiel:
cat /proc/asound/devices
0: [0] : control
1: : sequencer
16: [0- 2]: digital audio playback
17: [0- 1]: digital audio playback
24: [0- 0]: digital audio capture
25: [0- 0]: digital audio capture
26: [0- 0]: digital audio capture

Einer der markierten Einträge ist der gesuchte Ausgang. Welcher es ist, kann uns der Befehl
aplay helfen. Dazu müssen nacheinander alle identifizieren Ausgänge mit einer kleinen
Audiodatei (datei.wav) getestet werden. Der Eintrag, bei dem aus den Lautsprechern etwas
ertönt, ist der gesuchte Anschluss.
aplay -D plughw:0,0 datei.wav
aplay -D plughw:0,1 datei.wav
Bei mir passte 0,1. Der entsprechende Eintrag in der /var/lib/vdrdevel/setup.conf:

xineliboutput.Audio.Port = hw:0,1
xineliboutput.Audio.Speakers = Pass Through

Falls die Ausgabe des Stereo-Tons über die Soundkarte nicht funktioniert, die Ausgabe von
Dolby-Digital-Tonsignalen hingegen problemlos ist, hilft eine Korrektur der Konfigurationsdatei
fürs Xine-Plugin:
/home/Benutzername/.xine/config_xineliboutput
Auszug:

audio.device.alsa_front_device:plug:iec958
audio.output.speaker_arrangement:Pass Through

Bei mir wird das Tonsignal von der Soundkarte via optisches Kabel (Toslink) zum AV-Receiver.
Deshalb die Einstellung „Pass Through“.
In der Datei findet man auch für die Konfiguration der Videoausgabe relevante Parameter. Für
die meisten Anwendungen und wenn kein weiteren Probleme auftreten, reichen dort die
Standardvorgaben. Mehr dazu in einem späteren Kapitel.
Hinweis:
Sollte vdr-sxfe als root (su) ausgeführt werden, so wird die Konfigurationsdatei:
/root/.xine/config_xineliboutput verwendet.

2.5.3 Platzprobleme auf der root-Partition


Falls die 4 GB-Standard root-Partition nicht ausreicht, kann mit dem Verzicht auf das
automatisch installierte Open-Office-Paket wertvoller Plattenspeicher zurück gewonnen werden:

apt-get purge openoffice.org*

2.6 VDPAU-Unterstützung
Jetzt sollten die Kommentare aus der sources.list entfernt werden. Sie sieht dann
folgendermaßen aus:
deb http://ftp2.de.debian.org/debian lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://www.debian-multimedia.org/ lenny main
deb http://e-tobi.net/vdpau-xine1.1 lenny base backports vdr-multipatch
deb http://e-tobi.net/vdpau-xine1.1-vdrdevel lenny base backports vdr-multipatch
deb http://e-tobi.net/vdr-experimental lenny base addons vdr-multipatch
deb http://e-tobi.net/vdrdevel-experimental lenny vdr-multipatch
deb http://www.backports.org/debian lenny-backports main contrib non-free

2.6.1 Grafiktreiber
Bei SD-TV reicht zum Dekodieren und Darstellen des Fernsehbildes die Rechenleistung einer
einfachen CPU (2 GHz Celeron) aus. Bei den Datenmengen von HD-TV stoßen selbst moderne
DualCore-CPUs rasch an ihre Grenzen und das Bild kann nicht mehr fehlerfrei dargestellt
werden. Deshalb empfiehlt es sich, die Rechenarbeit der Dekodierung von MPEG-Streams auf
die Grafikkarte zu verlagern. NVIDIA hat dafür eigens die VDPAU (Video Decode and
Presentation API for Unix) geschaffen.

Dazu müssen als erstes die NVIDIA-Treiber geholt werden. Im Dezember 2009 war gerade die
Treiber-Version 190.53 herausgekommen.
a) Entweder direkt von NVIDIA
wget ftp://download.nvidia.com/XFree86/Linux-x86/190.53/NVIDIA-Linux-x86-190.53-
pkg1.run
Hier ein Beispiel mit der Installation des Original-Treiberpakets. Nach dem Herunterladen
des ausführbaren Paketes müssen noch die entsprechenden Rechte der Datei übertragen
werden.
chmod u+x,g+x NVIDIA-Linux-x86-190.53-pkg1.run

Start der automatischen Treiber-Installation.


./NVIDIA-Linux-x86-190.53-pkg1.run
Der Treiber kann später mit dem Parameter --uninstall wieder deinstalliert werden.

b) oder über Tobis-Repository als debian-Pakete


apt-get install module-assistant nvidia-kernel-common
module-assistant auto-install nvidia (danke an deepksky)
apt-get install nvidia-glx nvidia-settings nvidia-xconfig
nvidia-xconfig

Weitere Infos, wie NVIDIA-Treiber mit Debian-Paketen installiert werden, kann hier
nachgelesen werden: http://wiki.debian.org/NvidiaGraphicsDrivers

2.6.2 VDPAU-Bibliotheken
Zum Installieren der VDPAU-Bibliotheken folgende Kommandos eingeben:
apt-get update
apt-get upgrade (es sollte dabei auch das xineliboutput-sxfe aktualisiert werden)
apt-get install nvidia-libvdpau1-driver libxineliboutput-sxfe libxine1-all-plugins libxine1-
gnome libxine1-vdpau-plugins

Zusammen mit diesen Paketen werden noch eine Reihe andere Bibliotheken automatisch mit
installiert.

Wenn das Aktualisieren des xineliboutput-sxfe nicht funktioniert hat, sondern das Paket nur
entfernt wurde, hilft vielleicht das:
apt-get install xineliboutput-sxfe libxine1-xvdr libxine1-ffmpeg libavcodec52 libdirac-
encoder0

Wenn das alles funktioniert hat, kannst Du im X-Terminal (unter Gnome) mit
vdr-sxfe --video=vdpau --fullscreen
oder von der Konsole
xinit -e vdr-sxfe --video=vdpau --fullscreen
das Fernsehbild ansehen.
Wenn unter Gnome im X-Terminal einige
vo_vdpau: xxxxxx -Einträge
zu erkennen sind, funktioniert die VDPAU Schnittstelle.
Zur Vollständigkeit hier eine vollständige Ausgabe des vdr-sxfe nach dem Start:
sh-3.2$ vdr-sxfe --video=vdpau --fullscreen
vdr-sxfe 1.0.90-cvs (build with xine-lib 1.1.17, using xine-lib 1.1.17)

Video driver: vdpau


Fullscreen mode

VDR server not given, searching ...


Found VDR server: host 127.0.0.1, port 37890
[14047] [vdr-fe] GNOME screensaver disabled
vo_vdpau: vdpau API version : 1
vo_vdpau: vdpau implementation description : NVIDIA VDPAU Driver Shared Library
190.53 Tue Dec 8 20:50:02 PST 2009
[14047] [vdr-fe] Detected 2 CPUs
[14047] [vdr-fe] Enabling FFmpeg multithreaded video decoding
[14047] [input_vdr] Connecting (control) to tcp://127.0.0.1:37890 ...
[14047] [input_vdr] Server greeting: VDR-1.7.11 xineliboutput-1.0.90-cvs READY
[14047] [input_vdr] Connected (control) to tcp://127.0.0.1:37890
[14047] [input_vdr] Connecting (data) to
pipe:///var/lib/vdrdevel/plugins/xineliboutput/pipes.6608/pipe.0
[14047] [input_vdr] Data stream connected (PIPE)
[14047] [input_vdr] using custom "no signal" image /usr/share/libxine1-
xvdr/nosignal.mpg
[14047] [demux_vdr] Using decoder "libmpeg2" for mpeg2 video
[14047] [demux_vdr] Using decoder "FFmpeg" for H.264 video
[14061] [demux_vdr] PMT changed

Press Esc to exit

vo_vdpau: deinterlace: none


vo_vdpau: set_scaling_level=0
vo_vdpau: enabled features: inverse_telecine=0
vo_vdpau: disable noise reduction.
vo_vdpau: disable sharpness.
vo_vdpau: vdpau_update_csc: hue=0,000000, saturation=1,000000,
contrast=1,000000, brightness=0,000000, color_standard=0
...

2.6.3 xorg.conf
Nachfolgend ist meine Konfiguration der /etc/X11/xorg.conf aufgelistet. Der zweite
Monitor (Eizo) war nur zu Konfigurationszwecken während des Aufbaus angeschlossen.
Um manuell Änderungen an der xorg.conf vornehmen zu könnem, muss zuvor der Gnome
Display-Manager mit /etc/init.d/gdm stop beendet werden.
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "de"
Option "XkbModel" "pc105"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Philips"
ModelName "PFL42-9703"
HorizSync 30.0 - 85.0
VertRefresh 48.0 - 66.0
Option "DPMS"
ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125
+hsync +vsync
ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125
+hsync +vsync
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Eizo"
ModelName "T553"
HorizSync 30.0 - 85.0
VertRefresh 55.0 - 160.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Screen 0
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080@50" "1920x1080@60"
EndSubSection
EndSection

2.7 HDTV mit VDRDevel


Als nächstes wird der aktuelle VDR in der Entwicklerversion geholt und installiert:
apt-get install vdrdevel vdrdevel-plugin-xineliboutput
Die während der Installation erscheinende Abfrage, ob statt dem VDR künftig der VDRDevel
gestartet werden soll, ist mit JA zu beantworten.

Um VDR 1.7.x mit Fernbedienung oder Tastatur bedienen zu können, müssen folgende Zeilen
an die Datei /etc/default/vdrdevel angefügt werden:
KEYB_TTY="/dev/tty8"
KEYB_TTY_SWITCH=1
Die Kanalliste mit einigen HD-Kanälen findet man im VDR-Portal z.B. hier
http://www.vdr-portal.de/board/thread.php?threadid=91301

Die Tastenbelegung kann vom VDR 1.6.x übernommen werden.


ln -sf /var/lib/vdr/remote.conf /var/lib/vdrdevel/

2.7.1 Channellist für HDTV


Die Kanalliste /var/lib/vdrdevel/channels.conf kann aus dem VDR-Wiki (zumindest
teilweise) http://www.vdr-wiki.de/wiki/index.php/Channels.conf/#Links übernommen werden.

Für den Empfang von HDTV via ASTRA-Satellit ist hier eine aktuelle Kanalliste zu finden:
http://www.vdr-portal.de/board/thread.php?threadid=91301

Die Kanalliste kann auch mit diversen Plugins, z.B. Wirbelscan selbst erstellt werden.

2.7.2 Einstellungen Xineliboutput-Plugin


In VDR-Plugin Xineliboutput sollte, je nach Bedarf, einige wesentliche Einstellungen vorge-
nommen werden. Die Einstellungen werden über das VDR-Menü -> Eintellungen -> Plugins
verändert. Der VDR speichert die Einstellung in seiner setup.conf.
Hier ein Auszug aus meiner /var/lib/vdrdevel/setup.conf.
xineliboutput.Audio.Compression = 100
xineliboutput.Audio.Delay = -120
xineliboutput.Audio.Headphone = 0
xineliboutput.Audio.SoftwareVolumeControl = 1
xineliboutput.Audio.Speakers = Pass Through
xineliboutput.Audio.Surround = 0
xineliboutput.Audio.Upmix = 0
xineliboutput.OSD.AlphaCorrection = 0
xineliboutput.OSD.AlphaCorrectionAbs = 0
xineliboutput.OSD.Blending = 1
xineliboutput.OSD.BlendingLowRes = 1
xineliboutput.OSD.DvbSubtitles = 0
xineliboutput.OSD.ExtSubSize = -1
xineliboutput.OSD.Height = 1080
xineliboutput.OSD.HideMainMenu = 0
xineliboutput.OSD.LayersVisible = 4
xineliboutput.OSD.Scaling = 0
xineliboutput.OSD.Size = 1920x1080
xineliboutput.Post.denoise3d.chroma = 30
xineliboutput.Post.denoise3d.Enable = 0
xineliboutput.Post.denoise3d.luma = 40
xineliboutput.Post.denoise3d.time = 60
xineliboutput.Post.pp.Enable = 0
xineliboutput.Post.pp.Mode = de
xineliboutput.Post.pp.Quality = 3
xineliboutput.Post.unsharp.chroma_amount = 0
xineliboutput.Post.unsharp.chroma_matrix_height = 3
xineliboutput.Post.unsharp.chroma_matrix_width = 3
xineliboutput.Post.unsharp.Enable = 0
xineliboutput.Post.unsharp.luma_amount = 0
xineliboutput.Post.unsharp.luma_matrix_height = 5
xineliboutput.Post.unsharp.luma_matrix_width = 5
xineliboutput.Video.AspectRatio = 3
xineliboutput.Video.AutoCrop = 1
xineliboutput.Video.AutoCrop.AutoDetect = 1
xineliboutput.Video.AutoCrop.DetectSubs = 1
xineliboutput.Video.AutoCrop.FixedSize = 1
xineliboutput.Video.AutoCrop.SoftStart = 1
xineliboutput.Video.Brightness = -1
xineliboutput.Video.Contrast = -1
xineliboutput.Video.Decoder.H264 = automatic
xineliboutput.Video.Decoder.MPEG2 = automatic
xineliboutput.Video.Deinterlace = tvtime
xineliboutput.Video.DeinterlaceOptions =
method=Linear,cheap_mode=1,pulldown=none,framerate_mode=full,judder_correction=1,u
se_progressive_frame_flag=1,chroma_filter=0,enabled=1
xineliboutput.Video.HUE = -1
xineliboutput.Video.IBPTrickSpeed = 1
xineliboutput.Video.MaxTrickSpeed = 12
xineliboutput.Video.NoiseReduction = -1
xineliboutput.Video.Overscan = 0
xineliboutput.Video.Saturation = -1
xineliboutput.Video.Sharpness = -1
xineliboutput.Video.SwScale = 0
xineliboutput.Video.SwScale.Aspect = 0
xineliboutput.Video.SwScale.Downscale = 0
xineliboutput.Video.SwScale.Height = 1080
xineliboutput.Video.SwScale.Resize = 0
xineliboutput.Video.SwScale.Width = 1920

2.7.3 config_xineliboutput
Ergänzend zu Kap.2.5.2 werden hier nur die wichtigsten Einstellungen der
/home/Benutzername/.xine/config_xineliboutput aufgeführt.
Die übrigen Parameter wurden auf ihren Standardwerten belassen:

audio.device.alsa_front_device:plug:iec958
audio.output.speaker_arrangement:Pass Through
audio.synchronization.av_sync_method:resample
audio.synchronization.force_rate:48000
audio.synchronization.resample_mode:on
video.output.vdpau_display_queue_length:4
video.processing.ffmpeg_thread_count:2
engine.buffers.audio_num_buffers:250
engine.buffers.video_num_buffers:250 *)
engine.buffers.video_num_frames:22

*) Den Wert habe ich schon versuchsweise auf 1800 hoch gesetzt. Beim Start des VDR wird er immer
wieder auf den „Standardwert“ 250 zurückgesetzt. Offensichtlich ist die 250 im Quellcode vom vdr-sxfe
abgelegt. Im Forum kann man lesen, dass sich bereits mehrere Nutzer mit dem Thema beschäftigt
haben, mit gleichem Erfolg.

3 Sonstige VDR-Erweiterungen
Wenn alles stabil läuft, können weitere wünschenswerte VDR-Plugins und Erweiterungen in-
stalliert werden.

3.1 VDR-Plugins
3.1.1 VDR-Burn-Plugin
Zusammen mit dem Burn-Plugin sollte ProjectX installiert werden
apt-get install vdrdevel-plugin-burn project-X
Project-X benötigt ein Java von SUN (z.B. Java 1.6: Paket: sun-java6-jre). Mit GNU Java gcj-4.3
funktioniert es nicht.

apt-get install sun-java6-jre


dann mit
update-alternatives --config java
Sun Java auswählen.

Im Setup des Burn-Plugins müssen jetzt nur noch als Demuxer: ProjektX und als
Requantisierer: Transcode eingetragen werden.

Das Burn-Plugin versagt den Dienst, wenn Aufnahmen mit Untertitel gebrannt werden sollen.
Das liegt an den Parameterübergaben an Project-X, da das Burn-Plugin im Menü noch keinen
Ein/Ausschalter für Untertitel (Subtitles) hat.

Folgende Einstellungen in der project-x.ini helfen:


# ExportPanel
ExportPanel.Streamtype.Subpicture=0
ExportPanel.Streamtype.Teletext=0
ExportPanel.Streamtype.Vbi=0

# SubtitlePanel
SubtitlePanel.useTextOutline=0

Sollte bei einer Aufzeichnung die größer als 4,3 GB sind das Burn-Plugin mit einem Fehler
abbrechen, so liegt es vermutlich am Paket Transcode (wird mit dem Burn-Plugin installiert) in
dem das Werkzeug tcrequant fehlt.
Im Repository http://debian-multimedia.org, das von Christian Marillat betreut wird, fehlt im
aktuellen Paket transcode_1.1.5-03, das fürs Schrumpfen der Aufnahmen benötigte tcrequant.
In der Vorgänger-Version 1.0.7-0.0 hingegen ist es noch vorhanden.

Als Work-Around habe ich aus dem alten Debian-Paket transcode_1.0.7-0.0_i386.deb das
tcrequant entnommen und in das Verzeichnis /usr/bin kopiert. Seit dem funktioniert bei mir
das Burn-Plugin auch mit Aufnahmen, die größer sind als 4,3 GB (danke an Martin für den
Tipp).

Die Mitstreiter vom Ubuntu-Projekt haben bereits reagiert und in ihrer aktuellen Version das
tcrequant wieder eingebaut. Vielleicht ist beim nächsten Release von debian das Problem hier
auch behoben.

3.1.2 MarkAd-Plugin
Dieses Plugin ersetzt vorerst das bewährte NoAd-Addon. Da ab der VDR-Version 1.7.x das
Dateiformat von PES- auf TS-Format umgestellt wurde, musste auch das Plugin angepasst,
bzw. ersetzt werden. Das Plugin ist noch sehr jung, kann daher (noch) nicht ganz mit der
Funktionsvielfalt und Verlässlichkeit des NoAd aufwarten.

Installiert wird es mit:

apt-get install vdrdevel-plugin-markad

Update:
Am 29. Januar hat Tobi eine aktuelle Fassung des NoAd 0.7 in sein NG-Repository gelegt.
Offensichtlich tut sich bei NoAd doch noch etwas. Mal sehen wie gut es mit dem neuen TS-
Format funktioniert.

3.1.3 MP3-Plugin
Diese Funktion kann inzwischen auch vom Xineliboutput-Plugin erledigt werden. Wer darauf
nicht verzichten möchte, der kann diese weiterhin nutzen.

apt-get install vdrdevel-plugin-mp3

Ort der Konfigutationsdatei: /etc/vdrdevel/plugins/mp3sources.conf


Um eigene Einträge ergänzen
/music;MP3-Server;0
/media/cdrom0;CDROM;1
/media/usb0;USB1;0
/media/usb1;USB2;0
/cdfs;Audio-CD;1;*.wav

3.1.4 MPlayer-Plugin
Obsolet, da diese Funktion das Xineliboutput-Plugin übernimmt.

3.1.5 Weitere Plugins


Nachfolgend eine Liste mit weiteren sinnvollen VDR-Plugins, die ich nutze:
vdrdevel-plugin-dvd
vdrdevel-plugin-dvdswitch
vdrdevel-plugin-chanorg
vdrdevel-plugin-devstatus
vdrdevel-plugin-mailbox
vdrdevel-plugin-menuorg
vdrdevel-plugin-nordlichtsepg
vdrdevel-plugin-skinsoppalusikka (nutze ich nur während des Aufbaus)
vdrdevel-plugin-sleeptimer
vdrdevel-plugin-sysinfo
vdrdevel-plugin-text2skin
vdrdevel-plugin-vdrrip
vdrdevel-plugin-weatherng
vdrdevel-plugin-wirbelscan
vdrdevel-plugin-yaepghd (siehe auch das Kapitel hierzu)

3.2 Samba

3.2.1 Windows → VDR


Für den Zugriff von Windows-Arbeitsplätzen auf die VDR-Aufnahmen (/var/lib/video.00)
ist Samba ein bewährtes Paket. Dafür sind zunächst einige Einstellungen und die Bekanntgabe
der Benutzer in Samba erforderlich.
groupadd smbgroup
chgrp -R -v smbgroup /var/lib/video.00
chmod -Rv 664 /var/lib/video.00
chmod -Rv g+s /var/lib/video.00

nur Verzeichnisse brauchen Execute-Rechte


find /var/lib/video.00/ -type d -exec chmod 775 {} \;
useradd -g smbgroup Benutzer
smbpasswd -a Benutzer
useradd -g smbgroup Benutzer2
smbpasswd -a Benutzer2

Die Samba-Konfigurationsdatei /etc/samba/smb.conf muss entsprechend angepasst


werden:
security = user
#------------------------------------------
# Beispiel für share
[video]
path = /var/lib/video
comment = VDR Aufnahmen
public = yes
writeable = yes
browseable = yes
valid users = @smbgroup
create mode = 0774
directory mode = 0775
force create mode = 0774
force directory mode = 0775

3.2.2 VDR → Windows


Wenn vom VDR auf Windows-Shares zugegriffen werden soll, ist das Paket smbfs
apt-get install smbfs
zu installieren

Mit dem Paket smbfs (neue Bezeichnung cifs) lassen sich bereits beim Systemstart via fstab
Windows-Shares einhängen. Beispiel:

# /etc/fstab: static file system information.


# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda6 /var/lib/video.00 ext3 defaults 0 2
/dev/sda5 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/scd0 /cdfs udf,cdfs user,noauto 0 0
//10.0.0.5/Music /music/ smbfs username=vdr,password=xyxy 0 0
//10.0.0.5/Filme /var/lib/video.00/filme smbfs username=vdr,password=xyxy 0 0

3.3 Automatisches Aufwachen des VDR


3.3.1 ACPI-Wakeup
Bei der Verwendung des ACPI-Wakeup ist zu beachten, dass die Systemzeit auf UTC
eingestellt sein muss.
apt-get update
apt-get install vdr-addon-acpiwakeup
In der /etc/vdr/vdr-acpi-wakeup.conf sollte
ACPI_ENABLED = "yes"
stehen.

3.3.2 NVRAM-Wakeup
Das Gigabyte GA-EP31 Board unterstützt NVRAM-Wakeup. Trotz eingehender Tests und
widersprüchlicher Internet-Recherche benötigt es einen Kernel-Reboot, damit die Aufweck-
zeiten im BIOS eingetragen werden.
Das Rebooten ist mir zu umständlich und ich entschied mich für ACPI.

Wer es dennoch einsetzten möchte, der installiert es so:


apt-get update
apt-get install nvram-wakeup

In der Konfigurationsdatei /etc/vdr/ vdr-nvram-wakeup.conf sollten folgende Einträge


stehen:
ENABLED="yes"
COMMANDLINE="-C /etc/nvram-wakeup.conf --directisa"
FORCE_REBOOT="yes" (ggf. je nach Mainboard)

3.4 Autostart von VDR-SXFE


3.4.1 GNOME: Automatische Anmeldung und VDR-Autostart (opt.)
Damit der VDR nicht nach dem Hochfahren bei Gnome-Anmeldebildschirm stehen bleibt, sind
nachfolgende Einstellungen hilfreich.

In der /etc/gdm/custom.conf:
[daemon]
# Doku unter http://live.gnome.org/GDM/2.22/Configuration
TimedLoginEnable=true
TimedLogin=yourusername
TimedLoginDelay=0

Mit folgenden Einstellungen wird das Fernsehbild nach dem Start von Gnome automatisch
angezeigt.
In Gome einen neuen AutoStart-Eintrag erstellen. Dazu im Systemmenu:
"System -> Einstellungen -> Sitzungen" auswählen.

Name: VDR
Befehlszeile: vdr-sxfe --video=vdpau --fullscreen --reconnect

Der Parameter --reconnect bewirkt ein automatisches Wiederverbinden des vdr-sxfe, auch
wenn der VDR-Prozess mal hängt und neu gestartet werden muss.

3.4.2 Ohne Gnome


Wenn kein grafischer Display-Manager im Hintergrund erwünscht ist, kann der X-Server auch
mit xinit gestartet werden (siehe weiter oben). Für den automatischen Start wird am
sinnvollsten ein Startscript erstellt, in dem die entsprechende Befehlszeile untergebracht wird.
Beispiel für ein /usr/bin/vdrsxfe.sh
#!/bin/sh
# ....
# startet den X-Server und die Ausgabe des VDR
/usr/bin/xinit -e /usr/bin/vdr-sxfe –-video=vdpau –-fullscreen --
reconnect

Jetzt muss nur noch das Script im richtigen Runlevel (meistens 2) gestartet werden. Entweder
mit dem Tool im Kapitel (Runlevel-Editor) oder manuell.

ln -s /usr/bin/vdrsxfe.sh /etc/rc2.d/S30vdrsxfe.sh
update-rc.d vdrsxfe start 30 2 . stop 30 0 6 .

3.5 Diverse Einstellungen


3.5.1 Runlevel-Editor (opt.)
Für das übersichtliche Bearbeiten der Runlevels auf der Konsole hat sich der Editor
sysv-rc-conf bewährt. Damit hat man einen guten Überblick, welche Startscripte in welchem
Runlevel gestartet/gestoppt werden

Installieren des Editors mit:


apt-get install sysv-rc-conf

Gestartet wird er dann mit:


sysv-rc-conf

3.5.2 Verhindern, das der VDR in tty8 startet (opt.)


Wird der VDR unter einem grafischen Desktop betrieben, wird nach einem Restart des VDR-
Prozesses die Text-Konsole tty8 angezeigt. Um Gnome anzuzeigen, muss auf die grafische
Konsole Strg-Alt-F7 umgeschaltet werden. Wem das zu unbequem ist, der kann das
Umschalten auf tty8 beim Start des VDR ausschalten.

Dazu muss in dem VDR-Startscript /etc/init.d/vdr bzw. vdrdevel


die Zeile mit dem Befehl chvt muss auskommentiert werden. Stattdessen kann eine einfache
Ausgabe eingefügt werden.

# chvt `echo "$KEYB_TTY" | sed "s/\/dev\/tty//"`


echo -n " ...finshed"

3.5.3 Nicht benötigte Dienste abschalten (opt.)


Folgende Dienste sind ggf. entbehrlich, werden jedoch standardmäßig gestartet.
Mit dem Tool sysv-rc-conf kann ihr Start unterdrückt werden.

Name Dienst
Gnome gdm
Lpd lpd
Mailserver Exim exim4
3.6 Grafik-LCD (opt.)
Für eine Statusanzeige des VDR mit Hilfe eines grafischen LCD (am Parallelport) wird
normalerweise das Plugin folgendermaßen installiert:
apt-get install vdrdevel-plugin-graphlcd
Das Plugin fehlt derzeit noch in Tobis Repostory.

3.6.1 Selbstkompilieren des Plugins für VDRDevel


Zuerst muss die /etc/apt/sources.list ergänzt werden:
deb-src http://e-tobi.net/vdr-experimental lenny base addons vdr-multipatch
deb-src http://e-tobi.net/vdrdevel-experimental lenny vdr-multipatch

Dann die Entwicklungsumgebung herstellen:


apt-get update
apt-get install build-essential
apt-get build-dep vdr
apt-get install vdrdevel-dev
apt-get install make-special-vdr fakeroot cdbs dpatch
apt-get install libglcddrivers1-dev libglcdgraphics2-dev libfreetype6-dev

Dann die Quellen holen. Ich habe meine Sourcen von hier:
https://launchpad.net/~the-vdr-team/+archive/vdr-ubuntu-karmic/+packages

vdr-plugin-graphlcd_0.2.0-pre1~svn20091009-4tvt1.dsc
vdr-plugin-graphlcd_0.2.0-pre1~svn20091009-4tvt1.tar.gz

Herunterladen und kopieren nach /usr/src

Dann auspacken mit:


dpkg-source -x vdr-plugin-graphlcd_0.2.0-pre1~svn20091009-4tvt1.dsc

In das Verzeichnis /usr/src/vdr-plugin-graphlcd…..wechseln und

kompilieren des Paketes mit:


PATCHVARIANT=multipatch SPECIAL_VDR_SUFFIX=devel fakeroot dpkg-buildpackage -b -uc -tc
-Rmake-special-vdr

Im Verzeichnis /usr/src sollte jetzt das Paket


vdrdevel-plugin-graphlcd-0.2.0-pre1~svn20091009-4tvt1_i386.deb liegen

installieren des fertigen Paketes mit:


dpkg -i vdrdevel-plugin-graphlcd*.deb

und restart des VDR mit /etc/init.d/vdrdevel restart

3.6.2 Anpassung der Konfigurationsdateien


In dem folgenden Beispiel wird ein LCD mit 240x128 Pixel und Toshiba T6963C-Controller am
Parallelport angeschlossen

/etc/graphlcd.conf
-c /etc/graphlcd.conf -d t6963c

/etc/vdrdevel/plugins/plugin.graphlcd.conf

[t6963c]
# t6963c driver
# This is a driver module for the Toshiba T6963C LCD controller.
# Default size: 240 x 128
Driver=t6963c
Port=0x378
#Device=/dev/parport0
Width=240
Height=128
UpsideDown=no
Invert=yes
RefreshDisplay=1

# Wiring
# Select the type of wiring your display is connected with.
# Possible values: 'Standard', 'Windows', 'Serial'
# Default value: 'Standard'
Wiring=Windows

# FontSelect
# Select the font width your display uses for text mode. In most cases
# this is selectable through one of the pins of your LCD board
# Possible values: '6', '8'
# Default value: '6'
FontSelect=6

# AutoMode
# Enables or disables the usage of T6963C's auto mode which doubles
# writing speed when enabled.
# Possible values: 'yes', 'no'
# Default value: 'yes'
AutoMode=yes

# StatusCheck
# Enables or disables the usage of T6963C's status check. When using a
# shielded cable for connecting your display, the disabling may be
# possible. This results in doubling the speed of writing data to the
# LCD.
# Possible values: 'yes', 'no'
# Default value: 'yes'
StatusCheck=yes

Wem die dargestellte Schrift auf dem LCD zu klein ist, der kann die die Größe in der Datei
/etc/vdrdevel/plugins/graphlcd/fonts.conf
ändern.

#
# Change the font settings for the graphlcd plugin here.
# For example font configurations see:
# /usr/share/doc/vdr-plugin-graphlcd/examples/fonts.conf.*
#
Large Font = fnt:verdana-018.fnt
Normal Font = fnt:verdanab-013.fnt
Small Font = fnt:verdanab-009.fnt
Symbol Font = fnt:sym11.fnt
3.6.3 Start/Stop-Logos
Reine Kosmetik, aber nett anzusehen!

Damit der VDR beim Booten und Shutdown solche Logos anzeigt, ist folgendermaßen
vorzugehen.

zunächst mit
apt-get install graphlcd-tools
die notwendigen Tools (showpic) zum Anzeigen der Bilder installieren.

Die LCD-Logos für die Auflösungen (128x64 und 240x128) können hier heruntergeladen
werden:
http://www.vdr-portal.de/board/thread.php?threadid=14714
auspacken und in dem Verzeichnis usr/share/vdr-plugin-graphlcd/splash/ ablegen.

Script:
/usr/bin/glcdsplash.sh

#! /bin/sh

STARTLOGO=/usr/share/vdr-plugin-graphlcd/splash/vdr-starting_240x128
STOPLOGO=/usr/share/vdr-plugin-graphlcd/splash/vdr-shutdown_240x128

set -e

case "$1" in
start)
echo "Displaying Startlogo"
/usr/bin/showpic -c /etc/graphlcd.conf -d t6963c -s 150\
$(ls $STARTLOGO/*.glcd) \
$(ls $STARTLOGO/*.glcd) \
$(ls $STARTLOGO/*.glcd) \
$(ls $STARTLOGO/*.glcd) &
;;
stop)
echo "Displaying Shutdownlogo"
/usr/bin/showpic -c /etc/graphlcd.conf -d t6963c -s 650 $(ls
$STOPLOGO/*.glcd) &
;;
esac

exit 0

Start-Logos
Script: /usr/bin/glcdstart.sh
glcdsplash.sh start

dann in /etc/rcS.d den Link S02glcdstart.sh erstellen, der auf das Skript
/usr/bin/glcdstart.sh zeigt.

ln -s /usr/bin/glcdstart.sh /etc/rcS.d/S02glcdstart.sh

Shutdown-Logos
Script: /usr/bin/glcdstop.sh

glcdsplash.sh stop

In /etc/rc0.d und
/etc/rc6.d symbolische Links K20glcdstop.sh anlegen, die auf das Skript
/usr/bin/glcdstop.sh zeigen.

ln -s /usr/bin/glcdstop.sh /etc/rc0.d/K20glcdstop.sh
ln -s /usr/bin/glcdstop.sh /etc/rc6.d/K20glcdstop.sh

3.6.4 FSCK beim Shutdown mit Logo


Alle ca. 30 Systemstarts wird normalerweise ein fsck während des Boot-Vorgangs durch-
geführt. Diese Integritätsprüfung des Dateisystems dauert besonders bei großen Festplatten
recht lange. Während dieser Zeit wird auf dem Monitor kein Fernsehbild ausgegeben und das
LCD zeigt den Bootvorgang an. Dieser Zustand kann besonders bei technisch weniger
versierten Nutzern zu Unverständnis und soll sogar schon zu Fehlbedienungen (z.B. Aus- und
Anschalten des VDR) geführt haben.
Statt beim Booten, könnte der fsck besser beim Shutdown durchgeführt werden, da stört er
nicht.
Bei der Gelegenheit wird der FileSystemCheck auf dem Graph-LCD angezeigt, damit man sich
nicht wundert, warum die Kiste so lange braucht um herunterzufahren.

Idee für das Script und Quelle der Logos:


http://www.vdr-portal.de/board/thread.php?threadid=42835

Erstellen des Scripts: /etc/init.d/fsck

#!/bin/bash
#
# Vorgezogener fsck, falls ein MountCount +1 = MaxMountCount
#
showpic=/usr/bin/showpic
DrivesToCheck="/dev/sda1 /dev/sda6"
GraphLcdConf=/etc/graphlcd.conf #wer das GraphLCD-Zeugs nicht braucht
GraphLcdType=t6963c #kommentiert GraphLcdConf,GraphLcdType,
FsckSplashDir=/usr/share/vdr-plugin-graphlcd/splash/fsck
#FsckSplashDir,showpic und Zeile 30 aus

for HDD in $DrivesToCheck


do
RunFsck="false"
MountCount=`tune2fs -l $HDD | grep "Mount count" | cut -c 27-`
echo "Mount Count from $HDD = $MountCount"
MaxMountCount=`tune2fs -l $HDD | grep "Maximum mount count" | cut -c 27-`
echo "Max Mount Count from $HDD = $MaxMountCount"
let MountCountZahl=$MountCount+1
if [ $MountCountZahl -ge $MaxMountCount ]
then
RunFsck="true"
echo "---Run fsck for $HDD is needed---"
if [ $RunFsck == "true" ]; then
touch /etc/mtab
if [ $? -eq 0 ]
then
echo "---RootFS still mounted, skipping run of fsck on $HDD!!!---"
else
echo "---Now starting fsck on $HDD---"
$showpic -c $GraphLcdConf -d $GraphLcdType -s 500 -e $(ls
$FsckSplashDir/*.glcd)&
STPID=$!
fsck -C0 -y -f $HDD
echo "---Filesystemcheck is done on $HDD---"
fi
fi
else
echo "---No Need to run fsck on $HDD---"
fi
done

Die Zeilen 6 - 9 müssen noch an die individuellen Gegebenheiten angepasst werden.

Datei speichern, ausführbar machen mit


chmod a+x /etc/init.d/fsck

Das ganze wird mit einem symbolischen Link; entweder in /etc/rc0.d/ und/oder in
/etc/rc6.d/ gestartet.
Der Link muss nach dem umountfs-Kommando (hier /etc/rc0.d/S40umountfs) und nach dem
umountrootfs (hier /etc/rc0.d/S60umountrootfs) und vor dem halt-Aufruf (hier
/etc/rc0.d/S90halt) erfolgen!

Beispiel:
ln -s /etc/init.d/fsck /etc/rc0.d/S65fsck

Zum Testen des Scriptes kann mit


tune2fs -C29 /dev/sda1
der MountCount von sda1 auf 29 erhöht werden. (MaxMountCount meiner sda1 ist 30).

Wenn jetzt ein Shutdown erfolgt, wird vorher noch der fsck für die Root-Platte sda1 ausgeführt.

3.7 Plugin-YAEPGHD (opt.)


Ein hübscheres EPG-Plugin für den VDR als yaepg. Leider fehlt es (noch) im Repository.
3.7.1 Paket kompilieren und bauen
Zuerst sicherheitshalber ;-)
apt-get update
apt-get install build-essential
apt-get build-dep vdr
apt-get install vdrdevel-dev make-special-vdr

bei mir waren diese Libs noch erforderlich:


apt-get install libmagick++-dev

Dann die Quellen holen. Ich habe meine Sourcen von hier:
https://launchpad.net/~the-vdr-team/+archive/vdr-ubuntu-karmic/+sourcepub/935890/+listing-archive-
extra
vdr-plugin-yaepghd_0.0.1-7tvt1.dsc (914 bytes)
vdr-plugin-yaepghd_0.0.1-7tvt1.tar.gz (61.6 KiB)

dpkg-source -x vdr-plugin-yaepghd_0.0.1-7tvt1.dsc

In das Verzeichnis /usr/src/vdr-plugin-yaepgh…..wechseln und

kompilieren des Paketes mit:


PATCHVARIANT=multipatch SPECIAL_VDR_SUFFIX=devel fakeroot dpkg-buildpackage -b -uc -tc
-Rmake-special-vdr -d
Im Verzeichnis /usr/src sollte jetzt das Paket
vdrdevel-plugin-yaepghd_0.0.1-7tvt1.deb liegen

installieren des fertigen Paketes mit:


dpkg -i vdrdevel-plugin-yaepghd*.deb

und restart des VDR mit /etc/init.d/vdrdevel restart

3.7.2 Konfiguration
Im VDR Menu Einstellungen -> Plugin -> YAEPGHD die gewünschten Grundeinstellungen
vornehmen.
Siehe hierzu auch Theme-Paket vdr-plugin-yaepghd-pearlhd-theme im folgenden Kapitel.

3.8 PearlHD-Theme für Text2Skin (opt.)


Reine Kosmetik an der VDR-Oberfläche, sieht aber mit großen HDTVs richtig gut aus. Leider
fehlt das Theme in Tobis Experimental-Repositorys, im NG-Repository hat er es schon
aufgenommen.

3.8.1 Pakete von Tobis NG-Repository


Pakete manuell holen:
wget http://e-tobi.net/vdr-ng-experimental/pool-lenny/binary/addons/vdr-skin-
pearlhd_0.0.9.git20100117-1_all.deb
und installieren mit:
dpkg -i vdr-skin-pearlhd_0.0.9*.deb
Danach kontrollieren, ob der Skin PearlHD auch im vdrdevel-Pfad
/var/lib/vdrdevel/plugins/text2skin/ angelegt wurde. Die Themen-Dateien (PearlHD-
xxxx.theme) sind im Pfad /var/lib/vdrdevel/themes/ zu finden.

Es fehlt noch der TrueTypeFont mit den typischen VDR-Symbolen.


wget http://e-tobi.net/vdr-ng-experimental/pool-lenny/binary/addons/ttf-vdrsymbols_2008.09.05-
1_all.deb
Installieren des Fonts mit:
dpkg -i ttf-vdrsymbols_2008.09.05*.deb

Der Font wird im Pfad /usr/share/fonts zu finden sein.


Wenn das funktioniert hat, geht’s im übernächsten Kapitel weiter. Das folgende Kapitel
beschreibt eine Alternative, die nur dann in Betracht kommt, wenn die vorgenannten Befehle
nicht zum gewünschten Erfolg geführt haben.

3.8.2 Paket kompilieren und bauen (alternativ)


Wenn die Schritte apt-get install build-essential | apt-get build-dep vdr
apt-get install vdrdevel-dev | make-special-vdr bereits im vorherigen Kapitel (YAEPGHD)
ausgeführt wurden brauchen sie nicht ausgeführt werden.
Dann die Quellen holen. Ich habe meine Sourcen von der Ubuntu-Fraktion hier:
https://launchpad.net/~the-vdr-team/+archive/vdr-ubuntu-karmic/+sourcepub/931778/+listing-archive-
extra

vdr-skin-pearlhd_0.0.10~git20100110-1tvt2.dsc (1.2 KiB)


vdr-skin-pearlhd_0.0.10~git20100110-1tvt2.tar.gz (363.4 KiB)
vdr-plugin-yaepghd-pearlhd-theme_0.0.10~git20100110-1tvt2_all.deb

dpkg-source -x vdr vdr-skin-pearlhd_0.0.10~git20100110-1tvt2.dsc

In das Verzeichnis /usr/src/vdr-skin-pearlhd…..wechseln und

kompilieren des Paketes mit:


PATCHVARIANT=multipatch SPECIAL_VDR_SUFFIX=devel fakeroot dpkg-buildpackage -b -uc -tc
-Rmake-special-vdr -d
Im Verzeichnis /usr/src sollte jetzt das Paket
vdrdevel-skin-pearlhd_0.0.10~git20100110-1tvt2.deb liegen

Installieren des fertigen Paketes mit:


dpkg -i vdrdevel-skin-pearlhd*.deb

und dann das Pearl-Theme fürs YAEPGHD-Plugin noch installieren.


dpkg -i vdr-plugin-yaepghd-pearlhd-theme*.deb

3.8.3 Konfiguration
Bevor der VDR neu gestartet wird, müssen ggf. ein paar Veränderungen an der setup.conf
vorgenommen werden:
/var/lib/vdrdevel/setup.conf
OSDAspect = 1,000000
OSDHeight = 1080
OSDHeightP = 1,000000
OSDLanguage = de_DE
OSDLeft = 0
OSDLeftP = 0,000000
OSDSkin = PearlHD
OSDTop = 0
OSDTopP = 0,000000
OSDWidth = 1920
OSDWidthP = 1,000000
ShowReplayMode = 1
xine.osdExtent.X = 1920
xine.osdExtent.Y = 1080
xine.osdMode = osdBlendScaledAuto
xine.transparencyMode = transparencyOn
xineliboutput.OSD.Size = 1920x1080
xineliboutput.OSD.SoftOSD = 1

- ENDE -

You might also like