In einem meiner letzten Artikel habe ich mir Gedanken darüber gemacht, welche Hardware ich für einen neuen HTPC benötige. Es ist nicht genau das geworden, wie ich es mir vorstellte, eine ganze Liste der Komponenten folgt in den kommenden Tagen.
Ich machte mich in den vergangenen Tagen an die Umsetzung abseits der Hardware - die Installation von XBMC, das einrichten von HDMI CEC mit Hilfe von libCEC und dem internen Adapter von Pulse Eight sowie das Einbinden der Festplatten, welche als Datengrab für Filme und Serien dienen.
Anfangs nahm ich mir vor, alles mit Debian umzusetzen. Schnell kam die Erkenntnis, dass dies zwar funktionieren kann, aber alles verkompliziert. Hintergrund ist CEC, was ermöglicht die XBMC Installation mit der Fernbedienung des Fernsehgerätes zu steuern. Je weniger Geräte ich auf meinem Wohnzimmertisch vorfinde, je besser. Auf CEC stieß ich übrigens durch Zufall beim Raspberry Pi, welcher mit diesem Vorhaben als Mediacenter abgelöst wurde.
Ich nahm mir also ein Image von Ubuntu 14.04, per `dd` auf einen USB-Stick geschoben und führte die Installation durch. Wenn man dabei alles richtig macht, was nicht schwer ist, wird es möglich sein, dass man EFI Boot deaktivieren kann. Das ist mir wichtig, da ich und die aktuellen unixoiden Betriebssysteme mal mehr und mal weniger gut damit zurecht kommen. Wenn EFI mal richtig mit allen Betriebssystemen funktioniert, dann werde ich es auch gern benutzen - das hat aber noch ein paar Jahre Zeit.
HDMI mit libCEC
Im ersten Schritt wollte ich libCEC testen.
sudo apt-get install libcec2 cec-utils
Nachdem man den CEC Adapter an den HTPC Header und einen internen USB am Mainboard angeschlossen hat, sollte man mit Hilfe der Bibliothek mit dem Gerät kommunizieren können.
Dem ist nicht so.
Found devices: NONE
Ist die Ausgabe, wenn man das CEC Modul ansprechen möchte.
libCEC und XBMC von Pulse Eight
Ich für meinen Teil bin Freund von Software die ich auf einfachem Wege aktualisieren kann. Daher ist mein erster Anlauf immer, die Pakete zu nutzen, die von der Distribution mitgeliefert werden. Hier musste ich dann jedoch auch auf die Empfehlung des Herstellers des CEC Adapters hin auf deren PPA zurückgreifen, was ja auch kein großes Problem darstellt.
cd /tmp
wget http://packages.pulse-eight.net/ubuntu/install-xbmc.sh
bash -x install-xbmc.sh
cec-firmware-upgrade
Da das Skript lediglich bis Raring ausgelegt ist, muss man dies auch bei der Abfrage manuell eingeben. Beachten muss man die Kleinschreibung `raring`
Nun wurden die Versionen der libCEC von der PPA von Pulse Eight und deren XBMC installiert.
Mit dem Befehl cec-client kann man die Verbindung prüfen:
cec-client
Die nachfolgende Ausgabe bescheinigt lediglich eine einwandfreie Funktion. Der cec-client läuft per Standard im höchsten Debug-Level. Man kann also mal ein paar Tasten auf seiner Fernbedienung drücken und sich ein Bild von der Funktionalität zu machen.
So, ich dachte mir, das Gröbste ist geschafft. Starte ich XBMC. Das ganze endete in Ernüchterung, der CEC Adapter wird wird nicht erkannt oder das Plugin nicht geladen. Nachdem ich dann Google befragte, ließ dies nur einen Schluss zu: XBMC von Pulse Eight installierein war immer wieder die Ansage. Das sollte das oben genannte Skript automatisch erledigen. Passiert nun mal nicht (Aufgrund von dem intelligenten APT, welches sich die neuesten Pakete besorgt). Lösung: Selbst nachziehen:
sudo apt-get remove xbmc*
sudo apt-get install python-software-properties pkg-config software-properties-common
sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get install xbmc
Wenn das nicht funktioniert:
sudo apt-get remove xbmc*
cd /tmp
wget https://launchpad.net/~pulse-eight/+archive/ubuntu/pulse/+build/4572224/+files/xbmc-bin_12.0-pvr%2Bpulse8~git201305122336.32b1a5e-build127-0raring_amd64.deb
sudo dpkg -i xbmc-bin_12.0-pvr+pulse8~git201305122336.32b1a5e-build127-0raring_amd64.deb
sudo apt-get update; sudo apt-get upgrade; sudo apt-get dist-upgrade
Wenn man dann XBMC startet, so wird der CEC Adapter vom Plugin erkannt. Er kann sich nur nicht verbinden. Der User, unter dem XBMC ausgeführt wird, muss dazu in die Gruppe `dialout` aufgenommen werden um auf `/dev/ttyACM*` zugreifen zu dürfen.
adduser coacx dialout
Stand jetzt sollte XBMC mit aktuellem CEC Bibliotheken und dem Plugin laufen. Die Fernbedienung eignet sich hervorragend zur Steuerung.
Als Nächstes sollte XBMC direkt beim Boot starten. Hierzu gibt es im Internet diverse Anleitungen, auch xbmc.org zeigt verschiedene Möglichkeiten auf. Bei den meisten wird ein Windowmanager vorausgesetzt. Dieser existiert bei mir nicht, ich habe somit auf die `rc.local` zurückgegriffen:
exec su coacx -c "sudo xinit /usr/bin/xbmc --standalone -- -nocursor :0"
Das `sudo` in dem Befehl dient dazu, dass man den HTPC später auch über die XBMC Oberfläche herunterfahren kann. Selbstverständlich muss `xinit` in der Datei `/etc/sudoers` mit dem Attribut `NOPASSWD` aufgenommen werden.
Nun läuft XBMC, mit der Fernbedienung des Fernsehers kann man es steuern. Im nächste Schritt kommt das Einbinden weiterer Festplatten. Alles bisher Genannte geschieht bei mir auf einer 30GB mSTATA die keinen Platz im Gehäuse weg nimmt.