Hallo zusammen,
ich beschäftige mich nun schon seit einigen Jahren mit dem VDR und habe einige PCs für das Wohnzimmer zusammengebaut. Bislang gab es immer irgendwelche Probleme, so dass ich nie zufrieden war. Nun habe ich eine wirklich gut funktionierende Konfiguration gefunden. Da ich über die Jahre sehr viele Infos besonders aus diesem Portal habe, stelle ich die Gesamtanleitung hier online. Ihr könnt gerne die ganze Anleitung oder Teile daraus irgendwoanders hinkopieren.
Die Anleitung ist recht lang gewordem... Sorry dafür...
Zuerst meine wichtigsten Anforderungen:
- Wohnzimmertauglich (leise, wenig Stromverbrauch, möglichst klein)
- Dual-Tuner (Aufnehmen und Fernesehen von unterschiedlichen Programmen)
- VDR muss so laufen, dass ich auch die Schneidefunktionen nutzen kann
- Video-Player, so dass ich MKV (HD Filme), AVI und ISO-Dateien (DVD-Images) abspielen kann
- Fernbedienung (Famielientauglich, meine Eltern sollen das Gerät auch benutzen können)
- Aufnahme-Programmierung über Web-Interface
- HD Programme ruckelfrei
Zuerst zur Hardware:
Da ich einen möglichst geringen Stromverbrauch haben möchte, kommt für mich nur ein einziges Board in Frage. Für HD Fernsehen habe ich bislang nur mit VDPAU ein vernünftiges Ergebnis hinbekommen, deswegen muss es eine NVIDIA Grafikkarte sein. (VDPAU ist eine Hardwarebeschleunigung zum darstellen von MPEG4 (und MPEG2) Videostreams.) Um Strom zu sparen, soll es eine OnBoard-Karte sein. Hier gibt es (meines Wissens nach) nur ein Board, was genügend GPU Power für VDPAU für HD-Fernsehen hat: Asus At5iont-i
Das Board hat nur einen PCI-Express Steckplatz, folglich muss die DVB-S Karte zwei Tuner haben. Ich habe schon länger eine Mystique Satix-s2 liegen. Also wird diese verwendet. Aktuell würde ich vermutlich eine Tevii kaufen.
Als Gehäuse habe ein JCP Mini-ITX MI 101 gewählt. Ich benötigt man keine Low-Profile Karte, man hat Platz für ein zukünftiges DVD Laufwerk und oder eine 3,5'' Festplatte. Außerdem gibt es USB Anschlüsse vorne. (Sehr praktisch um ggf. nen MP3 Player oder so zu laden)
Als letztes habe ich noch das Netzteil in dem Gehäuse gegen ein fast lautloses getauscht. Das Format ist zum Glück genormt und heißt SFX. Das neue Netzteil ist wirklich fast lautlos: Xilence SFX 250
Nun zur Software:
Als Betriebssystem habe ich ein Debian Squeeze 64Bit gewählt. Das hängt vorrangig damit zusammen, dass wir Debian als Betriebsystem für die Server in der Firma einsetzen und ich mich daher damit auskenne.
Zum Abspielen von Videos reicht mir der VDR selber nicht aus. Hier möchte ich einen etwas komfortableren Player. Da ich ruckelfrei HD Videos ohne Tearing oder Interlacing Artefakte abspielen möchte, ist meine Wahl auf XBMC gefallen. Mit xine und mplayer habe ich es nicht hinbekommen, dass die Bildwiederholfrequenz der Grafikkarte automatisch an die Videos angepasst wird, was für ein ruckelfreies Abspielen von HD 24p Filmen aus meiner Sicht unerlässlich ist. Auch 50hz Pal Filme sehen bei 60Hz einfach nicht sauber aus.
Derzeit ist es leider mit dem XBMC DVR-Fork nicht möglich auf die Schneidefunktionen des VDRs zuzugreifen. (Bitte korrigiert mich, wenn das inzwischen anders ist) Außerdem schien mir die VDR Anbindung in XBMC noch ziemlich buggy. Die Einbindung ist auch wirklich komplex. Aus diesem Grund habe ich mich für xineliboutput und xbmc parallel entschieden. Man kann mit der Fernbedienung umschalten.
Nun die Anleitung der Installation: (Es ist nicht alles gleich ausführlich, gut dokumentiert sind die Stellen, mit denen ich Probleme hatte)
Installation von Debian 64Bit: DVD bei debian.org runterladen (http://cdimage.debian.org/debian-cd/6.0.…usinesscard.iso) und NUR das System installieren, kein X, kein Webserver nichts. Das ist mit nen paar mal Enter drücken recht flott getan.
Dann per root einloggen und mit der Installation beginnen:
apt-get install dpkg-dev gcc g++ libc6-dev make patch debhelper bzip2 kernel-package sudo
apt-get install libncurses5 libncurses5-dev rcconf dialog setserial
apt-get install linux-headers-2.6-amd64 linux-headers-2.6.32-5-common linux-headers-2.6.32-5-amd64
apt-get install psmisc chrony mercurial screen
Für meine DVB Karte reichen die Kernel-Treiber nicht aus, deswegen habe ich die s2-liplianin Treiber installiert. Vermutlich hätte es auch ein neuerer Kernel getan, aber ich war faul:
cd /usr/src
hg clone http://mercurial.intuxication.org/hg/s2-liplianin/cd s2-liplianinmake
make install
Für die Mytique ist noch eine Firmware nötig: Die gibt es in einem Paket für Ubuntu:
Die firmware wird unter /lib/firmware abgelegt.
cd ~
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/l/linux-firmware-nonfree/linux-firmware-nonfree_1.9_all.deb
dpkg -i linux-firmware-nonfree_1.9_all.deb
Die Mystique erzeugt von sich aus nur ein Frontend. Damit kommt der VDR nicht klar. Das müssen wir noch dem Kernel-Module noch ein Parameter mitgeben. Das geht am Besten, indem man unter "/etc/modeprobe.d/" die Datei "ngene.conf" mit dem Inhalt "options ngene one_adapter=0" anlegt.
Nun benötigen wir X11 für die grafische Ausgabe:
Nun ist es an der Zeit den Rechner einmal neuzustarten, um zu schauen, ob X startet und ob die Kernel Module für die DVB-Karte geladen werden.
Für die VDPAU Grafik-Ausgabe ist es nötig den NVIDIA eigenen Treiber zu installieren:
Den NVIDIA Treiber brauchen wir für VDPAU, also für das deinterlacing in der Grafikkarte, sowie die beschleunigte Wiedergabe von MPEG4 Dateien. Mit der CPU ist das fast nicht möglich.
Damit das Kernel-Module compiliert werden kann benötigen wir den gcc-4.3 (Damit wurde der Kernel bei Debian erzeugt). Diesen müssen wir während der Installation zum Default Compilier machen:
Nun den NVIDIA Installer runterladen (https://www.vdr-portal.de/www.nvidia.com irgendeine Grafikkarte auswählen Linux 64Bit)
Ggf. funktioniert auch der Link unten im wget
killall gdm
wget http://de.download.nvidia.com/XFree86/Linux-x86_64/295.40/NVIDIA-Linux-x86_64-295.40.run
chmod a+x NVIDIA-Linux-x86_64-295.40.run
./NVIDIA-Linux-x86_64-295.40.run
Beim ersten Aufruf wird ein "conflicting kernel module" gefunden. Der Installer schreibt dann eine blacklist eintrag für modprobe.
Dannach muss der PC neugestartet werden und der Vorgang wiederholt werden.
Alles mit JA beantworten insbesondere das Update der X11 Config.
Nun kann der gcc wieder auf 4.4 gestellt werden
Leider liegen nun die vdpau Libs nicht an der richtigen Stelle, deswegen:
Mit dem Tool "vdpauinfo" (google, download, autogen.sh, configure, make) kann man in der X Oberfläche sehen, ob alles ok ist.
Als nächstes habe ich XBMC installiert, um VDPAU zu testen:
apt-get install git
apt-get install debhelper python-support cmake autotools-dev autoconf automake unzip libboost-dev zip libtool libgl1-mesa-dev libglu-dev libglew-dev libmad0-dev libjpeg-dev libsamplerate-dev libogg-dev libvorbis-dev libfreetype6-dev libfontconfig-dev libbz2-dev libfribidi-dev libsqlite3-dev libmysqlclient-dev libasound2-dev libpng12-dev libpcre3-dev liblzo2-dev libcdio-dev libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libenca-dev libjasper-dev libxt-dev libxmu-dev libxinerama-dev libcurl4-gnutls-dev
apt-get install libdbus-1-dev libhal-storage-dev libhal-dev libpulse-dev libavahi-common-dev libavahi-client-dev libxrandr-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libmpeg2-4-dev libass-dev libmpcdec-dev libflac-dev python-dev gawk gperf nasm libcwiid1-dev libbluetooth-dev zlib1g-dev libsmbclient-dev libboost-thread-dev libiso9660-dev libssl-dev lsb-release libvdpau-dev libmicrohttpd-dev libmodplug-dev librtmp-dev curl python-dev libyajl-dev libplist-dev libusb-dev libudev-dev libltdl-dev mesa-utils
cd ~
git clone git://github.com/xbmc/xbmc.git
# git clone git://github.com/opdenkamp/xbmc.git (Mit PVR, benötigen wir aber nicht, da wir xineliboutput benutzen)
cd xbmc
./bootstrap
./configure
Display More
Hier sollte bei "vdpau" nun "Yes" stehen
Nun kann man in der X Oberfläche mal den xbmc testen.
Direkt fällt auf, dass die Soundausgabe nicht über HDMI erfolgt:
Natürlich ist die HDMI Sound-Ausgabe durch die NVIDIA Karte nicht vom Kernel unterstützt. Hier brauchen wir aktuellen ALSA-Treiber:
apt-get install alsa-utils
cd ~
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.25.tar.bz2
tar -xjf alsa-driver-1.0.25.tar.bz2
cd alsa-driver-1.0.25
./configure
make
make install
Nach dem Reboot sind die nötigen Sound-Kanäle da. Allerdings steht alles auf "mute". Man kann das mit "alsamixer" beheben. Also alsamixer als root aufrufen, Nun wird mit F6 die NVIDIA Soundkarte auswählen. Mit "m" alle 4 Kanäle "unmuten" und den alsamixer verlassen. Es müssen nun die Einstellungen gespeichert werden, damit wir das nicht bei jedem Systemstart wiederholen müssen. Das geht mit "alsactl store".
Nun kann man im xbmc unter System, Audio, das Custom Device einstellen: "hw:1,7"
Alle Devices kann sich mit "aplay -l" zu Debugzwecken als root anzeigen lassen.
Für den VDR müssen wir eine .asoundrc anlegen:
Nun können wir den VDR installieren:
Noch die nötigen Verzeichnisse anlegen:
Die Config ist in recht vielen Foren beschrieben und dabei ist nichts besonderes. Ich glaube es läuft auch alles sauber mit der Default-Config.
Nun die VDR Installation selbst.
apt-get install gcc bzip2 make g++ build-essential mercurial subversion cvs autoconf libtool automake pkg-config gettext libncurses5-dev libfontconfig1-dev sudo hdparm
apt-get install ssh wget lynx libtool automake1.9 libc-client-dev netpbm libvorbis-dev libvorbis0a libvorbisfile3 libvorbisenc2 libogg0 libdvdnav-dev
apt-get install libdvdnav4 alsa-base alsa-utils alsa-source libasound2 libasound2-dev libjpeg62 libjpeg62-dev libcap-dev fxload libcompress-zlib-perl libvorbis-dev libvorbis0a libvorbisfile3 libvorbisenc2 libdvdnav-dev libdvdnav4 alsa-base alsa-source libasound2 libasound2-dev libjpeg62 libjpeg62-dev libid3tag0 libid3tag0-dev imagemagick libcrypto++-dev libssl-dev openssl libcompress-zlib-perl libmad0 libmad0-dev liba52-0.7.4 liba52-0.7.4-dev libsndfile1 libsndfile1-dev nasm libmagick++9-dev libimlib2 libimlib2-dev ogmtools libcdaudio1 libcdaudio-dev gozer giblib-dev giblib1 fbtv fbset pciutils libncurses5-dev ncurses-dev mercurial input-utils dvb-apps libssl-dev mpeg2dec libmpeg2-4-dev unzip zip cvs libmagick++9-dev libgraphicsmagick++1-dev fakeroot libpng12-dev liblogfile-rotate-perl libsndfile1 libsndfile1-dev pkg-config libvorbis-dev libmad0-dev libsndfile1-dev
apt-get install libogg-dev libid3tag0-dev nasm libfontconfig1-dev alsaplayer alsaplayer-text
apt-get install libmagick++9-dev libmagick9-dev libxrandr-dev libpcre3-dev
apt-get install libboost-dev libgd2-xpm-dev dvdauthor mkisofs dvd+rw-tools libcdio-dev dpkg-dev libc6-dev patch debhelper
#VDR runterladen:
#Version 1.7.22 ist die letzte Version, die mit dem Kernel 2.6 zusammen läuft
#Version 1.7.23 benötigt bereits den Kernel Version 3.0. Dafür gibt es dann Unterstützung von DVB-T2 Das machen wir hier nicht. Es gibt auch Patches für neuere VDR Versionen mit altem Kernel oder man kann den neuen Kernel wählen. Aber ich hänge irgendwie an der 2.6er Serie...
#Der VDR ist nun unter ftp://ftp.tvdr.de/vdr/Developer/ zu finden
#(Homepage http://www.tvdr.de/)
#Extension Patch (ExtP-NG) gibt es nicht mehr.
#Ggf. ersetzn durch: "G2V ext Patch"
#patch -p0 <ExtP-NG-vdr-1.7.14-V1.diff
#Aber eigentlich brauche ich keinen Patch wirklich, als erstmal vanilla
cd /usr/local/src
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.22.tar.bz2
tar -xjf vdr-1.7.22.tar.bz2
ln vdr-1.7.22 vdr
cd vdr
#Es gibt auch eine Make.config aber es geht auch ohne.
make
make install
#Nun benötigen wir noch ein paar Plugins:
cd PLUGINS
cd src
#Aktuelles epgsearch
apt-get install git-core
git clone git://projects.vdr-developer.org/vdr-plugin-epgsearch.git epgsearch-git
mv epgsearch-git epgsearch
#Nun xineliboutput
apt-get install libdbus-glib-1-dev libextractor-dev
cd /usr/local/src/vdr/PLUGINS/src
cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
ln -s vdr-xineliboutput xineliboutput
#Plugins compilieren
cd /usr/local/src/vdr
make plugins
#Bei xineliboutput gibt es auch noch das frontend vdr-sxfe:
cd /usr/local/src/vdr/PLUGINS/src/xineliboutput
make install
mkdir -p /etc/vdr/plugins/xineliboutput
cp *.mpg /etc/vdr/plugins/xineliboutput/
#Nettes HD Skin
cd /usr/local/src/vdr/PLUGINS/src
git clone git://projects.vdr-developer.org/vdr-plugin-text2skin.git
ln -s vdr-plugin-text2skin/ text2skin
cd /usr/local/src
wget http://andreas.vdr-developer.org/fonts/download/vdrsymbols-ttf-20080905.tgz
tar -xvzf vdrsymbols-ttf-20080905.tgz
cp -r vdrsymbols /usr/share/fonts/truetype
cd /usr/local/src
git clone git://projects.vdr-developer.org/skin-pearlhd.git
cd skin-pearlhd
make
make install
Display More
Die Plugins werden normalerweise per "make plugins_install" installiert. Zum testen fand ich es praktische wenn die Plugins direkt nach dem Compilieren direkt da sind, wo sie hingehören:
Nun sollten wir dafür sorgen, dass der VDR automatisch gestartet:
Dazu unter /etc/init.d die Datei "vdrstart" mit folgendem Inhalt anlegen (das geht auch schöner, aber das Script benutze ich schon seit 5 Jahren):
#!/bin/bash
### BEGIN INIT INFO
# Provides: vdr
# Required-Start: $all
# Required-Stop:
# Default-Start: 2
# Default-Stop:
# Short-Description: Starts VDR at boottime
# Description: Starts and stops VDR
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=vdr
case "$1" in
start)
run=`ps -aef|grep "runvdr"|grep -v grep|wc -l`
if [ $run -eq 0 ]
then
echo -n "Starting vdr... "
/usr/local/bin/runvdr
echo -n "done"
else
echo -n "VDR already running..."
fi
;;
stop)
echo -n "Shutting down VDR"
ps -aef|grep runvdr|grep -v grep|awk '{print($2)}'|sort -n|xargs kill -9 >/dev/null 2>&1
ps -aef|grep "/var/vdr"|grep -v grep|awk '{print($2)}'|sort -n|xargs kill >/dev/null 2>&1
sleep 5
ps -aef|grep "/var/vdr"|grep -v grep|awk '{print($2)}'|sort -n|xargs kill -9 >/dev/null 2>&1
# rc_status -v
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
# rc_exit
Display More
Das Script muss nun noch in den Debian Boot-Prozess eingebunden werden:
Über das oben genannte init-Script wird runvdr gestartet, wodrin die VDR Parameter versteckt sind. Ich habe da folgendes Script im Einsatz (unter /usr/local/bin als "runvdr") anlegen:
#!/bin/sh
eval "ps x|grep vdr |grep -v vdrstart |grep -v grep |grep -v vdrconvert |grep -v runvdr |grep -v vdradmind>/dev/null"
if test $? -eq 0; then
echo "VDR allready running!";
exit
fi
/sbin/hdparm -S 140 /dev/sdb
if [ "$1" != "-debug" ]; then
if [ "$1" != "-d" ]; then
nohup $0 -d &
echo "Daemon forked."
exit 0
fi
exec </dev/null
exec >/var/log/vdr 2>&1
rm nohup.out
fi
VDRPRG="/usr/local/bin/vdr"
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
export VDR_LANG=de_DE.ISO-8859-1
export LANG=de_DE.ISO-8859-1
export LC_ALL=de_DE.ISO-8859-1
export VDR_CHARSET_OVERRIDE=ISO-8859-9
echo "`date` starting VDR"
while (true) do
#Aufrufzeile für den VDR zusammensetzen, nur vorhandene Plugins in die Aufrufzeile übernehmen
VDROPT="-c /etc/vdr -E /var/vdr -L /usr/lib/vdr --localedir=/etc/vdr/locales "
eval "ls -1 /usr/lib/vdr |grep xineliboutput >/dev/null"; if test $? -eq 0; then VDROPT=$VDROPT" -P'xineliboutput --local=none --remote=37890'"; fi
eval "ls -1 /usr/lib/vdr |grep vdr-text2skin >/dev/null"; if test $? -eq 0; then VDROPT=$VDROPT" -P'text2skin'"; fi
eval "ls -1 /usr/lib/vdr |grep vdr-epgsearch >/dev/null"; if test $? -eq 0; then VDROPT=$VDROPT" -P'epgsearch'"; fi
eval "ls -1 /usr/lib/vdr |grep vdr-vnsi>/dev/null"; if test $? -eq 0; then VDROPT=$VDROPT" -P'vnsiserver'"; fi
if [ "$1" != "-debug" ]; then
VDRCMD="$VDRPRG -w 60 $VDROPT 2>&1 >>/var/log/vdr"
else
VDRCMD="$VDRPRG -w 60 $VDROPT"
echo "$VDRCMD"
fi
eval "$VDRCMD"
if test $? -eq 0 -o $? -eq 2; then exit; fi
sleep 10
echo "`date` restarting VDR"
done
Display More
Nun ist der VDR beim Systemstart dabei. Nun müssen wir dafür sorgen, dass man automatisch an X angemeldet wird und das Frontend vdr-sxfe automatisch gestartet wird:
Dazu sollte ein normaler User angelegt werden z.B. "vdr" (mit adduser auf der Konsole)
Nun wird die gdm Config angepasst, so dass dieser User automatisch angemeldet wird:
"/etc/gdm/gdm.conf" anpassen:
In der Config von Fluxbox muss nun ein Script aufgerufen werden, was dann automatisch nach dem anmelden das frontend vdr-sxfe startet:
Also die Datei unter /home/vdr/autostart.sh anlegen:
#!/bin/bash
/usr/bin/irexec --daemon
xhost +
xrandr -r 50
xrandr 2>&1 >/tmp/xrandr.log
/usr/bin/vdr-sxfe --lirc --video=vdpau --post tvtime:method=use_vo_driver --audio=alsa --fullscreen --reconnect xvdr://localhost
Das xrandr setzt die Bildwiederholfrequenz auf 50Hz, was für den VDR optimal ist. Zur X11 Config kommen wir später nochmal.
Das irexec benötigen wir, damit wir mit der Fernbedienung zwischen xbmc und xineliboutput wechseln können. Dazu ebenfalls später.
Nun müssen wir ein Script anpassen "/home/<username>/.fluxbox/init" Nach der ersten Anmeldung an X wird die Datei automatisch angelegt:
Nun startet das Frontend automatisch beim Systemstart.
Nun passen wir die X11 Config an, so dass wir am HDMI Port Full-HD mit den Bildwiederholfrequenzen 24Hz, 50Hz und 60Hz ausgeben können:
Dazu die "/etc/X11/xorg.conf" anpassen:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Toshiba"
ModelName "T555"
Option "DPMS"
Option "ExactModeTimingsDVI" "TRUE"
HorizSync 15-68
VertRefresh 23-61
ModeLine "1920x1080@50p" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
ModeLine "1920x1080@60p" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
ModeLine "1920x1080@24p" 74.16 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
EndSection
#Section "Monitor"
# Identifier "Monitor0"
# VendorName "Unknown"
# ModelName "Unknown"
# HorizSync 28.0 - 33.0
# VertRefresh 43.0 - 72.0
# Option "DPMS"
#EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080@24p" "1920x1080@50p" "1920x1080@60p"
EndSubSection
Option "DynamicTwinView" "False"
Option "NoLogo" "True"
EndSection
Display More
Den VDR lassen wir immer mit 50Hz laufen, xbmc kann man in den Settings so einstellen, dass er das automatisch wählt.
Nun die Fernbedienung:
Ich habe die Medion X10 aber es geht auch jede andere, die von Lirc unterstützt wird:
Standardmäßig wird die X10 durch den Kernel in einem /dev/input/event interface dargestellt.
Das hat aber zwei Nachteile:
- Die Fernbedienung sieht für den Kernel wie eine Tastatur aus, floglich fährt der Rechner runter, wenn der Power Button gedrückt wird
- Per Default sind nicht alle Tasten belegt. Um das zu korrigieren müsste man das Kernel-Module patchen und neuinstallieren. Ich bin aber nicht motiviert deswegen den Kernel neuzucompilieren.
Deswegen lassen alles lirc machen und deaktivieren das passende event Interface Module im Kernel:
vi /etc/modprobe.d/blacklist.conf
Hier folgende Zeile eintragen
blacklist ati_remote
Um den Rechner nicht nuezustarten, sollte man das module nun noch entladen
rmmod ati_remote
Nun installieren wir Lirc
apt-get install lirc lirc-modules-source
Benötigte Module auswählen und konfigurieren (nicht kompilieren, das macht nachher Module-Assistent eh nochmal!)
dpkg-reconfigure lirc-modules-source
Module kompilieren und installieren
apt-get install module-assistant
module-assistant -f auto-install lirc-modules-source
Nun benötigen wir eine lirc Config:
vi /etc/lirc/hardware.conf
Diese sollte in etwa wie folgt angepasst werden:
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_dev lirc_atiusb"
DEBUG=2
# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF=""
Nun benötigen wir eine "/etc/lirc/lircd.conf". Diese können wir mit
irrecord -d /dev/lirc0 /etc/lirc/lircd.conf
erstellen. Nun kann lircd gestartet werden:
/etc/init.d/lircd start
Testen mit (Die gedrückten Tasten werden ausgegeben)
irw
Nun funktioniert LIRC. Es muss aber noch in den XBMC integriert werden (Mapping Tasten zu xbmc Funktionen) und in den VDR integriert werden:
Die Integration habe ich leider nicht genau mitgeschrieben, ist aber sehr dramtisch. Es gibt 3 Config-Stellen:
- VDR: Der vdr wird ohne remote config gestartet. Trotzdem hat er die Datei /etc/vdr/remote.conf. Hier ist das Mapping enthalten. Der Parameter --lirc wird dem Frontend vdr-sxfe übergeben. Das frontend nutzt die Config vom VDR. In der Datei ist die zweite Spalte der Lirc-Name aus der /etc/lircd/lircd.conf.
- XBMC: Die Datei keymap.xml gibt es nicht mehr. Das wird über das Verzeichnis
.xbmc/userdata/keymap geregelt. Dieses Verzeichnis wird unverändert aus
den xbmc Installitions-Dateien kopiert)
Nun muss noch die Datei Lircmap.xml unter .xbmc/userdata/ angepasst oder erstellt werden.
- IREXEC: Config ist in .lircrc im Homedir des VDR users. (irexec wird benutzt um ziwschen VDR und XBMC umzuschalten, irexec ist immer aktiv)
In der Lircmap.xml muss noch <language>DVD_AUDIO</language>
ergänzt werden. Nach der Keymap wird damit "AudioNextLanguage" belegt und man kann dann damit die Tonspur im XBMC umschalten. Das brauch ich recht häufig.
Etwas genauer muss vielleicht noch irexec beschrieben werden: Damit erfolgt die Umschaltung zwischen VDR und XBMC.
Dazu wird die Datei /home/vdr/.lircrc mit folgendem Inhalt angelegt:
begin
prog = irexec
button = TV
config = /home/ion/SwitchToTV.sh
end
begin
prog = irexec
button = VCR
config = /home/ion/SwitchToXBMC.sh
end
Display More
Die beiden Script SwitchToVDR und SwitchToXBMC müssen noch angelegt werden. Hier als Beispiel das SwitchToVDR Script:
killall xbmc.bin
killall vdr-sxfe
sleep 1
killall -9 xbmc.bin
killall -9 vdr-sxfe
/usr/bin/xrandr -r 50
/usr/bin/nohup /usr/bin/vdr-sxfe --lirc --video=vdpau --post tvtime:method=use_vo_driver --audio=alsa --fullscreen --reconnect xvdr://localhost&
Nun noch die xxv Installation als Webinterface in der Kurzfassung... (vdradmind-am läuft bei mir nicht stabil, oder ist sau langsam)
apt-get install perl perl-base perl-modules libio-zlib-perl libconfig-tiny-perl libdate-manip-perl libdbd-mysql-perl libdbi-perl libmd5-perl
apt-get install libtemplate-perl libevent-perl libproc-processtable-perl libconfig-tiny-perl
apt-get install liblinux-inotify2-perl libsoap-lite-perl libxml-simple-perl libdate-manip-perl libfont-ttf-perl txt2html libmp3-info-perl
apt-get install libencode-detect-perl libnet-amazon-perl libxml-rss-perl libnet-xmpp-perl libnet-dns-perl
apt-get install libdigest-hmac-perl libevent-perl libgd-gd2-noxpm-perl libgd-graph-perl libgd-graph3d-perl libgd-text-perl libhtml-tree-perl libjson-perl
apt-get install libwww-perl liblocale-gettext-perl libmp3-info-perl libnet-amazon-perl libnet-telnet-perl libnet-xmpp-perl
apt-get install libproc-process-perl libsoap-lite-perl libtemplate-perl libhtml-template-perl liburi-perl libxml-rss-perl libxml-simple-perl
SQL: user xxv muss sich mit pass xxv einloggen können.
XXV muss unter /opt/XXV liegen
Config liegt laut init-Script unter /opt/XXV/etc
Administration / Videodisk-Recorder / Edit / SVDRP Porta auf: 6419
Config unter /opt/XXV/etc/xxvd.cfg anpassen, hier DVB Karten anlegen, Module deaktivieren, folgende Zeile anpassen, damit man von überall zugreifen kann
withAuth=0.0.0.0/0
Hier kann auch der Port auf 8001 gelegt werden.
/etc/init.d/xxvd muss angepasst werden. Hier muss der User angepasst werden unter dem xxv läuft und der LSB Block ergänzt werden (aus anderem Script kopieren)
Die Debian Installation kann mit dependency-Boot nicht um, reparieren:
cd /etc/rc2.d
rm S90xxvd
update-rc.d xxvd start 02
Display More
Ich hoffe für den einen oder anderen ist was Interessantes dabei. Viel Erfolg!