HowTo: XBMC Media Center unter Linux Arch und Debian

xbmcDer Kauf eines leistungsstarken Mini-PCs für das Wohnzimmer stand schon lange auf meiner Liste. Seit kurzem bin ich im Besitz einer ZOTAC ZBOX HD-ID 11.
Ich möchte in diesem HowTo kurz auf die Vorzüge einer ZOTAC ZBOX eingehen und mich im Wesentlichen auf die Installation eines grundlegenden Betriebssystems (Linux) sowie die Konfiguration von XBMC, einem Open Source Media Center, beschränken. Ziel dieser Anleitung wird es sein, einen funktionsfähigen Mini-PC für das Wohnzimmer zu haben, welcher sämtliche gängigen Videoformate abspielen kann und über eine Fernbedienung oder alternativ über ein Smartphone gesteuert werden kann. Natürlich kann diese Anleitung spielend leicht auf andere Geräte übertragen werden.

Vorwort

Bei der ZOTAC ZBOX handelt es sich um eine kleine tragbare Box, welche alle nötigen Hardwareanforderungen für hochauflösende Filme bis zu 1080p mitbringt – möglich ist dies dank der leistungsstarken GPU NVIDIA Next-Generation ION. Sie bietet Platz für eine 2,5’’ SATA Platte und zwei DDR2-SO-DIMM Speichermodule.  Zum Einsatz kommen als Prozessor ein Intel Atom D510 (zwei native Kerne) und als Chipsatz ein Intel NM10 Express. Diese Kombination bietet bei einem geringen Energieverbrauch viel Leistung. Für die Netzwerkkommunikation steht ein LAN Gigabit-Port, sowie eine Wireless LAN-Schnittstelle 802.11n/g/b bereit.

Voraussetzungen

Zuerst steht die Wahl eines Betriebssystems an. XBMC wird für viele verschiedene Plattformen angeboten, z.B. Windows, Linux, Apple TV und OSX. Wir konzentrieren uns in diesem Artikel auf die Linux Distributionen, da Windows aufgrund der erzwungenen grafischen Oberfläche (Ausnahme ist hier Windows Server 2008) viel mehr Platz und Leistung braucht und die Apple Komponenten mir nicht zur Verfügung stehen.

Ich selbst habe dieses mal zu der Distribution Arch Linux gegriffen. Natürlich könnt ihr auch Debian, Ubuntu oder eine andere wählen. Da eine Textbeschreibung für die Installation der verschiedenen Distributionen den Rahmen sprengen würde, habe ich mich dieses mal dazu entschieden, den Installationsvorgang mit einem Videotutorials zu zeigen, welche in unserem Nicht-Blau Kanal zur Verfügung stehen (siehe Abschnitt Installation).

Installation

Ladet euch für eure Distribution das aktuelle Image herunter und brennt es. Alternativ könnt ihr auch einen bootfähigen USB-Stick erstellen. Hierfür führt ihr unter Linux den Befehl „dd if=/pfad/zur/systemiso of=/dev/sdx“ aus (x steht für einen bestimmten Buchstaben). Ein Beispiel wäre „dd if=/home/user/archlinux-2010.05-netinstall-i686.iso /dev/sdc“. Des Weiteren möchte ich auf diese Anleitung für Windows und Linux verweisen. Der Installationsablauf der verwendeten Image findet ihr in den nachfolgenden Video Tutorials, welche auch in unserem nicht-blau.de Youtube Channel bereit stehen.

Video Tutorial: Installation eines minimalen Arch Linux
Video Tutorial: Installation eines minimalen Debian

Kommen wir nun zu XBMC selbst.  Zuerst sollten wir prüfen ob die benötigen Repositories auch vorhanden sind. Unter Arch wäre dies “Community” und unter Debian “debian-multimedia” (in der Regel rate ich von diesem Debian Repository ab, da es häufig zu Problem kommen kann). Wenn das Repository nicht vorhanden ist müsst ihr es wie folgt hinzufügen.

Arch # nano /etc/pacman.conf
Debian # nano /etc/apt/source.list

Bei Debian die Zeile an das Ende anhängen, bei Arch in den Repository Abschnitt kopieren. Entfernt nach diesem Tutorial bei Debian die letzte Zeile aus der source.list wieder.

Arch:    [community]

           Include = /etc/pacman/mirrorlist

Debian: deb https://www.debian-multimedia.org sid main non-free

           deb https://ftp.debian.org/debian experimental main contrib

Nun können wir das XBMC und alle anderen benötigten Pakete installieren.

Arch # pacman –Sy
Arch # pacman –S xorg dbus xbmc alsa-utils
Debian # apt-get update
Debian # apt-get install xbmc alsa-utils

Unter Arch Linux müssen die Daemons von Hand in den Autostart eingetragen werden, dies ist bei Debian nicht nötig. Führt anschließend einen Neustart durch.

Arch # nano /etc/rc.conf

Vorher
DAEMONS=(syslog-ng network netfs crond)

