NMM und Multimedia-Box auf einem MSI Hermes PC
freundlicherweise zur Verfügung gestellt von MSI, Deutschland
1. Einführung:
PCs werden immer häufiger im Bereich Home Entertainment genutzt.
Ein sogenannter Home Theater PC (HTPC) kann die meisten herkömmlichen
Home-Entertainment-Komponenten, wie Fernsehempfänger, Videorekorder oder DVD/CD-Player ersetzen und sie in einem einzigen
Gerät vereinen.
In Verbindung mit einer gewöhnlichen Fernbedienung kann ein HTPC die zentrale Komponente Ihres Home-Entertainment-Systems
werden, indem er die verbleibenden Komponenten miteinander verbindet und Ihre private Musik- und Video-Sammlung verwaltet. Zudem
ist es mit einem HTPC möglich, mehrere Aufgaben gleichzeitig zu erledigen - z.B. Fernsehen, Transkodieren von Videos
und Programmieren des digitalen Videorekorders.
Wenn der PC zusäzlich mit einem lokalen Netzwerk oder dem Internet verbunden ist, können Audio- und Videodaten auch von anderen Systemen
empfangen werden.
Das Erscheinungsbild eines solchen HTPC sollte in die bestehende Home-Entertainment-Umgebung
passen: er sollte ein kleines, optisch ansprechendes Gehäuse haben. Jedoch erfordern kleine PC-Gehäuse die Verwendung
spezieller Mainboards; ausserdem können nur wenige Erweiterungskarten eingebaut werden. Deshalb sind Barebone-PCs, wie die
Barebone-Serie von MSI, besonders gut für die Realisierung eines
Home Theater PC geeignet: sie haben ein kleines Gehäuse und das eingebaute Mainboard
verfügt bereits über die wichtigsten PC-Komponenten wie Soundkarte, Grafikkarte mit TV-Ausgang und Netzwerkadapter.
Für ein laufendes System benötigt man nur noch eine CPU, ein Hauptspeichermodul und eine Festplatte.
Zusammen mit der von uns entwickelten Multimedia-Box-Anwendung,
welche auf NMM basiert und unter Linux läuft, lässt sich so ein
kompletter Linux basierter HTPC bauen.
NMM und die Multimedia-Box waren bereits Thema im Magazin c't, Ausgabe 22, Seiten 232-237:
"Ein Knoten für alle Fälle, NMM - Vernetztes Multimedia Home Entertainment mit Linux"
Auf dieser Seite beschreiben wir unsere Erfahrungen mit dem Zusammenbau eines
Home Theater PC, basierend auf dem Hermes Barebone PC 651-P, der uns freundlicherweise von MSI zur Verfügung gestellt
wurde, sowie unserer Multimedia-Box-Anwendung, die mit NMM entwickelt wurde. Diese Seite kann als Anleitung verwendet werden, um bei der
Auswahl der zusätzlichen Hardware-Komponenten sowie bei der Installation und Einrichtung des Systems zu helfen. Dabei gehen wir
davon aus, dass der Leser bereits Erfahrung im Zusammenbau von PCs, der Installation von Linux und dem Kompilieren von Quellcode unter Linux
hat.
2. Hardware:
2.1 Benötigte Hardware:
Barebone PC:
Wie bereits in der Einführung erwähnt, werden wir einen Barebone-PC als Basis für unseren
Home Theater PC benutzen. Da die meisten Komponenten onboard sind, z.B. VGA- und Soundkarte,
muss sichergestellt sein, dass diese unter Linux unterstützt werden. Wir verwenden einen Hermes Barebone PC 651-P, der uns von
MSI zur Verfügung gestellt wurde. Dabei handelt es sich um eine integrierte Lösung,
bei der die wichtigsten Komponenten (unter anderem Sound, Grafik und TV-Ausgang) onboard sind und auch unter Linux unterstützt
werden. Desweiteren sind die wichtigsten Anschlüsse vorhanden, wie in Bild 1 und 2 zu sehen ist. Das schicke Design und die
geringen Abmessungen des Gehäuses erlauben eine dezente Integration in die bestehende Home-Entertainmend-Umgebung.
Eine komplette Spezifikation für diesen Barebone-PC ist
hier zu finden.
 |
 |
