Raspberry Pi: Steam Machine Alternative mit Limelight

16 Jul
16. Juli 2014

Valve kündigte mit den Steam Machines Spielekonsolen an, die mittels der Home Streaming Technologie Spiele vom Computer streamen können und damit grafisch aufwendige Games auf die kleinen Konsolen bringen. Die Veröffentlichung wurde jedoch verschoben und die Steam Machines sollen teils auch kein Schnäppchen werden. Aber wer braucht eine Steam Machine schon, wenn man einen Raspberry Pi hat? Mit Limelight gibt es eine freie Implementierung der NVIDIA GameStream Technologie (ursprünglich für NVIDIA Shield), die in direkter Konkurrenz zur Lösung von Valve steht. Eine für den Raspberry Pi optimierte Version namens Limelight Pi existiert ebenfalls. Damit ist es auch möglich, neben Games auch den einfachen Desktop des Windows Gerätes auf den Raspberry Pi zu streamen. Und das mit ordentlicher Performance. Wie man Limelight auf dem Raspberry Pi und einem Windows (Gaming) PC installiert und verwendet, erkläre ich im folgenden Artikel.

Voraussetzung: Raspberry Pi mit Raspbian oder vergleichbarer Distribution und ein Windows PC mit einer NVIDIA GTX 600/700 Grafikkarte, wie auch ein stabiles WLAN Netzwerk (802.11n dual-band empfohlen) oder eine Verbindung der Geräte via LAN

Step 1

Zunächst sollte man auf dem Windows Computer sicherstellen, dass die aktuelle NVIDIA Grafikkarten Treiber installiert sind. Außerdem benötigen wir die Software GeForce Experience des Grafikkartenherstellers.

Step 2

Auf dem Raspberry Pi benötigen wir die Oracle Java 8 Implementierung und den Audiocodec Opus zur Übertragung des Gamesounds. Diese Softwarepakete können wir über folgenden Befehl installieren. Außerdem sollte sichergestellt sein, dass die Audio Ausgabe auf dem Raspberry Pi funktioniert, was man durch das Abspielen eines Videos oder Musikstücks auf dem Raspberry Pi ausprobieren kann.

sudo apt-get install oracle-java8-jdk libopus0

Step 3

Für den Raspberry Pi benötigen wir nun noch die Limelight Pi JAR-Datei. Die aktuelle Version bekommt man von der Release Page des Projektes auf Github. Zum Zeitpunkt als dieses Tutorial geschrieben wurde, war Version v0.8 aktuell.

wget https://github.com/irtimmer/limelight-pi/releases/download/v0.8/limelight-pi.jar

Step 4

Auf dem Windows Rechner müssen wir nun GeForce Experience öffnen. Dort finden wir unter Mein Rig die Option NVIDIA GameStream, die wir aktivieren.

Step 5

Auf dem Raspberry Pi muss nun die Limelight Pi JAR-Datei erstmalig geöffnet werden. Dabei müssen wir IP durch die interne IP-Adresse des Windows Rechners ersetzen. Diese IP-Adresse kann man, falls nicht schon bekannt, für gewöhnlich im Webinterface des Routers einfach auslesen. Nach dem Aufruf des Kommandos sollte GeForce Experience auf dem Windows Rechner fragen, ob wir die Verbindung zulassen möchten, was wir bejahen. Abschließend können wir Limelight mittels STRG + C wieder beenden.

java -jar limelight-pi.jar stream -pair IP

Step 6

Um nun eine normale Verbindung zur Übertragung des Bildschirms aufzubauen, verwenden wir folgendes Kommando. Hierbei gibt 720 die Auflösung an (720p/1280×720; 1080 für Full-HD 1080p/1920×1080). Die Anzahl der FPS sollte auf 30 eingestellt sein, falls gewünscht und vom Netzwerk her möglich kann man auch 60 fps anfordern. Anschließend muss wieder IP durch die interne IP-Adresse des Windows Rechners ersetzt werden.

java -jar limelight-pi.jar stream -720 -30fps IP

Wenn alles ordentlich funktioniert hat, erhält man nun Bild und Ton des Windows Rechners auf dem Raspberry Pi.