Nachher
DAEMONS=(syslog-ng dbus network netfs alsa crond)

Abhängig davon was für einen Grafikchip ihr verwendet (Nvidia/AMD) müsst ihr folgenden Treiber installieren:

(Nvidia) Arch # pacman –S nvidia nvidia-utils libvdpau
oder
(ATI) Arch # pacman –S xf86-video-ati
(Nvidia) Debian # apt-get -t experimental install nvidia-glx nvidia-glx-ia32 nvidia-kernel-dkms nvidia-vdpau-driver
oder
(ATI) Debian # apt-get install fglrx-driver fglrx-glx fglrx-glx-ia32 fglrx-modules-dkms

 

Konfiguration

Kommen wir nun zu der Konfiguration. Wir werden in diesem Abschnitt dafür sorgen, dass das System direkt XBMC direkt beim booten startet, sodass bei dem Einsatz am Fernseher keine Tastatur oder Maus von Nöten sind, sofern eine Fernbedienung oder ein Android Smartphone vorhanden ist. Des Weiteren gehen wir noch auf den Grafiktreiber und die Soundeinstellungen ein.

XBMC sollte aus Sicherheitsgründen nicht als root ausgeführt werden, daher legen wir uns extra einen Nutzer für diese Tätigkeit an und fügen ihn in benötigte Gruppen ein. Die folgenden Befehle sind für Arch Linux und Debian gültig.

# useradd -m -c xbmc –s /bin/bash xbmc
# usermod -g users -G audio,optical,disk,storage,video,power xbmc

Anschließend sorgen wir dafür das XBMC auch mit diesem Nutzer automatisch gestartet wird. Für Arch geschieht das wie folgt (Debian weiter unten):

Arch # nano /etc/inittab

Hier müssen nun diverse Änderungen durchgeführt werden.

## Only one of the following two lines can be uncommented!
# Boot to console
#id:3:initdefault:
# Boot to X11
id:5:initdefault:

(…)
# Example lines for starting a login manager
#x:5:respawn:/usr/bin/xdm -nodaemon
#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1
x:5:respawn:/bin/su xbmc -l -c "/bin/bash –login -c startx >/dev/null 2>&1"

Anschließend führen wir einen Reboot aus. XBMC sollte nun automatisch starten. Unter Debian sind folgende Handgriffe nötig:

Debian # nano /home/xbmc/.xinitrc

In diese Datei fügen wir nun folgenden Text ein.

#!/bin/sh
exec /usr/bin/xbmc –standalone

Anschließend muss noch eine weitere Datei bearbeitet werden.

Debian # nano /etc/rc.local

Hier muss noch folgender Text an das Ende der Datei angefügt werden.

su -c "/usr/bin/startx" xbmc

Danach wird auch Debian XBMC automatisch starten.

Kommen wir nun zu dem Thema Sound. Wenn euer Sound wie gewünscht funktioniert, könnt ihr diesen Abschnitt überspringen. Habt ihr keinen Sound, prüft ob alle Alsa Pakete aus dem Installationsabschnitt installiert wurden. Verwendet ihr den 3,5mm Klinken (grünen) Soundausgang, so möchte ich euch bitten das Tool “alsamixer” (einfach alsamixer in die Konsole eingeben) aufzurufen und die Lautstärkepegel auf Maximum zu stellen. Die Tonausgabe über diesen Kanal sollte out-of-the-Box funktionieren. Prüft auf jeden Fall alle Ausgabe-Einstellungsmöglichkeiten unter XBMC. Möglicherweise müsst ihr kurioserweise aber auch die Filmeinstellungen (während der Film läuft) öffnen und den Sound (trotz HDMI) auf analog stellen. Bringt dies nichts (HDMI ausgeklammert) so wurde möglicherweise eure Soundkarte bei der Installation des Systems nicht erkannt (selten) – sollte dies wirklich der Fall sein, möchte ich euch auf folgende Wiki-Einträge verweisen: Kein Sound unter Arch Linux (DE) | Kein Sound unter Debian/Ubuntu (DE). Verwendet ihr allerdings HDMI so möchte ich euch folgendes Vorgehen ans Herz legen, zuvor solltet ihr allerdings das HDMI Kabel einmal aus den Geräten herausziehen und wieder hineinstecken, da es auch sehr gut möglich sein kann, dass das Gerät das HDMI-Kabel nicht korrekt erkannt hat. Sollte alles bisher nichts gebracht haben, so prüfen wir ob unsere HDMI-Soundkarte korrekt erkannt wurde. Folgende Ausgabe sollte bei euch ähnlich sein (Der Abschnitt gilt für Debian wie auch für Arch).

[root@myhost xbmc]# cat /proc/asound/cards
0 [Intel          ]: HDA-Intel – HDA Intel
                      HDA Intel at 0xfe9fc000 irq 44
1 [NVidia         ]: HDA-Intel – HDA NVidia
                      HDA NVidia at 0xfcf7c000 irq 18