Bild 1:
Vorderseite des Hermes PC mit allen Anschlüssen
|
Bild 2:
Rückseite des Hermes PC mit allen Anschlüssen |
CPU:
Es hängt vom Mainboard ab, welche CPU verwendet werden kann.
Der Hermes PC unterstützt Socket-478-Prozessoren,
weshalb nur ein Pentium 4 in Frage kommt. Die benötigte CPU-Geschwindigkeit richtet sich nach dem Verwendungszweck:
für die meisten Multimedia-Anwendungen, wie Fernsehen oder Abspielen von DVDs, reicht eine CPU mit 1.4-2.0 Ghz aus.
Wenn jedoch mehrere Anwedungen parallel laufen sollen, z.B. Abspielen einer DVD und Transkodierung mehrerer MPEG-Dateien, sollte
eine CPU mit mindestens 2.0 Ghz benutzt werden. Der Nachteil von schnelleren CPUs ist die erhöhte Lautstärke des
Lüfters, was oft nicht akzeptabel ist, wenn sich der PC zum Beispiel in einem Wohnzimmer befindet. Es hängt also stark
von den Bedürfnissen des Benutzers ab, welche CPU-Geschwindigkeit für ihn die "Beste" ist. Da bei uns die CPU-Lautstärke nicht so
wichtig ist, benutzen wir einen 2.6 Ghz Pentium 4.
Arbeitsspeicher:
Das Mainboard des Hermes PC bietet zwei Steckplätze für DDR-Rams und erlaubt eine maximale Kapazität von 2 GB
(laut Handbuch). Für unsere Anwendungen setzen wir mindestens 256 MB Ram voraus, empfehlen aufgrund der geringen Preise
von Speichermodulen jedoch 512 MB.
Festplatte:
Die verwendete Festplatte muss genügend Platz bieten, um das Multimedia-Archiv (MP3-Dateien, TV-Aufnahmen etc.)
des Benutzers speichern zu können. Daher schlagen wir eine Festplatte mit 80-120 Gb vor. Um die störenden
Geräusche zu reduzieren, kann eine Festplatte mit 5400 rpm benutzt werden.
DVD-Laufwerk:
Damit man DVDs anschauen oder Audio-CDs hören kann, ist ein DVD-Laufwerk erforderlich.
Anstatt eines gewöhnlichen DVD-Laufwerks kann man auch einen DVD-Brenner einbauen - so können z.B. aufgenommene Filme auf DVDs
archiviert werden. Das Brennen von DVDs wird durch die Multimedia-Box selbst nicht unterstützt, aber es existieren andere Tools unter Linux,
die für diesen Zweck verwendet werden können. Die einzige Beschränkung für dieses Gerät ist, dass es kein
Slot-in-Laufwerk sein darf (wie manche Pioneer-Laufwerke), da das Laufwerk hinter einer Klappe versteckt ist, die durch den
Laufwerk-Schlitten geöffnet wird.
TV-Karte:
Um analoges Fernsehen auf dem PC anzuschauen und aufzunehmen, benötigt man eine TV-Karte.
Diese Karte sollte einen OnBoard-MPEG2-Encoder besitzen, um Echtzeit-Videokomprimierung zu ermöglichen, ohne CPU-Leistung
aufzubrauchen. Hauppauge WinTV PVR 250/350 Karten haben diese Fähigkeit und werden unter Linux und von der Multimedia-Box
unterstützt. Mit enthalten ist eine Fernbedienung incl. Empfänger, welche auch unter Linux funktioniert. Falls digitales
Fernsehen über DVB verfügbar ist, so braucht man eine DVB-Karte. Eine Liste von DVB-Karten, die unter Linux unterstützt
werden, kann man hier finden.
Diskettenlaufwerk:
Ein Diskettenlaufwerk ist nicht notwendig, kann aber in manchen Fällen von Nutzen sein
(z.B. zur Systemwiederherstellung). Deshalb empfehlen wir die Installation eines 3,5"-Diskettenlaufwerks.
Tastatur & Maus:
Obwohl der PC mit der Fernbedienung gesteuert werden soll, benötigt man für die Installation,
die (Re-)Konfiguration oder ein Update des Systems eine Tastatur und eine Maus.
Daher schlagen wir eine kabellose Tastatur und Maus vor, die einfach versteckt werden können, wenn sie nicht benötigt
werden. Ein kabelloses Keyboard plus Maus, wie der Logitech Cordless Desktop, kosten ungefähr 45.00 €.
2.2 Hardware-Liste:
Nachdem die Hardware-Anforderungen besprochen wurden, stellen wir zwei verschiedene Hardware-Konfigurationen vor, nach denen
man sich einen eigenen HTPC bauen kann. Die erste Hardware-Liste besteht aus leistungsfähigeren Komponenten
wie einer schnelleren CPU und einem DVD-Brenner anstatt eines simplen DVD-Laufwerks, während die zweite Liste eher preiswertere
Hardware enthält. Für unseren HTPC benutzen wir die Komponenten der ersten Hardware-Liste. Die entsprechenden Preise haben wir
dem Online-Shop Alternate am 17.01.2004 entnommen.
Komponenten:
|
Hardware
Liste 1
|
Preis
|
|
Hardware
Liste 2
|
Preis
|
| Barebone
PC: |
Hermes Barebone PC 651-P |
174.00€
|
|
Hermes Barebone PC 651-P
|
174.00€
|
CPU:
|
Intel Pentium4 2.66 Ghz
|
169.00€
|
|
Intel Pentium4 Celeron 2.0 Ghz
|
64.00€
|
Speichermodul:
|
1x
512 MB DDR Ram (PC 2700)
|
74.00€
|
|
1x
256 MB DDR Ram (PC 2700)
|
42.00€
|
Festplatte:
|
Maxtor 6Y120L0 120Gb
|
89.00€
|
|
Maxtor
6Y080L0 80Gb |
67.00€
|
DVD-Laufwerk
|
NEC ND-1300A DVD +/-RW burner
(black)
|
109.00€
|
|
TEAC
DVD 516 drive (black)
|
42.00€
|
| TV-Karte |
Hauppauge WinTV PVR 350
|
189.00€
|
|
Hauppauge WinTV PVR 350
|
189.00€
|
Summe:
|
|
804.00€
|
|
Summe:
|
578.00€
|
3 Hardware-Installation:
Obwohl unser Hermes PC (siehe Bild 3) ein kleines Gehäuse hat, ist sein Inneres übersichtlich aufgebaut and ermöglicht
eine einfache und schnelle Hardware-Installation. Die wichtigsten Schritte, wie das Installieren der CPU, sind im
Benutzerhandbuch ausführlich beschrieben. Deshalb fassen wir die einzelnen Installationsschritte im Folgenden nur kurz zusammen
und illustrieren jeden Schritt anhand von Bildern.
Bild 3: Der Hermes PC von MSI.
Nachdem man die Abdeckung, die Frontblende und die installierte Riser Card entfernt hat, hat man bequemen Zugriff auf das Mainboard
und kann die CPU, das Speichermodul und die Festplatte einfach einbauen. Zuerst installiert man die CPU und befestigt den Kühler
darauf, wie in Bild 4 zu sehen. Der CPU-Kühler ist im Lieferumfang enthalten und wurde speziell an dieses PC-Gehäuse
angepasst. Nun muss das Speichermodul im ersten Steckplatz verankert werden (neben der CPU, siehe Bild 4).