Die Performance der Limelight Software in der Variante für den Raspberry Pi ist, wie einige Videos beweisen, exzellent. Durch eine sehr geringe Latenz sollten fast alle Games spielbar sein. Einzig bei Egoshootern könnte die minimale Latenz zu Problemen führen. Damit dies so funktioniert ist jedoch ein absolut stabiles und schnelles Netzwerk erforderlich, weshalb es ratsam ist, sowohl die Verbindung des Raspberry Pis als auch die des Windows Computers zum Router über LAN aufzubauen.

Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
48 Antworten
  1. petit_miner says:

    Nur eine kleine Verständnis Frage könnte ich dann theoretisch auf meinem Pi Gta4 spielen?

    Antworten
    • Jan Karres says:

      Vollkommen richtig. Du kannst damit auch AAA-Titel auf deinem Raspberry Pi spielen 🙂

      Antworten
    • jayphizzle says:

      ‚Über‘ den Pi spielen trifft es eher.

      @Jan: Limelight macht auf dem Pi vom Video her einen sehr guten Eindruck. Hätte ich nicht gedacht.

      Antworten
      • Jan Karres says:

        Stimmt, „über“ wäre passender 🙂 Ich war ebenfalls überrascht als ich für den Artikel recherchiert wie gut das funktioniert, da ich bereits vor ein paar Jahren nach einer geeigneten Technologie für einen vollwertigen Notebook gesucht hatte und nicht erfolgreich war.

        Antworten
  2. Kapotth says:

    Kann ich auch mit einem Xbox KabelCOntroller am Pi damit spielen?

    Antworten
    • Jan Karres says:

      Wenn du einen XBOX Controller hast, der sich er USB verbinden lässt und unter Linux/Raspbian läuft, sollte auch das gehen.

      Antworten
  3. Manfred says:

    Hallo!!!

    Bin absoluter PI + Linux Neuling, wie und mit was kann ich die IP in der .jar Datei ändern!!

    Antworten
    • Christoph Müller says:

      Du musst an der *.jar gar nichts ändern. Schau doch noch einmal genau in den Artikel 😉

      Antworten
      • Manfred says:

        Danke für denn Hinweiß 🙂 🙂 hat ja ein wenig gedauert bis ich es kapiert habe. Und jetzt das nächste Problem,Wenn ich “ java -jar limelight-pi.jar -720 -30fps IP“ eingebe kommt folgendes:

        Steam not found in GFE app list

        Danke schon mal im voraus!!

        Antworten
        • Jan Karres says:

          Klingt so als hätte GeForce Experience Steam nicht gefunden, aber benötigen. Prüfe das doch mal in der Anwendungsliste von GeForce Experience.

          Antworten
  4. René Sonic (@sonicdnb) says:

    Ganz nette Spielerei. Aber da mein Wohnzimmer nicht so groß ist habe ich einfach meinen PC mit einem längeren HDMI-Kabel an den AV-Receiver/Fernseher angeschlossen. Dazu noch wireless Tastatur, Maus und XBox360 Controller und dem Zocken auf dem 40 Zoll Fernseher von der Couch aus steht auch nichts mehr im Wege. Besser als jede Konsole 😉

    Antworten
  5. Markus says:

    Schade das dies wohl nur mit nvidea Grafikkarten gehen soll. Wäre genau das was ich suche, nur das der pc eine amd gpu hat. Gibt nicht zufällig auch hierfür eine Lösung?

    Antworten
    • Jan Karres says:

      Das Ding ist meiner Einschätzung nach sehr hardwarelastig, weshalb auch nur neuere Reihen von NVIDIA unterstützt werden. Folglich sehe ich da eher schwarz.

      Antworten
  6. desireblog says:

    Servus, ich habe die installation befolgt. Ich bin noch ein sehr noobig, habe erst heute meinen raspberry bekommen. Ich habe deine Anleitung befolgt. Erfolgreich „gepairt“ und nach der eingabe „java -jar limelight-pi.jar -720 -30fps meine ip von monster pc“ kommt beim start eine fehlermeldung in der console: Starting app
    Starting RTSP handshake
    java.io.IOException: RTSP OPTIONS request failed: 505
    at com.limelight.nvstream.rtsp.RtspConnection.doRtspHandshake(Unknown Source)
    at com.limelight.nvstream.NvConnection.doRtspHandshake(Unknown Source)
    at com.limelight.nvstream.NvConnection.establishConnection(Unknown Source)
    at com.limelight.nvstream.NvConnection.access$300(Unknown Source)
    at com.limelight.nvstream.NvConnection$1.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:744)
    RTSP OPTIONS request failed: 505
    Connection Error Starting RTSP handshake failed

    woran liegt das?

    Antworten
  7. Sascha Flach says:

    Der Guide ist echt klasse, leider hat mein Laptop eine GT 750M und diese wird nicht unterstützt.

    Alternativ und universaler soll Splashtop sein. Leider müsste man das aus dem Source comilieren und das kann ich nicht.

    Für die Leute die zum Beispiel World of Warcraft auf dem Ipad spielen wollen etc. Splashtop bietet auch Mobile Apps an.

    Evtl. hat ja jemand von euch lust einen Guide zu schreiben wie man Splashtop zum laufen bekommt.

    Antworten
    • Jan Karres says:

      Splashtop habe ich auch mal ausprobiert. Hat einige Restriktionen für die man bezahlen muss und die Performance war zumindest bei mir zwar in Ordnung, aber nicht überragend.

      Antworten
  8. Noiseshadow says:

    Mal ne blöde frage, ist es normal das immer Steam startet? Würde nämlich gerne World of Tanks über Limelight spielen. Doch sobald die Verbindung steht startet Steam. Nur leider funktioniert Steam und WoT nicht.

    Antworten
    • Jan Karres says:

      Du setzt von der Technologie auf Home Streaming auf, was ein Teil von der Steam Software ist, weshalb es in Ordnung ist, dass es startet. Versuche doch mal WoT in Steam unter Bibliotheken als Steam-fremdes Spiel hinzuzufügen.

      Antworten
      • Noiseshadow says:

        Habe ich leider schon vergebens versucht. WoT und Fallout 3 wollen beide nicht starten.
        Wenn Fallout 3 doch mal startet, habe ich im Spiel keinen Mauszeiger!
        Wenn ich WoT oder Fallout 3 aber aus Steam vom Host PC starte, dort geht’s. Naja, vielleicht tut sich da noch was.

        Antworten
  9. indiewatchblog says:

    Kann es sein, dass man seit dem neuesten GEE Update mal wieder limelight nicht zum verbinden bekommt?

    Antworten
  10. sirhesse says:

    Ich habe jetzt mit einer alten und aktuellen Version von GFE das ganze versucht (Limelight-Pi Version 0.9.1).
    Pairing geht auch, nur sobald ich versuche die Übertragung zu starten endet es immer mit „Streaming session has failed due to a game management error. (Error Code: 522)“
    Es kommen auch noch mehrere „Unknown Source“ Meldungen, zB.:
    „at com.limelight.nvstream.http.NvHTTP.getXmlString(Unknown Source)“

    Hatte hier jetzt zB. eine Lösungsansatzt gefunden:
    https://github.com/irtimmer/limelight-embedded/issues/23

    Was die Oracle VM angeht kann sich das aber doch nicht auf den Pi beziehen oder?
    Wäre toll wenn du mir sagen könntest ob du eine Lösung weißt oder ob du zumindest einen Ansatzt für mich hättest, wo hier das Problem liegt, weil ich jetzt auch noch nicht so hinter die Pi-Materie gestiegen bin 😉

    Danke schonmal

    Antworten
    • Jan Karres says:

      Ehrlich gesagt kenne ich mich mit Limelight auch nur oberflächlich aus und habe momentan keine Möglichkeit zur Replizierung des Fehlers, weshalb ich dir da leider nicht weiterhelfen kann. Sorry.

      Antworten
    • Steve says:

      hab momentan das gleich Problem. Es wäre nett von dir, wenn du hier kurz bescheid gibst, wenn sich eine Lösung gefunden hat.
      Ich versuchs derweil auch hinzugriegen …

      Antworten
  11. Ralph says:

    In deinem Artikel schreibst du, dass es möglich ist auch den normalen Windows Desktop per limelight auf den Raspberry zu streamen. Ich habe dazu leider keine Referenzen gefunden und besitze (bisher) auch keine GTX 600/700 um das zu testen. Könntest du mir kurz bestätigen, dass man per limelight zum Beispiel Microsoft Office auf den Raspberry streamen kann?
    (Mir ist klar, dass man dafür eher RDP verwenden würde.)

    Antworten
    • Jan Karres says:

      Meines Wissens nach sollte es mit jeder beliebigen Anwendung gehen.

      Antworten
      • Ralph says:

        Habe es inzwischen getestet und es funktioniert sehr gut. Man muss die Datei mstsc.exe als Anwendung zu GameStream hinzufügen und diese dann per limelight starten. Super Bild, keine Latenz, viel besser als vnc, rdp oder ähnliches.

        Antworten
  12. Simon says:

    Hallo zusammen, vielen Dank für die tolle Beschreibung. Das Streamen funktioniert bei mir super, nur muss ich jetzt noch ein Gamepad an den Pi bekommen. Sonst macht das ganze nicht wirklich Sinn. 😉 Ich habe das F710 von Logitech. Hat einer schon mal Erfahrungen damit gemacht?

    Antworten
  13. Matze says:

    Hallo alle zusammen,

    ich habe die Installation komplett durchgeführt und bis zum Ende hin war auch alles gut. Wenn ich dann starten will verbindet er sich mit dem Pc und es läuft dann anscheinend auch, nur bekomme ich kein Bild.
    Bleibe in den Kommandozeilen, kann auch mein Pc mit der Tastatur hinten am Pi steuern aber wie gesagt mir fehlt das Bild.

    Starting app
    Starting RTSP handshake
    Starting control connection
    Starting video stream
    Starting audio stream
    Starting input connection

    bis da geht und dann ist schluß. Habe auch nvidia geforce experience auf 2.1.1 umgestellt und benutze Limelight Pi 0.9

    Hat da vielleicht einer ne Lösung? :/

    Danke 🙂

    Antworten
  14. Pavloo says:

    Starting app
    com.limelight.nvstream.http.GfeHttpResponseException: GFE error: Streaming session has failed due to a game management error. (Error code: 522)
    at com.limelight.nvstream.http.NvHTTP.verifyResponseStatus(Unknown Source)
    at com.limelight.nvstream.http.NvHTTP.getXmlString(Unknown Source)
    at com.limelight.nvstream.http.NvHTTP.getXmlString(Unknown Source)
    at com.limelight.nvstream.http.PairingManager.getPairState(Unknown Source)
    at com.limelight.nvstream.http.NvHTTP.getPairState(Unknown Source)
    at com.limelight.nvstream.NvConnection.startSteamBigPicture(Unknown Source)
    at com.limelight.nvstream.NvConnection.establishConnection(Unknown Source)
    at com.limelight.nvstream.NvConnection.access$300(Unknown Source)
    at com.limelight.nvstream.NvConnection$1.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:744)
    GFE error: Streaming session has failed due to a game management error. (Error code: 522)
    Connection Error Starting app failed

    Was nun ?

    Antworten
    • Jan Karres says:

      Es klingt so als sei es nicht gelungen, dass GeForce Experience am Hauptrechner die verwendbaren Programme aufruft. Ist diese Software denn bei dir aktuell?

      Antworten
  15. Pavloo says:

    Habe es mehr oder weniger zum laufen gebracht:

    Starting app
    Limelight now requires GeForce Experience 2.1.1 or later. Please upgrade GFE on your PC and try again.
    Connection Error Starting app failed

    GFE Aktuellste Version 2.2.2.0
    Limelight-pi.jar (ver. 0.9.1 )

    Woran liegt es wenn ich ich die *.jar Datei durch eine neuere version ersetze ( z.B. 1.2.1 ) kommt immer folgende fehler meldung:

    Syntax error: invalid action specified

    Bitte um hilfe…

    Antworten
  16. Matthias says:

    Stecke jetzt wie PAVLOO bei „Syntax error: invalid action specified“ fest. Hat jemand eine Antwort?

    Antworten
    • Sl0ter says:

      das Problem von Pavloo und dir ist leicht zu lösen.
      wenn euer befehl so aussieht
      java -jar limelight.jar -(Option) (IP)
      müsst ihr noch hinter limelight.jar den befahl „stream“ eingeben
      sieht dann so aus
      java -jar limelight.jar stream -(Option) (IP)

      wichtig ohne ein minus davor!!

      MFG
      Sl0ter

      Antworten
  17. Stefan Schreiter says:

    Geht das auch mit AMD Grafikkarten?

    Antworten
    • Sl0ter says:

      Geht nicht. Limelight geht nur mit einer Nvidia gtx 650 oder höher möglich.
      Mal schauen ob Amd auch was entwickelt oder es eine SteamOS version für den RPI mal gibt.

      Antworten
  18. Adrian says:

    Bei Step 5 sollte das Stream aus dem Befehl 😉 Dann funktioniert es auch *grins* Aber top Anleitung

    Antworten
  19. Elektro says:

    Hallo, tolle Sache diese Anleitung hier. Ich habe aber noch eine Frage, kann ich den Xbox 360 wireless Controller für Windows am PI betreiben und damit spielen?

    Danke!

    Antworten
    • Jan Karres says:

      Wenn es für dieses Gerät Linux-Treiber für ARM-Prozessoren oder den Sourcecode des Treiber gibt sollte das funktionieren.

      Antworten
      • Elektro says:

        Hallo, ja so etwas gibt es xboxdrv funktioniert bei mir aber leider noch nicht richtig. Nicht alle Tasten funktionieren. Keine Ahnung ob das nun am wireless liegt… Auf jeden Fall noch mal Danke!

        Antworten
  20. balu3412 says:

    Wäre top wenn das Tutorial auf die neue Moonlight Version aktualisiert werden könnte.

    Antworten

Trackbacks & Pingbacks

  1. […] Official Source: https://jankarres.de/2014/07/raspberry-pi-steam-machine-alternative-mit-limelight/ […]

Antworten

Kommentar verfassen

JanKarres.de © 2007-2018