Sollte bei euch in diesem Abschnitt nicht die HDMI-Ausgabe aufgelistet werden (bei NVIDIA ist es HDA NVIDIA, bei AMD ist es mir leider nicht bekannt), so möchte ich euch auf den Wiki-Eintrag zum Thema Sound verweisen, den ich bereits im Abschnitt zuvor verlinkt habe. Stimmt die Ausgabe soweit, prüfen wir, auf welcher “device” Nummer unsere Ausgabe sitzt.

# aplay -l

Diese Ausgabe sollte bei euch ungefähr wie folgt aussehen :

**** List of PLAYBACK Hardware Devices ****

(…)

card 1: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: NVIDIA HDMI [NVIDIA HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

(…)

Mit Hilfe dieser Informationen testen wir nun, auf welcher Ausgabe wir den korrekten Sound hören. Hierbei stellt die erste Ziffer in der Box unten hinter „plughw:“ (in diesem Fall 1) eure “card” Nummer da und die zweite das “device”. Solltet ihr nirgendwo etwas hören, möchte ich euch erneut den Tipp geben das HDMI-Kabel herauszuziehen und wieder hereinzustecken geben.

# aplay /usr/share/sounds/alsa/Front_Center.wav -D plughw:1,7

Nun haben wir ermittelt, welche „card“ und welches „device“ wir verwenden möchten, so dass wir jetzt folgende Datei editieren können:

# nano /usr/share/alsa/alsa.conf

Die folgende Änderung bewirkt nun, dass wir den HDMI-Ausgang als Standardausgabe festlegen. Ersetzt die Werte im Abschnitt “#default” durch folgende, wobei „defaults.ctl.card“ und „defaults.pcm.card“ den selben Wert zugewiesen bekommen. (alternativ sucht ihr nach den Begriffen (defaults.ctl.card), …):

defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.device 7

Nach einem Neustart sollte euer HDMI-Sound funktionieren. Kontrolliert auch an dieser Stelle wieder, dass die Lautstärkepegel im “alsamixer” auf maximal stehen. (Gegebenenfalls das HDMI Kabel mal wieder herausziehen und hineinstecken).

Kommen wir zum letzten und kürzesten Abschnitt. Grafiktreiber. Solltet ihr, wie oben beschrieben, die proprietären Grafiktreiber installiert haben, so muss nichts weiter geändert werden. Führt daher die Tools aticonfig oder nvidia-settings nicht aus, welche eine xorg.conf erstellen. Diese wird nicht benötigt. Sollten Bereiche des Bildes in XBMC abgeschnitten sein, könnt ihr Kalibrierungsfunktion in den Einstellungen verwenden, um das Probelm zu beseitigen.

Steuerung

In diesem Abschnitt möchte ich euch weniger beschreiben wie es funktioniert, sondern euch die Möglichkeiten aufzeigen, die ihr habt. Da sicher keiner von euch Lust hat im heimischen Wohnzimmer mit einer Tastatur und Maus zu sitzen, ist es definitiv viel geschickter sich Gedanken über die Anschaffung einer Fernbedienung zu machen, sei es über ein Infrarot- oder Bluetooth-Modell. Beide können teuer und zeitintensiv sein, da die Programmierung der Fernbedienungen häufig nicht einheitlich ist und so erst passende qrcodeAnleitungen im Internet gefunden werden müssen, aber es gibt ja noch eine weitere Lösung: Android (bzw. natürlich auch das iPhone). Mit Hilfe eines jeden Android Smartphones wird die Bedienung des XBMC Media Centers zum Kinderspiel, es ist gratis, sofern man ein Android sein Eigen nennen kann, und in wenigen Minuten eingerichtet. Das Smartphone muss sich hierbei nur im selben LAN bzw. WLAN wie eure Box befinden. Rechts findet ihr den passenden QR-Code der euch direkt zur XBMC-Remote Anwendung im Android Market bringt. Viel Spaß.

Abschluss

Zum Abschluss wie immer noch ein paar Worte ;) . Ich hoffe, ich habe euch mit diesem Artikel die Welt von XBMC, einem der besten kostenlosen Media Center, ein wenig näher gebracht. Es wird demnächst auch ein Artikel speziell über die aktuelle XBMC Version 10.0 folgen, so dass ihr euch die Oberfläche anhand von zahlreichen Beschreibungen und Bildern visuell veranschaulichen könnt. Solltet ihr Fehler finden oder Anregungen haben, freue ich mich jederzeit über eine E-Mail an TimoATnicht-blau.de oder einen Kommentar.

2 Antworten

  1. Veröffentlicht am 14. Mai 2011 um 10:11 | Permalink

    Einfacher geht die Installation mit der auf ION optimierten LiveCD vom XBMCFreak -> http://www.xbmcfreak.nl/en

  2. Thomas
    Veröffentlicht am 12. April 2012 um 22:28 | Permalink

    huhu! tolles tut. hat es vllt schon jemand mit squeeze ausprobiert? bekomme immer fehlermeldungen das er den xserver nicht starten kann. bestimmt ein denkfehler eines linuxfrischlings :-D