Bild 4: Befestigen Sie den im Lieferumfang enthaltenen CPU-Kühler auf der CPU und installieren Sie das Speichermodul.
Als nächstes kann die Festplatte im entsprechenden HDD-Schacht platziert werden. Zum Verbinden mit dem Mainboard müssen
speziell gefaltete HDD-Kabel (im Lieferumfang enthalten) verwendet werden. Bei diesem Schritt muss man vorsichtig sein: Das HDD-Kabel
und die Stromversorgung müssen mit der Festplatte verbunden werden, bevor die Festplatte komplett in den Schacht geschoben wird.

Picture 5: Installation der Festplatte
Nach diesen Schritten sollte der Hermes PC wie in Bild 6 aussehen.

Bild 6: Nach der Installation von CPU, Arbeitsspeicher und Festplatte sieht der Hermes PC so aus.
Jetzt kann man das Disketten- und das DVD-Laufwerk an der Frontabdeckung festschrauben, wie in Bild 7 zu sehen.

Bild 7: Montieren des Disketten- und des DVD-Laufwerks an der Frontabdeckung.
Anschließend verbindet man das HDD- und FDD-Kabel sowie die entsprechenden Stromversorgungskabel mit dem DVD- bzw.
Diskettenlaufwerk. Dann wird die Frontabdeckung wieder in das Gehäuse geschoben (siehe Bild 8).

Bild 8: Die Frontabdeckung wird wieder eingebaut.
Nun kann die TV-Karte auf der Riser Card in einem der zwei PCI-Steckplätze angebracht werden (Bild 9).

