vdr-plugin-xine/Xine auf vdr-plugin-xineliboutput/Xine-Lib.Diese Seite beschreibt den Aufbau meiner Linux-Multimedia-Box. Das Gerät dient in erster Linie als DVB-T-Empfänger und Multimedia-Zertrale zum Abspielen von Audio- und Video-Dateien. Es hat mittlerweile die gute alte Glotze, den VHS-Videorekorder und (zum Teil) die Stereoanlage ersetzt, ist aber kein hochauflösendes, überdimensionales, Mehrkanal-tönendes Ungetüm.
Unter dem (transparenten) Start-Knopf der Fernbedienung klebt normalerweise ein kleines Windows-Logo. Als VDR-Nutzer konnte ich dies natürlich nicht aktzeptieren und habe den Kleber gegen ein Linux-Logo ausgetauscht.
Am Markt gibt es zwar eine ganze Reihe von Mini ITX-Gehäusen für Wohnzimmer-PCs. Allerdings haben diese einige Nachteile: Mini ITX-Mainboards besitzen standardmäßig (also ohne Riser Card usw.) nur einen PCI-Slot, der teilweise nur mit Karten halber Bauhöhe bestückt werden kann, die Gehäuse bieten in aller Regel nur Platz für maximal eine 3,5''-Festplatte (teilweise nur eine 2,5''-Platte). Ein weiteres Problem ist die Wärmeabfuhr aus dem engen Gehäuse. Und nicht zuletzt sind die ITX-Mainboards verhältnismäßig teuer.
Im Allgemeinen wird für die DVB-Wiedergabe unter Linux eine Full-Featured-Karte (mit Hardware-MPEG-Decoder und analogem TV-Ausgang) empfohlen. Allerdings gibt es für DVB-T nur ein einziges, nicht mehr hergestelltes Modell, welches zudem nicht alle DVB-T-Frequenzbereiche empfangen kann (TechnoTrend Premium DVB-T, siehe vdr-wiki.de). Da Budget-Karten i.A. auch um einiges billiger als Full-Featured-Karten sind, habe ich mich gegen eine Full-Featured-Karte entschieden. Hat man nun keine Full-Featured-DVB-Karte und auch keine Grafikkarte mit TV-Ausgang zur Verfügung, bleibt für die Video-Ausgabe nur mehr der Monitor-Ausgang übrig. Da ich allerdings ohnehin keinen TV, sondern einen "normalen" Computer-Monitor für die Video-Ausgabe verwende, spielt diese Einschränung keine Rolle.
Ohne Full-Featured-Karte oder sonstige Hardware-Unterstützung muss der Prozessor den MPEG-Datenstrom selbst decodieren. Empfohlen wird in diesem Fall ein Prozessor mit mindestens 1 GHz.
Die Darstellung von DVB-T mit Xine und Xv-Output ist ruckelfrei und erzeugt eine CPU-Last von ca. 70%. Allerdings ruckelt das Bild etwas bei gleichzeitiger Anzeige des OSD (Bildschirm-Menü) und beim Kanalwechsel, dies läßt sich aber verschmerzen.
Getestet habe ich auch einen Intel Celeron-Prozessor mit 633 MHz. Bei der reinen Darstellung von DVB-T hat sich dieser nicht schlechter geschlagen als der 900er. Allerdings war das Ruckeln mit OSD und beim Kanalwechsel doch etwas stärker, außerdem reagierten die Menüs des VDR etwas langsamer.
Der auf dem Motherboard befindliche Intel i810-Chipsatz bringt mit XvMC (XVideo Motion Compensation) eine einfache Hardware-Unterstützung für die Decodierung von MPEG-Daten mit. Allerdings habe ich XvMC nicht dazu gebracht, für eine aktzeptable Bildqualität oder eine merkliche Entlastung der CPU zu sorgen (siehe unten).
USB Keyboard Support oder ähnlich). Bei mir hat der Bootloader GRUB ansonsten die Zusammenarbeit verweigert.
Im Gegensatz zu Freevo und MythTV ließ sich der VDR recht schnell zur Mitarbeit bewegen, die einfache, aber funktionale Oberfläche reagiert auch bei einer langsamen CPU noch genügend schnell. Außerdem läßt sich VDR über Plugins um viele Funktionen erweitern.
Obwohl Xine prinzipiell auch im Framebuffer-Mode läuft, weigert er sich, auf meiner Hardware über Framebuffer irgendwas auszugeben. Unter X11 läuft er einwandfrei.
jigdo herunterladen (Anleitung, jigdo-Template: debian-31r0a-i386-binary-1.iso).
/etc/apt/sources.list anpassen
apt-get update && apt-get dist-upgrade
apt-get install Paketname nachinstallieren
/dev/hda1 1 GB Swap Virtueller Speicher /dev/hda2 10 GB / Installation 1 /dev/hda3 10 GB / Installation 2 (Test) /dev/hda4 Rest /var/lib/data DatenDamit habe ich die Möglichkeit, auf
/dev/hda2 und /dev/hda3 zwei getrennte Systeme zu installieren, was für Tests und zur Wiederherstellung einer zerschossenen Installation recht praktisch ist. Alle Video- und Audio-Daten liegen auf /dev/hda4.
Folgende Kommandos verhindern, dass beim Systemstart ein fsck ausgeführt wird:
vdr:# tune2fs -c 0 /dev/hda2 vdr:# tune2fs -c 0 /dev/hda3 vdr:# tune2fs -c 0 /dev/hda4 vdr:# tune2fs -i 0 /dev/hda2 vdr:# tune2fs -i 0 /dev/hda3 vdr:# tune2fs -i 0 /dev/hda4Natürlich sollte man dann
fsck /dev/hdaX -- -f gelegentlich manuell starten.
Um ein minimales Debian-System zu erhalten, wird einfach im Dialog Debian Software Auswahl (aus der Liste Desktop-Umgebung, Web-Server usw.) nichts ausgewählt. Der Basiskonfigurations-Dialog kann übrigens jederzeit mit base-config wieder aufgerufen werden.
Die Auswahl der Paket-Quellen ist alles andere als einfach. Nach einigen Versuchen mit verschiedenen Debian-Releases (hier meine erste Installation mit Debian Sarge), Paketen von zap.tartarus.org und Einträgen in /etc/apt/apt.conf (siehe man apt.conf) habe ich mich für folgende Quellen-Kombination entschieden:
libdvdcss2 zur Wiedergabe von verschlüsselten DVDs. Details zur Technik und den rechtlichen Aspekten dieser Bibliothek findet man in der Wikipedia.
/etc/apt/sources.list anzulegen. Die Einträge in /etc/apt/preferences stellen sicher, dass die Pakete von e-tobi.net auch dann verwendet werden, wenn es in Debian Sid eine neuere Version des selben Paketes gibt (siehe man apt_preferences).
Die Kommandos
vdr:# apt-get update vdr:# apt-get dist-upgradebringen Paket-Index und System auf den neuesten Software-Stand von Sid. Danach werden X11, VDR mit Xine-Plugin, Xine (Xine-Lib und User-Interface) und einige DVB-Tools installiert, gefolgt vom 2.6er-Kernel von Debian Sid:
vdr:# apt-get install x-window-system-core x-window-system xserver-xorg vdr:# apt-get install vdr vdr-plugin-xine libxine1 xine-ui dvb-utils dvbstream vdr:# apt-get install vim unzip hdparm hddtemp rsync vdr:# apt-get install linux-image-2.6-686Die Pakete
dvb-utils und dvbstream werden zwar nicht direkt für den VDR benötigt, eignen sich aber sehr gut zur Fehlersuche und für Tests von DVB.
Nach Installation dieser Pakete können ggf. nicht mehr benötigte Pakete gelöscht werden. Vor dem Entfernen des 2.4er-Kernels muss das System mit dem 2.6er-Kernel gebootet werden.
vdr:# dpkg --purge hotplug vdr:# apt-get remove --purge kernel-image-2.4.27-2-386 vdr:# apt-get remove --purge nviDie DVB-T-Karte wird zwar ab Kernel 2.6.10 automatisch erkannt. Allerdings muss das DVB-Modul noch manuell nachgeladen werden:
vdr:# modprobe dvb-bt8xx vdr:# echo dvb-bt8xx >> /etc/modules
/etc/X11/xorg.conf) sollten die Zeilen
Section "ServerFlags" Option "AllowMouseOpenFail" EndSectionnicht fehlen, ansonsten startet er nicht ohne Maus und Tastatur.
tzap und dvbstream:Das Kommando
vdr:# mkdir -p ~/.tzap/ vdr:# scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/de-Muenchen > ~/.tzap/channels.confgeneriert die
channels.conf für tzap. Vor dem Aufruf muss VDR ggf. mit /etc/init.d/vdr stop beendet werden./usr/share/doc/dvb-utils/examples/scan/ keine passende Frequenztabelle auffindbar sein, findet man sie wahrscheinlich im CVS: http://www.linuxtv.org/cgi-bin/viewcvs.cgi/dvb-apps/util/scan/.
In der Datei ~/.tzap/channels.conf sollte nun alle gefundenen Sender eingetragen sein, Der Eintrag für den Sender VOX schaut in München z.B. so aus:
VOX:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:545:546:16418Mit
vdr:# tzap VOXwird die DVB-Karte auf den Sender VOX eingestellt. Die Video- und Audio-Daten lassen sich nun mit einem der beiden (z.B. in einer zweiten Shell) parallel zu startenden Kommandos
vdr:# dvbstream -o -ps -qam 16 -cr 1_2 545 546 | xine stdin:/ vdr:# dvbstream -o -ps -qam 16 -cr 1_2 545 546 > VOX.mpegmit Xine darstellen bzw. in eine MPEG-Datei ausgeben. Die Kommando-Parameter entnimmt man der entsprechende Zeile aus der
~/.tzap/channels.conf. Achtung: Die channels.conf von tzap hat ein anderes Format als die vom VDR.
Ist bis hier alles OK geht's an die Konfiguration von VDR.
channels.conf unter /var/lib/vdr/. Diese kann man einfach von vdr-wiki.de herunterladen (DVB-T) oder z.B. von Kanotix übernehmen.Mit
vdr:# /etc/init.d/vdr restartwird VDR dann neu gestartet.
/var/lib/vdr/ und /etc/vdr/, VDR-Logmeldungen stehen standardmäßig in /var/log/messages. In der Datei /etc/default/vdr können einige Start-Parameter für den VDR angepaßt werden. Ansonsten wird VDR bequem über das OSD konfiguriert. Dort kann man u.a. auch festlegen, dass VDR die Systemzeit über das DVB-Zeitsignal setzt.
libxine1) und dem User-Interface (normalerweise xine-ui). Beide Pakete von e-tobi.net enthalten bereits die für den Zugriff auf VDR benötigten Patches. Die Tastenbelegung für die VDR-Steuerung muss aber noch in der Datei ~/.xine/keymap vorgegeben werden. Am einfachsten übernimmt man dazu die Vorlage von vdr-wiki.de. In jedem Fall sollte man sich die Tastenbelegung noch im Keymap-Editor der Xine-GUI anschauen und sie ggf. nachbearbeiten.
In der Datei ~/.xine/config sollten noch die Einträge
gui.dropped_frames_warning:0 gui.osd_enabled:0nicht fehlen. Abhängig davon, ob das
vdr-plugin-xine und die libxine1 mit dem Netzwerk-Patch versehen sind (Details siehe unten) oder nicht erfolgt der Zugriff auf den VDR mit
vdr:# xine "vdr-socket:/127.0.0.1#demux:mpeg_pes"oder mit
vdr:# xine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"Nach diesem Aufruf sollte Xine das VDR-Fernsehbild (unter X11) anzeigen.
xine --help auflistet. Die im Zusammenhang mit dem VDR wichtigsten Optionen sind im Init-Skript weiter unten enthalten.
Die Installation von der mitgelieferten CD erfolgt mit
vdr:# mount /dev/cdrom vdr:# cd /media/cdrom/IR\ Trans vdr:# sh install.shunter
/usr/local/irtrans/. Einige der dort installierten Dateien habe ich durch neuere Versionen von irtrans.de ersetzt. Im Verzeichnis remotes/ befinden sich die Definitionen der Tasten-Codes von verschiedenen Fernsteuerungen. Mit
vdr:# cd /usr/local/irtrans vdr:# ./irserver -debug_code -loglevel 4 /dev/ttyUSB0werden die von der IR-Fernsteuerung gesendeten Codes angezeigt, z.B.
7500c38011000000[0.0] ok mediacenter [0.0]: S11101010000000000011110000010001001000 48Die zweite Zeile entspricht einer nicht unter
remotes/ aufgelisteten Taste. Die angezeigten Daten können zur Ergänzung von fehlenden Tastatur-Codes unter remotes/ verwendet werden. Da remotes/mediacenter.rem am besten auf die bei mir mitgelieferte Fernbedienung paßt, habe ich die fehlenden Einträge dort nachgetragen und die restlichen remotes/*.rem-Dateien gelöscht. Der Eintrag für den obigen unbekannten Code lautet z.B.
[tvrec][T]0[D]S11101010000000000011110000010001001000Alternativ können die Codes auch automatisch mit dem Kommando
irclient in die Konfigurationsdatei eingetragen werden. Hier liegt meine Datei remotes/mediacenter.rem.
Der LIRC-kompatible Server wird mit
./irserver -daemon /dev/ttyUSB0als Daemon gestartet. Mein Init-Skript
/etc/init.d/irserver gibt's hier.
Das Kommando
update-rc.d irserver start 10 2 3 4 5 . stop 30 0 1 6 .legt die Soft Links zum automatischen Starten des Skriptes beim Booten an.
VDR erkennt (bzw. glaubt) nun beim Start, dass LIRC gestartet ist und springt ins Menü zum Lernen der Tasten-Codes. Diese werden in die Datei /var/lib/vdr/remote.conf abgelegt und können dort bei Bedarf manuell nachbearbeitet werden.
Mit dem Kommando
vdr:# /usr/local/irtrans/irclient 127.0.0.1 Optionenlassen sich weitere Funktionen des VFD-Modules steuern, insbesondere Text auf dem Display ausgeben oder die Willkommen-Meldung ändern. Die Dokumentation dazu finde ich ziemlich mager, hier hilft nur probieren.
apt-cache search vdr-plugin an. Installiert werden die Plugins wie gewohnt mit apt-get install Plugin-Name. Konfiguriert werden sie über das OSD von VDR oder in den Dateien unter /etc/vdr/plugins/.
Mit folgende Plugins habe ich bisher herumgespielt:
vdr-plugin-xine
Der Netzwerk-Patch ist etwas problematisch, da er negative Auswirkungen auf die Stabilität und Bildqualität des VDRs haben kann, der xineplayer (siehe unten) funktioniert damit auch nicht. Jedenfalls waren das Plugin sowie die libxine1 bei meinem letzten Installationsversuch wieder ohne Netzwerk-Patch, was es mir erspart hat, die Pakete selbst ohne Netzwerk-Patch zu übersetzen (durch Auskommentieren der entsprechenden Einträge in der Datei debian/patches/00list der Quellcode-Pakete).
Eine Alternative zum vdr-plugin-xine ist das vdr-plugin-xineliboutput. Das Plugin soll sich mittlerweile besser für die VDR-Ausgabe mit reiner Software-Decodierung eignen, allerdings bin ich noch nicht dazu gekommen, mir das Plugin genauer anzuschauen.
vdr-plugin-mp3
Für die Wiedergabe Audio-CDs wird das Dateisystem bzw. Kernel-Modul cdfs benötigt, welches leider nicht Bestandteil des offiziellen Kernels ist und daher selbst kompiliert werden muss.
Für das Kompilieren von Kernel-Modulen werden auf dem Rechner ggf. ein paar zusätzliche Pakete sowie die Kernel-Quellen benötigt:
vdr:# apt-get install linux-source-2.6.16 kernel-package libncurses5-dev vdr:# cd /usr/src/ vdr:# tar -xvjf linux-source-2.6.16.tar.bz2 vdr:# cd /usr/src/linux-source-2.6.16/ vdr:# make menuconfig
make menuconfig erstellt die Kernel-Konfigurationsdatei .config. Da hier keine speziellen Einstellungen benötigt werden, kann das Menü sofort nach dem Start wieder verlassen werden.
Das Modul wird dann übersetzt und installiert mit:
vdr:# apt-get install cdfs-src vdr:# cd /usr/src/ vdr:# tar -xvjf cdfs.tar.bz2 vdr:# cd /usr/src/linux-source-2.6.16/ vdr:# dpkg --list | grep linux-image-2.6.16 ii linux-image-2.6.16-2-686 2.6.16-14 Linux kernel 2.6.16 image on PPro/Celeron/PI vdr:# dpkg --list | grep kernel-package ii kernel-package 10.048 A utility for building Linux kernel related vdr:# make-kpkg --append-to-version=-2-686 --initrd --revision=10.048 kernel_image vdr:# make-kpkg --append-to-version=-2-686 --revision=10.048 modules_imageDer ganze Kernel muss eigentlich nur kompiliert werden (Befehl
make-kpkg ... kernel_image), um dem Kernel-Modul die zum Kernel passenden Versionsinformationen mitzugeben (Datei Module.symvers). Das Modul funktioniert auch ohne diesen Schritt, beim Kompilieren und Laden des Moduls erscheinen aber Warnungen über die fehlende Versionsnummer.--append-to-version=-1-686 sorgt dafür, dass die Module später im richtigen Verzeichnis unter /lib/modules/ landen.
Das Debian-Paket /usr/src/cdfs-2.6.16-2-686_2.4.20.a+2.6.12-2+10.048_i386.deb kann dann installiert werden mit:
vdr:# dpkg --install /usr/src/cdfs-2.6.16-2-686_2.4.20.a+2.6.12-2+10.048_i386.debMit
cdfs können nun Audio-CDs direkt ins Dateisystem gemountet werden:
vdr:# mount -o ro -t cdfs /dev/cdrom /mnt/Unter
/mnt/ liegen nun die Audio-Tracks auf der CD als WAV-Dateien. Das MP3-Plugin kann diese Funktion nutzen, sobald folgende Schritte gemacht sind:
vdr:# cd /media/ vdr:# mkdir cdfs0 vdr:# ln -s cdfs0 cdfsEinträge in
/etc/fstab:
/dev/hdb /media/cdfs0 cdfs ro,user,noauto 0 0und
/etc/vdr/plugins/mp3sources.conf:
/media/cdfs0;CD-Audio;1;*.wav /media/cdrom0;CDROM;1
vdr-plugin-dvdDas Plugin arbeitet bei mir etwas instabil. Insbesondere sind die DVD-Menüs sporadisch nicht mehr aufrufbar.
vdr-plugin-imagevdr-plugin-osdteletextvdr-plugin-mplayervdr:# apt-get install vdr-plugin-mplayerDas Plugin funktioniert normalerweise nur mit einer Full-Featured-Karte, nicht mit Xine. Allerdings gibt es im
vdr-plugin-xine ein Programm namens xineplayer, welches als Ersatz für den mplayer funktioniert. Um diesen zu aktivieren muss die Datei /etc/vdr/plugins/vdrmplayer.sh.conf angepaßt werden:
# Where to find mplayer executable ? MPLAYER="/usr/bin/xineplayer"Der
xineplayer arbeitet zur Zeit nur im "traditional mode" des vdr-plugin-mplayer, läß sich also nicht über den VDR steuern. Die Wiedergabe sollte aber über den blauen Knopf der Fernbedienung beendet werden können, was bei mir aber dazu führt, dass Xine keinerlei VDR-Daten mehr anzeigt und neu gestartet werden muss. DVDs lassen sich mit dem xineplayer bei mir nicht abspielen.
vdr:# apt-get install alsa-utils vdr:# alsaconf vdr:# alsamixer vdr:# alsactl store
alsaconf richtet ALSA auf dem System ein. Die Dialoge sind weitgehend selbsterklärend, im Zweifel einfach die Standardeinstellungen beibehalten.alsamixer hilft bei der Einstellung der gewünschten Lautstärke. Am wichtigsten ist der erste Regler namens Master. alsactl store speichert die eingestellten Werte in die Datei /var/lib/alsa/asound.state. Der Inhalt der Datei ist ebenfalls recht selbsterklärend. Die Master-Lautstärke wird z.B. im Bereich
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Master Playback Volume'
value.0 63
value.1 63
}
festgelegt. Nach einem Neustart des Systems werden diese Einstellungen nun automatisch gesetzt.
vdr laufen.
Damit nicht nur root den X-Server starten darf, muss erst noch mit
vdr:# dpkg-reconfigure x11-commondie Konfiguration entsprechend angepaßt werden:
Wählen Sie aus, welcher Benutzertyp den X-Server starten darf.
Jeder
Alternativ kann man manuell den Eintrag allowed_users=anybody in /etc/X11/Xwrapper.config anlegen.
Zu beachten ist außerdem, dass der User vdr auf die Audio- und Video-Devices zugreifen muss, ggf. auch auf andere (CDROM, Floppy usw.). Dazu wird er in die entsprechenden Gruppen (siehe /etc/group) aufgenommen:
vdr:# usermod -G audio,video,cdrom vdrWie oben beschrieben muss noch die Datei
~vdr/.xine/keymap angepaßt werden.
Das Init-Skript /etc/init.d/Xxine liegt hier.
Der X-Server für Xine startet nach /etc/init.d/Xxine start auf VT8 (erreichbar mit Strg-Alt-F8). Beide Prozesse werden vom User vdr gestartet.
Das Kommando
update-rc.d Xxine start 99 2 . stop 01 0 1 6 .legt die Soft Links zum automatischen Starten des Skriptes beim Booten an.
rm /etc/rc[S2].d/S[0-9][0-9]Initscript löschen (Debian verwendet standardmäßig den Runlevel 2 für den "normalen" Multiuser-Betrieb, siehe /etc/inittab). Außerdem können noch verschiedene weitere Dienste deaktiviert werden, die VDR nicht benötigt, z.B. lpd und exim4:
| Dienst | Debian-Paketname | Init-Skript unter /etc/init.d/ |
| X11 Font Server | xfs | xfs |
| Xprt | xprint-common | xprint |
| X Display Manager | xdm | xdm |
| lpd | lpr | lpd |
| Mailserver Exim | exim4-base | exim4 |
FontPath "unix/:7100" aus /etc/X11/xorg.conf entfernt werden.
Die gelöschten Soft Links können bei Bedarf mit dpkg-reconfigure --unseen-only Paketname wieder angelegt werden (dpkg-reconfigure --unseen-only --all konfiguriert alle Pakete neu). Mit /etc/init.d/Initscript start kann der Dienst bei Bedarf nachträglich gestartet werden.
irserver) mit irclient programmiert werden:
vdr:# cd /usr/local/irtrans/
vdr:# ./irclient localhost
1 - Send
2 - Learn
3 - Status
99 - Exit
Select command 3
0 Device(s) Found:
99 - Exit
Select command 0
Device [0]:
Repeat Mask: o o o o o o o x x o o o o o o o
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Mode Send [20]: x
IR [21]: x
SBUS [22]: x
IR RemoteCtrl [23]: x
SBUS RemoteCtrl [24]: x
RAW [25]: o
Fast Mode [26]: o
SBUS send Repeat [27]: x
PowerOn Remote [40]: .04.30
PowerOn Command [41]:
Cancel [88]
Save & Exit [99]
Select command 40
Enter PowerOn Remote: mediacenter
Device [0]:
Repeat Mask: o o o o o o o x x o o o o o o o
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Mode Send [20]: x
IR [21]: x
SBUS [22]: x
IR RemoteCtrl [23]: x
SBUS RemoteCtrl [24]: x
RAW [25]: o
Fast Mode [26]: o
SBUS send Repeat [27]: x
PowerOn Remote [40]: mediacenter
PowerOn Command [41]:
Cancel [88]
Save & Exit [99]
Select command 41
Enter PowerOn Command: power
Device [0]:
Repeat Mask: o o o o o o o x x o o o o o o o
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Mode Send [20]: x
IR [21]: x
SBUS [22]: x
IR RemoteCtrl [23]: x
SBUS RemoteCtrl [24]: x
RAW [25]: o
Fast Mode [26]: o
SBUS send Repeat [27]: x
PowerOn Remote [40]: mediacenter
PowerOn Command [41]: power
Cancel [88]
Save & Exit [99]
Select command 99
1 - Send
2 - Learn
3 - Status
99 - Exit
Select command 99
mediacenter benennt die Datei remotes/mediacenter.rem mit den Fernbedienungs-Codes, power den Namen der Taste aus dieser Datei (siehe oben), über welche der Rechner eingeschalten werden soll.
Nach diesen Einstellungen kann der Rechner per Fernbedienung eingeschalten werden, mit einer Ausnahme: Wurde der Rechner komplett vom Stromnetz getrennt, muss er beim ersten Mal über den Power-Knopf am Gehäuse eingeschalten werden.
Mein Motherboard wird von nvram-wakeup gut unterstützt, die Installation gestaltet sich dann relativ einfach:
vdr:# apt-get install nvram-wakeup vdr:# modprobe nvram vdr:# echo nvram >> /etc/modulesZum Übernehmen der neuen Zeit-Einstellungen benötigt das BIOS einen Reboot, daher sind in der Datei
/boot/grub/menu.lst noch die Einträge
# Menueeintrag aus /boot/grub/default starten default saved # Menueeintrag zum Herunterfahren title Ausschalten savedefault 0 root (hd0,0) haltzu machen, in
/etc/vdr/vdr-nvram-wakeup.conf die Einträge
ENABLED="yes" SPECIALSHUTDOWN="echo y | grub-reboot 3"Irgendwie scheint mir die ganze Prozedur nicht 100%ig konsistent: Eigentlich sollte es den Eintrag
savedefault 0 nicht brauchen, da grub-reboot den angegebenen Menüeintrag (3) ja nur einmal booten sollte, allerdings scheint halt die dafür nötige Änderung an /boot/grub/default zu verhindern. Außerdem ist GRUB sensibel bei der Reihenfolge der Befehle beim Eintrag Ausschalten. Aber egal: So funktioniert's!
Der Daemon LCDd von LCDProc nimmt Texte und Kommandos übers Netz entgegen und zeigt diese auf dem Display an. Konfigurationsdatei: /etc/LCDd.conf. Das Kommando lcdproc übergibt dem Server einige Systemparameter (CPU-Last usw.), die der LCDd dann auf dem Display ausgibt. Als Treiber sollte für das bei mir eingebaute VFD-Display Sasem verwendet werden, habe das Display allerdings mit LCDd noch nicht zum Laufen gebracht (aber auch nicht sehr viel ausprobiert). Ggf. kann man das Kommando lcdproc auch zusammen mit irserver verwenden (hab ich noch nicht getestet).
vdr:# apt-get install lircDie Kernel-Module für LIRC gibt es leider nicht als Binärpaket, sie müssen also ähnlich wie das
cdfs-Modul oben manuell übersetzt werden:
vdr:# apt-get install linux-source-2.6.16 kernel-package libncurses5-dev vdr:# cd /usr/src/ vdr:# tar -xvjf linux-source-2.6.16.tar.bz2 vdr:# cd /usr/src/linux-source-2.6.16/ vdr:# make menuconfigIm Kernel-Konfigurationsmenü muss
Loadable module support ---> Module unloading aktiviert werden, danach kann das Menü wieder verlassen werden (Abspeichern der Kernel-Konfiguration nicht vergessen).
Dann:
vdr:# apt-get install lirc-modules-sourceIm nun folgenden Dialog ist (nur) der Treiber
sasem auszuwählen. Im nächsten Dialog kann man die Module automatisch kompilieren und installieren lassen. Der Pfad zu den Kernel-Quellen ist /usr/src/linux-source-2.6.16/.
Sollte die automatische Installation der Module nicht funktionieren hier der manuelle Weg:
vdr:# cd /usr/src/ vdr:# tar -xvzf lirc-modules.tar.gzDer Quelltext zu den LIRC-Modulen landet dann unter
/usr/src/modules/lirc/. Die restlichen Schritte sind dann:
vdr:# cd /usr/src/linux-source-2.6.16/ vdr:# dpkg --list | grep linux-image-2.6.16 ii linux-image-2.6.16-2-686 2.6.16-14 Linux kernel 2.6.16 image on PPro/Celeron/PI vdr:# dpkg --list | grep kernel-package ii kernel-package 10.048 A utility for building Linux kernel related vdr:# make-kpkg --append-to-version=-2-686 --initrd --revision=10.048 kernel_image vdr:# make-kpkg --append-to-version=-2-686 --revision=10.048 modules_imageDas Debian-Binärpaket wird dann installiert mit:
vdr:# dpkg --install /usr/src/lirc-modules-2.6.16-2-686_0.8.0-4+10.048_i386.deb
/etc/lirc/. Die dortige Datei lircd.conf enthält die Daten der Fernsteuerung. Funktionieren sollte die Vorlage /usr/share/doc/lirc/remotes/sasem/lircd.conf.sasem.
vdr:# cd /etc/lirc/ vdr:# cp /usr/share/doc/lirc/remotes/sasem/lircd.conf.sasem lircd.conf vdr:# /etc/init.d/lirc startWeiter bin ich noch nicht gekommen...
powertweak, hddtemp, hdparm, blktool. V.a. hdparm sollte mit Vorsicht eingesetzt werden (siehe Manpage).
Temperatur der Festplatte anzeigen:
vdr:# hddtemp /dev/hda /dev/hda: SAMSUNG SP1604N: 29°C
CDROM herunterregeln:
vdr:# hdparm -EFestplatte stoppen (Stromsparmodus):
vdr:# hdparm -y /dev/hdaSiehe auch
-Y (Schlafmodus), -S (Standby Timeout), -M (Automatic Acoustic Management), Status abfragen mit -C.
xvmc oder xxmc, welche XvMC (XVideo Motion Compensation), eine einfache Hardware-Unterstützung für die Decodierung von MPEG-Daten, unterstützen sollen. Der Intel-Chipsatz i810 sollte XvMC bieten.
XvMC (XVideo Motion Compensation) wird in /etc/X11/xorg.conf aktiviert mit (siehe man 4 i810):
Section "Device" Driver "i810" ... Option "XvMCSurfaces" "7" ... EndSectionFalls noch nicht geschehen werden die XvMC-Bibliotheken installiert mit:
vdr:# apt-get install libxvmc1Die Video-Treiber
xxmc und xvmc sind mittlerweile in libxine1 standardmäßig einkompiliert, die Bibliothek muss also nicht zwingend neu übersetzt werden. Einige nützliche Tips zu XvMC mit Xine stehen in der Datei /usr/share/doc/libxine1/README_xxmc.html.
Leider wurden meine Hoffnungen nicht erfüllt: Sowohl xine --video-driver xvmc als auch der Treiber xxmc brachten keine merklichen Leistungsverbesserungen sondern führten vielmehr zu verschiedenen Fehlern (kein Bild, Ruckeln usw.) oder einer nicht aktzeptablen Bildqualität (schlechtes Deinterlacing).
vdr:# apt-get install linux-source-2.6.16 kernel-package libncurses5-dev vdr:# cd /usr/src/ vdr:# tar -xvjf linux-source-2.6.16.tar.bz2 vdr:# cd /usr/src/linux-source-2.6.16/ vdr:# make menuconfig vdr:# make-kpkg clean vdr:# make-kpkg --initrd --revision=linuxvdr0.01 kernel_imageUnter
/usr/src/ liegt der neue Kernel dann als Debian-Paket kernel-image-2.6.16_linuxvdr0.01_i386.deb, welches mit
vdr:# dpkg --install /usr/src/kernel-image-2.6.16_linuxvdr0.01_i386.debinstalliert werden kann.
/boot/grub/menu.lst:
splashimage (hd0,1)/boot/grub/splashimages/linuxinside.xpm.gz
foreground ffffff
background 000000
Das Bild (hier linuxinside.xpm.gz) muss dann nach /boot/grub/splashimages/ kopiert werden. Fertige Bilder und eine genaue Beschreibung gibts unter http://linuxwiki.de/GRUB.
gfxmenu in /boot/grub/menu.lst (Suse?).
vdr:# dpkg-reconfigure localesläßt sich der Standard-Zeichensatz des Systems festlegen. Der Versuch, den Zeichensatz auf
de_DE.UTF-8 umzustellen, scheitert aber leider daran, dass der VDR UTF-8 noch nicht unterstützt. Allerdings arbeitet der VDR anstandslos mit Dateinamen (z.B. von MP3s) im UTF-8-Format, er zeigt nur die Sonderzeichen nicht korrekt an. Auch andere Programme haben an einigen Stellen noch Probleme mit UTF-8.
rsync ungemein. Der Aufruf
rsync --archive --delete /srcpath/rsyncsrc/ /dstpath/rsyncdst/synchronisiert den Inhalt des Verzeichnisses
/srcpath/rsyncsrc/ (Slash am Ende nicht vergessen!) nach /dstpath/rsyncdst/. Wirkt Wunder bei meiner lahmen USB 1.1-Schnittstelle...
Gleich nach dem Hochfahren zeigt der VDR kurz (ca. zwei Sekunden) das Menü zum Lernen der Fernbedienungs-Codes an, obwohl diese schon definiert sind.
Der Rechner ist noch nicht so leise, wie man es für einen Wohnzimmer-PC gerne hätte. Es scheint, als ob der Netzteil-Lüfter am meisten Geräusche macht, muss ich mir aber noch genauer ansehen.
Die Xine-Option --post expand verursacht, abhängig von der verwendeten X11-Auflösung, ein blaues Bild bei (echtem) 16:9-Material, zudem "springt" das OSD zwischen 16:9 und 4:3 hin und her.
Das Abspielen von Video-Dateien mit dem vdr-plugin-mplayer funktioniert, ist aber noch recht problematisch.