Linux HTPC mit Steam, XBMC und XBox Controller

  • Hallo zusammen,

    mit der Einführung von Steam In-Home Streaming durch Valve dachte ich mir, dass es Zeit ist, meinen derzeitig auf Openelec bassierenden HTPC platt zu machen
    und etwas mit Steam In-Home Streaming kompatibles aufzusetzen. Windows wäre, mal abgesehen von den Lizenzkosten, zu einfach gewesen.
    Ich wollte etwas minimalistisches, dass mir ausschließlich XBMC und Steam zur Verfügung stellt und, da damit gespielt werden soll, mein XBox 360 Wireless Controller funktioniert.

    Heraus kam ein Linux auf Basis von Ubuntu Minimal, XBMC 13, Steam und derzeit noch dem xboxdrv.
    Alle Schritte und dazugehörige Gedanken habe ich in meinem Wiki zusammengefasst: http://wiki.geekbundle.org/linux/htpc

    Da beim In-Home Streaming die eigentliche Rechenarbeit der Steam Host übernimmt, funktioniert dieser Weg auf jedem System,
    auf dem auch anspruchsvollere XBMC Skins funktionieren. Auf Raspberrys also leider nicht ;)
    Spannend fände ich allerdings, wenn das mal jemand ausprobieren würde. Ich würde es ja selber machen aber wenn ich das jetzt auch noch mache, werde ich Ärger mit der Herrin des Hauses bekommen :)

    Viel Spaß beim lesen, ausprobieren und kommentieren

    XBMC 13.0 + Arctiv on Ubuntu Minimal 14.04 x64| AMD A6-5400K | 4GB-RAM
    Synology DS413 + 4x WD 3TB| SABnzbd | Sickbeard | Couchpotato
    Panasonic Viera TX-P50VT30E

  • Genau das gleiche bewegt mich aktuell auch :)
    Bin allerdings großer OpenELEC Fan und hoffe, dass das dort demnächst auch irgendwie funktioniert. Noch scheue ich mich nämlich noch mal ein "komplettes" Linux aufzusetzen und zu betreiben.
    Zwei Dinge würden mich allerdings noch interessieren:
    1. Wie sind aktuell deine Erfahrungen mit Steam In-home und 2. wie hat sich der normale HTPC Betrieb verändert mit dem Wechsel zu Ubuntu (z. B. Einschaltzeit).

    Gruß Elo

    Einmal editiert, zuletzt von Elo (9. Juni 2014 um 23:22)

  • Genau das gleiche bewegt mich aktuell auch :)
    Bin allerdings großer OpenELEC und hoffe, dass das dort demnächst auch irgendwie funktioniert. Noch scheue ich mich nämlich noch mal ein "komplettes" Linux aufzusetzen und zu betreiben.
    Zwei Dinge würden mich allerdings noch interessieren:

    1. Wie sind aktuell deine Erfahrungen mit Steam In-home und 2. wie hat sich der normale HTPC Betrieb verändert mit dem Wechsel zu Ubuntu (z. B. Einschaltzeit).

    Gruß Elo

    Linux ist halt viel Handarbeit. Eine Appliance wie Openelec nimmt einem da schon viel Arbeit ab :)
    Zu 1: Meine bisherigen Erfahrungen sind nicht schlecht. Es macht Spaß Counter-Strike Global Offensive auf einem 50 Zoll Fernseher zu spielen :)
    Die Latenz ist auch in Ordnung. Nur selten gibt es Verzögerungen.
    Ich betreibe das ganze allerdings auch über ein durchgehendes 1 Gigabit fähiges Netzwerk. Zwischen Steam Client und Host würde ich keine WLAN Strecke verwenden.

    Zu 2: Nicht merklich. Das einzige, was sich bisher geändert hat, ist die Startzeit. Mit Openelec war gefühlt der Rechner schneller da als der Fernseher angehen konnte.
    Mittlerweile sieht man noch, während der Fernseher angeht, dass XBMC startet. Beides ist quasi zeitgleich da.
    Meine Frau meinte zwischendurch, dass manche YouTube Videos geruckelt hätten. Mit den von mir getesteten Videos konnte ich das allerdings noch nicht feststellen.
    Vielleicht lag es ja auch an den Videos die sie geguckt hat. Sie hat mir bisher leider keinen Link zukommen lassen.
    Alles andere lief einwandfrei. Mein Film mit der höchsten Bitrate (23.4 Mbps) und HD-Bitstreaming funktionieren ruckelfrei und, was mir auch wichtig war,
    ich kann weiterhin über HDMI CEC mit der Fernbedienung vom Fernseher, neben dem Controller, XBMC bedienen.


    Coole Anleitung... danke für die Zeit :)

    Danke und gern :)


    Zwei Fragen habe ich allgemein auch noch.

    1.) Ich möchte, dass XBMC sich beendet während Steam offen ist und, sobald Steam geshclossen wird, sich XBMC startet.
    Derzeit nutze ich Upstart um einen Neustart von XBMC bei einem Crash zu garantieren.
    Ich habe es schon mit einem Wrapper Shellscript probiert, dass ausgeführt wird wenn der Steam Launcher Steam startet.
    Leider wird, sobald der XBMC Upstart Job beendet wird, XBMC inklusive aller Subprozesse, dazu gehört dann auch das Shell Script beendet.
    Hat jemand dafür eine Idee oder einen Lösungsansatz? Das Script vom Steam Launcher bekommt es auch hin.
    Ich konnte nur bisher nicht nachvollziehen wie es das schafft.


    2.) Anstatt des xboxdrv Userspace Treibers würde ich gern den im Kernel integrierten XPad Treiber verwenden.
    XBMC erkennt beim Start des Systems den Controller aber noch nicht. Ich habe es schon versucht, in dem ich XBMC hab warten lassen,
    bis der Treiber geladen wurde, konnte den Controller dann aber immer noch nicht verwenden.

    XBMC 13.0 + Arctiv on Ubuntu Minimal 14.04 x64| AMD A6-5400K | 4GB-RAM
    Synology DS413 + 4x WD 3TB| SABnzbd | Sickbeard | Couchpotato
    Panasonic Viera TX-P50VT30E

    Einmal editiert, zuletzt von Madic (3. Juni 2014 um 15:56)

  • 1.) Ich möchte, dass XBMC sich beendet während Steam offen ist und, sobald Steam geshclossen wird, sich XBMC startet.
    Derzeit nutze ich Upstart um einen Neustart von XBMC bei einem Crash zu garantieren.
    Ich habe es schon mit einem Wrapper Shellscript probiert, dass ausgeführt wird wenn der Steam Launcher Steam startet.
    Leider wird, sobald der XBMC Upstart Job beendet wird, XBMC inklusive aller Subprozesse, dazu gehört dann auch das Shell Script beendet.
    Hat jemand dafür eine Idee oder einen Lösungsansatz? Das Script vom Steam Launcher bekommt es auch hin.
    Ich konnte nur bisher nicht nachvollziehen wie es das schafft.


    schau dir mal "incron" an ... ist ein fileevent basierter Cron Job ... damit könnte es gehen ;) musst halt mal bisschen die Logs durchstöbern ... vielleicht geht da ja was...

    Rehctcshreifbehler düfren beahlten wedren

    Externer Inhalt www.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Hi,

    und erstmal besten Dank für diese tolle Geschenk!
    Ich bin auch schon fest am probieren.
    Jedoch hab ich ein paar Probleme wo ich ehrlich nicht durchblicke.

    1. Wenn ich den PC starte, bootet er immer in die Konsole und ich muss erst mit STRG+ALT+F8 in Xserver umschalten.
    2. Ich hab keinen Mauszeiger sobald Steam startet. Auch der im XBMC im Hintergrund wird ausgeblendet.
    3. Ich habe Ubuntu Mini mit USB Stick installiert...wie schon so oft. Jedoch muss ich jetzt den Stick am PC lassen. Sonst bootet Ubuntu nicht durch???
    Kann mir das einer erklären?? Noch nie gehabt den Fehler.

    Aber ansonsten bin ich schwer überzeugt von dem ganzen.

    Noch eine Frage:
    Kann ich die Steam Spiele auch dirket auf dem Rechner installieren oder geht es wirklich nur in Remote Modus?

    Danke schon mal für die Hilfe.

    Pikeman

  • Zitat

    1. Wenn ich den PC starte, bootet er immer in die Konsole und ich muss erst mit STRG+ALT+F8 in Xserver umschalten.


    Hm, ist ein Displaymanager installiert? Z.B. LightDM oder GDM?


    Zitat


    2. Ich hab keinen Mauszeiger sobald Steam startet. Auch der im XBMC im Hintergrund wird ausgeblendet.


    Ich würde sagen, in XBMC brauchst du auch keine Maus. Bei Steam muss ich passen - kenne mich da nicht aus


    Zitat

    3. Ich habe Ubuntu Mini mit USB Stick installiert...wie schon so oft. Jedoch muss ich jetzt den Stick am PC lassen. Sonst bootet Ubuntu nicht durch???
    Kann mir das einer erklären?? Noch nie gehabt den Fehler.


    Ich gehe davon aus, dass der Bootloader auf den Stick geschrieben wurde. Ziehst du den ab, kann nicht gebootet werden. Oder die Bootreihenfolge wurde geändert. Ich installiere am liebsten von CD, da kann das nicht passieren.
    Mein Vorschlag:
    Nach dem starten den USB Stick raus. Die Festplatte müsste dann sda sein. Prüfen mit

    Code
    sudo blkid


    Anschliessend in der Konsole folgendes ausführen:

    Code
    sudo grub-install /dev/sda
    Code
    sudo grub-mkconfig
    Code
    sudo update-grub

    Schau mal ob das den Erfolg bringt. :thumbup:

  • Tut mir Leid, dass ich jetzt erst reagiere.
    Danke an BigChris für die Beantwortung einiger deiner Fragen.


    1. Ist mir auch aufgefallen. Habe eine Neuinstallation getestet und habe das selbe Problem. Schaue ich mir genauer an und werde es entsprechend anpassen.
    2. Ich füge noch einen Hinweis hinzu, wie man den Mauszeiger aktivieren kann.
    3. Dein USB-Stick wurde als /dev/sda eingebunden und die Ubuntu Minimal Installation installiert den Bootsektor immer nach /dev/sda, selbst wenn das System auf /dev/sdb installiert wurde.
    Habe im Tutorial einen entsprechenden Hinweis hinzugefügt und wie man das Problem von vornherein umgeht.
    Um eine Neuinstallation zu vermeiden kannst du die Herangehensweise von BigChris verwenden.

    Du kannst die Linuxkompatiblen Spiele auch auf dem Rechner installieren. Habe ich allerdings bisher nicht ausprobiert und werde ich auch nicht können,
    da meine SSD vom Media Center nur 30GB umfasst :)

    Sobald ich die ersten beiden Punkte im Tutorial angepasst habe, schreibe ich es dir in einer privaten Nachricht.

    Update 15.06.2014
    Hallo Pikeman,

    bekommst du beim Start einen komplett schwarzen Bildschirm oder die Loginmaske?
    Falls du die Loginmaske bekommst, musst du nomodeset in Grub deaktivieren.
    Siehe hier http://wiki.geekbundle.org/linux/htpc#sch…hirm_nach_start

    Falls du einen reinen schwarzen Bildschirm bekommst, kann es sein, dass Openbox gestartet wird, aber nicht XBMC.
    Das lag an einem Fehler im Tutorial.
    Du musst /etc/init/openbox.conf und /etc/init/xbmc.conf ersetzen.
    Einfach folgende zwei Befehle ausführen:
    [infobox]sudo sh -c "echo 'start on (started dbus and started mountall)
    stop on runlevel [016]
    respawn
    respawn limit 10 5
    limit nice 21 21
    script
    exec su -c \"xinit /usr/bin/openbox-session -- -bs -nocursor :0\" xbmc
    end script' > /etc/init/openbox.conf"[/infobox]
    [infobox]sudo sh -c "echo '# xbmc standalone service

    # starts XBMC on startup by using xinit.
    # will try to auto respawn for 5 mins if it crashes
    # launches xbmc in the \"standalone mode\" with no xcursor (cursor in xbmc still works)
    # by default runs as xbmc, to change edit below.
    env USER=xbmc
    env DISPLAY=:0

    description \"XBMC standalone service\"
    author \"Matt Filetto\"

    start on (net-device-up IFACE!=lo and started openbox)
    stop on (runlevel [016] or stopped openbox)
    #start on (started dbus and started mountall and net-device-up IFACE!=lo)
    #stop on runlevel [016]

    # tell upstart to respawn the process if abnormal exit
    respawn
    respawn limit 10 5

    # nice level
    limit nice 21 21

    script
    exec su -c \"/usr/bin/xbmc\" $USER
    # exec su -c \"xinit /usr/bin/xbmc --standalone -- -bs -nocursor :0\" $USER
    end script' > /etc/init/xbmc.conf"[/infobox]
    Das sollte auch deine Probleme mit dem Mauszeiger vereinfachen weil bei dir wahrscheinlich XBMC standalone und nicht XBMC gestartet ist.
    XBMC standalone hat meines Wissens keinen Mauszeiger
    Du wirst in Steam zwar immer noch keinen haben aber im Hintergrund von XBMC. Da das eine einmalige Sache ist, sollte es jetzt verschmerzbar sein :)

    XBMC 13.0 + Arctiv on Ubuntu Minimal 14.04 x64| AMD A6-5400K | 4GB-RAM
    Synology DS413 + 4x WD 3TB| SABnzbd | Sickbeard | Couchpotato
    Panasonic Viera TX-P50VT30E

    Einmal editiert, zuletzt von Madic (15. Juni 2014 um 01:51)

  • SUPER!!!

    Besten Dank an alle Helfer!
    Es läuft alles.

    Nur hab ich unter Steam auf dem XBMC Rechner keinen Ton ?(

    Aktuel ist eine ATI GraKa verbaut. Das ganze ist eigentlich aktuel noch ein Testsystem.
    Aber der Ton sollte schon klappen.
    Left4Dead2 ohne Sound ist komisch 8)

    Aber ansonsten bin ich echt begeistert von dem ganzen.

    WEITER SO!!

  • Ich hab mir auch mal lte Hardware zum Media/Gaming Sklaven umgebaut und bin dabei auf deine anleitung gestoßen.

    Erst mal kann ich nur sagen SUUUPER Anleitung! :thumbup:
    Die hat mir suuper geholfen. Ich arbeite ja schon seit einigen Jahren mit Linux, nur hab ich meist immer das standart System erweitert. So weit ins System hab ich meist nie eingegriffen.

    Soweit komm ich auch wohl klar nur hab ich Steam nicht ans laufen gekriegt.

    Da kommt immer die Meldung:

    Code
    "OpenGL GLX context is not using direct rendering, which may cause performance problems.	"


    könnte das vielleicht mit dem Treiber zusammen hängen da ich den OSS Treiber aus dem xbmc Installer genommen hab. Ich weiss nicht in wiefern der mit den AMD A-Apu's kompatibel ist.
    hat einer da ne lösung?

    Mein 2. Anligen wäre ich würde den Rechner, da er ja schonmal Linux drauf hat, gleich mit samba ne Nas Funktion einrichten.

    Samba iss da nich das problem das läuft ja fast out-of-the-Box. Ich bräuchte hilfe bei WoL damit der nicht immer an ist. (Ich weiss ist als Nas kein optimales System aber bevor Hardware kommt will ich erst testen.)

    Mein System:
    Mainboard: Asus F2A55-M LK
    APU: AMD A5 5300 Boxed
    RAM: 2x2GB Kingston HyperX DDR3 1600
    HDD: Samsung 500GB
    PSU: kein Plan hat 350W

    Ich hoffe mir kann da jemand weiter helfen.

  • Ich hab es soweit hinbekommen. Über Display 0 kann ich Dream im Desktop Modus starten. Wenn ich aber über Xbmc starte starten Dream im bog picture Modus und will eingestellt werden. Bei Netzwerk geht es dann nicht weiter weil es keine lan Karte findet..

  • Hallo don ,

    nein xbmc selber ist installiert , das macht die installer.sh ja alles alleine , problem ist er kommt nicht über das login hinaus. Sprich XBMC Boot Screen kommt , dann springt er zum login. Bei Ubuntu 12.10 / 13.10 ging es nioch ohne Probleme. es scheint wohl mit Ubuntu 14.04 zusammen zu hängen. Da der XBMC Dienst ohne Problem startet und auch rennt. Leider brachte LDM auch nix. Ich denke werde dann wohl doch zu Xbmcbuntu wechseln müssen wobei mir ein schlankes System auf Basis von Ubuntu minimal viel mehr zusagt.

  • Hallo und erstmal vielen Dank für die tolle Anleitung!

    Leider habe ich dasselbe Problem wie sahkur:

    Hallo ,

    erstmal vielen Dank für das schöne TUT , leider habe ich ein Problem das ich immer nachdem kurz der XBMC Bootscreen kommt , beim Login lande.
    Anderungen am Grub haben nix gebracht. Hast du da viellicht noch einen Tip ?

    LG


    Allerdings nur, wenn ich nach der Kodi-Installation per Skript noch mit dem Tut fortfahre und Openbox+Steam installiere - bleibe ich nur bei Kodi, funktioniert es 1A. Das seltsame dabei: ich habe dein Tut erst in einer VM unter ansonsten gleichen Bedingungen (Linux 14.04 LTS Minimal) getestet, dort kann ich alle Schritte befolgen und die VM bootet dann direkt nach Kodi, und bei Bedarf dann weiter zu Steam. Aber auf meinem HTPC und selbst auf meinem alten Testrechner (Atom+Nvidia ION) lande ich im LoginScreen =(

    Der Fix aus dem Tut hat leider nichts gebracht,
    /etc/init/openbox.conf
    /etc/init/xbmc.conf
    sind bei VM und der echten Maschine auch identisch. Leider weiß ich aktuell nicht weiter =(

    Kodi/Steam/Server: Xeon E3-1225 v3, 8 GB DDR3, MSI GeForce GTX 750 Ti TF 2GB, 64GB SSD, 14 TB HDD

    2 Mal editiert, zuletzt von Tranceport (17. November 2015 um 15:32)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!