Bild 9: Installation der TV-Karte in einem der zwei PCI-Steckplätze auf der Riser Card.
Als nächstes kann die Riser Card wieder in den Hermes PC eingebaut werden, wie in Bild 10 zu sehen ist, und das PC-Gehäuse
wieder geschlossen werden.

Bild 10: Die Riser Card wird samt TV-Karte wieder eingebaut.
Zum Abschluss muß noch der Infrarot-Empfänger am PC befestigt werden. Wie in Bild 11 zu sehen ist, haben wir den Empfänger
an der linken oberen Ecke neben dem Diskettenlaufwerk angebracht, um einen guten Empfang zu ermöglichen.

Bild 11: Der Infrarot-Empfänger wird an der Vorderseite des PCs angebracht.
Damit das Kabel des Empfängers nicht lose in der Luft hängt, haben wir uns für eine einfache Lösung entschieden:
Zuerst legen wir das Kabel entlang der Gehäuseseite und fixieren es mit einem Klebeband in der selben Farbe wie unser Gehäuse
(Bild 12). Wichtig: Dabei darf man die Belüftungsschächte nicht bedecken. Eine elegantere Lösung, bei der das Kabel durch den PC gelegt wird und der Empfänger in die Vorderabdeckung integriert ist, bleibt dem Hobbybastler überlassen.

