Ich habe lange nach einer optimalen Lösung gesucht um beim Start von XBMC diesen seperat auf dem TV zu starten.
Dabei sollte optimalerweise beim Beenden von XBMC die Anzeige wieder den normalen Ubuntu Desktop auf dem Monitor anzeigen.

Mein Rechner hier ist mit einem DVI Kabel normal an meinen Monitor angeschlossen und mit einem HDMI Kabel an den LCD-Fernseher.


Bei dieser Methode habt ihr folgende Vorteile:

  • Im Hintergrund laufende Programme laufen ganz normal weiter.
  • Beim Starten von XBMC startet dieser automatisch auf eurem TV, auf euren Desktop könnt ihr zugreifen wenn ihr mit der Tastenkombination STRG+ALT+F7 wieder auf die erste X-Session wechselt. (zurück zu XBMC mit STRG+ALT+F8)
  • VDPAU(Nvidia) und Automatic Refresh Rate Switching funktioniert problemlos.
  • Keine Performanceprobleme und kein Tearing, da Compositing deaktiviert ist.




Vorweg, solltet ihr erstmal XBMC installieren. Wie das geht hab ich hier beschrieben. Anschließend sollte noch das Paket xbmc-standalone installiert werden. xbmc-standalone hat den Vorteil, dass wenn XBMC doch mal abstürzt, es automatisch neu gestartet wird.

Ich habe diese Methode nur mit einer Nvidia Grafikkarte getestet. Keine Garantie, dass es unter ATI oder Intel ebenfalls so läuft.

Vorbereitung:
Ihr braucht eine zweite xorg.conf (bei mir heißt sie xorg.tv). Dieses xorg config File, sollte euren TV als einziges Gerät anzeigen und noch einige Optionen beeinhalten.
Bei mir schaut die folgendermaßen aus. Wenn ihr ebenfalls eine NVIDIA Grafikkarte habt und einen 1080p fähigen TV, könnt ihr diese eigentlich 1:1 übernehmen. Die Datei sollte unter /etc/X11/xorg.TV abgespeichert werden.



Um eine passende xorg.conf zu generieren (Nvidia), könnt ihr folgendes Skript verwenden.



Anschließend solltet ihr unter Section "Screen" bei Modes, noch die unterstützen Modi festlegen, damit XBMC dann automatisch zwischen verschiedenen Frequenzen switchen kann. Bei mir ist das jeweils 1080p mit 60Hz, 50Hz und 24Hz (für 24p Content).

Bei ATI und Intel Nutzer wird das vermutlich etwas anders anschauen, wie genau kann ich leider nicht sagen.

XBMC Start Skripte:
Wenn die passende xorg.TV Config in /etc/X11 liegt, kann es weitergehen.
Jetzt erstellen wir ein Skript, dass beim Ausführen automatisch eine zweite X-Session mit der xorg.TV Config öffnet und da drin XBMC startet. Das Skript könnt ihr z.B. startXBMC.sh nennen.



Macht das Skript durch ein sudo chmod +x startXBMC.sh noch lauffähig.

Weitere Wichtige Einstellungen:
Wenn ihr das Skript startet, wird es noch nicht laufen, da ihr als normaler Nutzer keine Berechtigungen habt, eine zweite X-Session zu starten (nur als Root).
Um dieses Problem zu umgehen geben wir in das Terminal folgendes ein:
sudo dpkg-reconfigure x11-common

Bei der nachfolgenden Abfrage stellen wir auf Jeder.

Nun müssen wir euren User noch in die Audio und Video Gruppe hinzufügen, da sonst XBMC beim starten von Musik oder Videos abstürzt.

Das machen wir jeweils durch die Eingabe von:
sudo adduser %username% audio
sudo adduser %username% video

%username% ersetzt ihr natürlich durch euren Usernamen (ohne %).

Anschließend solltet ihr euch einmal neu anmelden.

Finish:
Jetzt sollte beim Aufruf der vorher erzeugten Shell Skriptes, XBMC auf eurem TV starten.

Übrigens funktioniert das in der Weise natürlich nicht nur mit XBMC sonder mit jedem x-beliebigem Programm oder Spiel.

Bei Problemen, Fragen und Anmerkungen bitte einen Kommentar posten damit ich helfen kann.

17 Comments