Bild 12: Das Kabel wird an der Gehäuseseite mit einem Klebeband fixiert. Nicht die Belüftungsschächte bedecken!
4 Software-Installation:
Auf unserem Hermes PC haben wir eine Debian Woody Distribution mit Linux Kernel 2.4.21 installiert.
Abgesehen von den Standard-Softwarekomponenten müssen die folgenden Pakete und Treiber installiert werden.
Treiber für die SiS Grafikkarte:
Um die OnBoard-SiS-Grafikkarte benutzen zu können und die TV-Ausgabe zu ermöglichen,
ist ein spezieller
Treiber notwendig, der auf Thomas Winischofer's Homepage zu finden ist.
Desweiteren stellt er Binärpakete für die
Debian-Distribution zur Verfügung, welche wir für unseren PC verwenden. Eine Beschreibung, wie man den Treiber installiert,
befindet sich hier.
Nachdem man den Treiber installiert hat, muss die Konfiguration des X-Servers in dual head mode
geändert werden, d.h. es werden zwei verschiedene Video-Ausgänge verwendet (der VGA- und der TV-Ausgang).
Hier findet man auch einige Beispiele für die entsprechende
XF86Congfig-Datei (oder XF86Config-4). Auf unserem Computer wird die folgende XF86Config
verwendet, die auch als Vorlage verwendet werden kann. Nach der Konfiguration von X11 sollte das Bild sowohl über TV- als auch VGA-Ausgang sichtbar
sein.
Treiber für die TV-Karte:
Für die WinTV PVR 250/350 mit Hardware-MPEG-Encoder braucht man die Linux-Treiber, die innerhalb des
IvyTV-Projekts entwickelt werden.
Weil der Treiber noch in Entwicklung ist, sollte man möglichst die neueste CVS-Version downloaden. Auf unserem PC haben wir einen CVS-Checkout vom 18.09.2003
installiert, welcher hier heruntergeladen
werden kann.
Nachdem man das Archiv extrahiert hat, muss man in das Verzeichnis ivytv/driver wechseln und 'make' und 'make install' eingeben.
Desweiteren sollte man die Utilities aus ivytv/utils installieren, da man mit der Anwendung test_ioctl die TV-Karte konfigurieren
kann. Eine detaillierte Beschreibung, wie man diesen Treiber kompiliert, kann in der
FAQ des IvyTV-Projekts nachgelesen werden.
Nach der Installation kann man die Module ivtv und ivtv-i2c laden, indem man 'insmod ivtv' und 'ivtv-i2c' ausführt.
Jetzt können TV-Karte und Infrarot-Empfänger unter Linux benutzt werden.
LIRC:
Nachdem man den Treiber der TV-Karte installiert hat, kann man die Fernbedienung installieren. Für unsere Hauppauge TV-Karte
benötigt man die neueste CVS-Version von LIRC.
Eine Beschreibung, wie man sich Zugang zum Sourceforge-CVS-Server verschafft, befindet sich
hier.
Für unseren Hermes PC haben wir eine CVS-Version vom 01.12.2003 verwendet, welche
hier heruntergeladen werden kann.
Falls Sie nicht das neue dev-Dateisystem (devfs) benutzen, welches benötigte Einträge im dev-Verzeichnis dynamisch erstellt,
müssen sie die Datei lirc_dev.c im Verzeichnis <lirc-sources>/drivers/lirc_dev/
öffnen und den Code
#if LINUX_VERSION_CODE >=
KERNEL_VERSION(2,4,0)
#define LIRC_HAVE_DEVFS
#endif
durch
#if LINUX_VERSION_CODE >=
KERNEL_VERSION(2,4,0)
/*#define LIRC_HAVE_DEVFS*/
#endif
ersetzen. Ausserdem müssen Sie die Device /dev/lirc (neu) erstellen, indem Sie 'rm /dev/lirc' und 'mknod
c 61 0 /dev/lirc' als root ausführen.
Um LIRC zu installieren, wechselt man in das Verzeichnis mit den LIRC-Sources und führt
'./autogen.sh' und 'configure' aus.
Auf dem erscheinenden Bildschirm konfiguriert man den Treiber für Hauppauge TV-Karten und verlässt den Bildschirm mit
'Save configuration & run configure'. Danach gibt man 'make' und 'make
install'
ein (als root), um den neuen Treiber zu kompilieren und zu installieren.
Schließlich kann man die neuen Module laden und den LIRC-Daemon starten, indem man
'insmod lirc_dev', 'insmod lirc_i2c' und 'lircd' aufruft. Um die Installation zu testen, kann man
'more /dev/lirc' aufrufen.
Wenn man jetzt verschiedene Tasten der Fernbedienung drückt, sollten Zeichen in die Konsole geschrieben werden.
NMM:
Nun muss man nur noch NMM und die Multimedia-Box installieren. NMM benötigt die zwei Bibliotheken libpng und libjpeg, normalerweise
sollten diese aber bereits nach einer Standard-Installation der meisten Linux-Distributionen verfügbar sein. Falls nicht, dann
müssen sie installiert werden. Entsprechende Debian-Pakete für libpng befinden sich
hier
und für libjpeg
hier.
Wir benutzen die vorkompilierten Binärpakete der neuesten NMM-Version (zur Zeit 0.4.1), welche auf unserer
Downloadseite zu finden sind.
Der Quellcode von NMM ist auch auf dieser Seite verfügbar, so dass Sie auch Ihre eigene NMM-Version kompilieren können.
Nachdem man das Binärpaket oder den Quellcode heruntergeladen hat, muss man einfach den entsprechenden Installationsanweisungen auf
dieser Webseite folgen und schließlich die Anwendung 'mmbox' starten. Die Anwendung kann mit der Fernbedienung gesteuert werden,
wie man auf den Bildern unten sehen kann.
Falls die Multimedia-Box nach dem Login automatisch starten soll, müssen sie ihre eigene .xsession-Datei schreiben, die sich in
ihrem Home-Verzeichnis befinden muss. Diese .xsession-Datei kann als Vorlage verwendet werden.
Man muss nur die NMM_DEV_DIR-Variable ändern, um das Verzeichnis des NMM-Pakets zu definieren.
Nun wird die Multimedia-Box in einer Schleife gestartet und kann beendet werden, indem man <ALT>-<CTRL>-<Backspace>
drückt (was den X-Server killt).
Bilder der Multimedia-Box mit verschiedenen Skins
 |
 |
Multimedia
Box mit der Standard-Skin 'blue'
|
Multimedia
Box mit der Skin 'blues' |
 |
 |
| Multimedia
Box mit der Skin 'Las Vegas' |
Multimedia
Box mit der Skin 'icon' |
Multimedia
Box in Aktion
 |
 |
Wählen von Video- oder Audio-Dateien zum Abspielen.
|
Wiedergabe von Videos.
|
 |
 |
Einlegen einer DVD zum Abspielen.
|
Navigation durch das DVD-Menü und Starten des Films.
|
 |
 |
Wiedergabe des Films.
|
Starten einer anderen Aufgabe, die während der DVD-Wiedergabe ausgeführt wird.
|
5 Links:
In diesem Abschnitt sind die für dieses Projekt relevanten Internetseiten aufgelistet.
[1] MSI, haben uns freundlicherweise den Hermes PC zur Verfügung gestellt.
[2] IvyTV-Projekt,
entwickeln einen Treiber für WinTV PVR 250/350 Karten.
[3] Thomas Winischhofer's Homepage,
entwickelt Treiber für das SiS-Chipset, welches im Hermes PC zum Einsatz kommt.
|