Spiele streamen mit Raspberry Pi

(Artikel)
Rian Voß, 14. Januar 2016

Spiele streamen mit Raspberry Pi

Bonus: Witcher 3 auf einem Röhrenfernseher. Ja, ernsthaft.

Ihr habt einen großen Fernseher in eurem Wohnzimmer. Da sollen irgendwie Spiele drauf. Jetzt könntet ihr euch eine Konsole und alle eure couchfähigen PC-Spiele noch mal kaufen. Oder ihr bastelt euch einen kräftigen Mini-PC und versteckt ihn hinterm TV. Noch gewiefter: Ihr benutzt Nvidias Shield oder Valves Steamlink, um Spiele direkt von einem dicken Rechner aus dem Heimnetzwerk zu streamen. Wer aber a) Geld sparen möchte und b) gerne die Arme hebt und sich selbst unter den Achseln riecht, der bastelt sich einen günstigen Streaming-Client mit dem Raspberry Pi. Ich zeige euch mal, wie das geht.

Was möglich ist
Sinn des Ganzen ist, dass ihr zwar Maus, Tastatur und Controller am Raspberry Pi stecken habt und eure Spiele bedient, aber die eigentliche Arbeit an irgendeinem Netzwerk-Rechner stattfindet. Der schickt dann nur noch Bilder und Ton über das Ethernet und der Raspberry spuckt die Signale aus. Wegen der Netzwerkanbindung entstehen natürlich leichte Ein- und Ausgabeverzögerungen, aber nach meiner Erfahrung ist das selbst in etwas trägen Netzwerken nur fatal, wenn jedes Einzelbild über Leben und Tod entscheidet.


Jeder Raspberry Pi beherrscht eine Auflösung von 1.920 x 1.080 Pixeln und verfügt über einen nativen HDMI-Ausgang. Das bedeutet, dass ihr den Mini-Computer an jedem HDMI-Bildschirm anschließen könnt, der HDMI bis Version 1.3a unterstützt (was die meisten sein dürften). Zusätzlich schiebt der Mini-PC den Sound über die HDMI-Buchse, ihr müsst also keine zusätzlichen Kabel zum Bildschirm verlegen.

Mit dem Streaming-Setup werdet ihr von jedem ordentlich ausgestatteten PC in eurem Netzwerk Spiele streamen können. Die Vorraussetzung ist, dass der PC über eine halbwegs aktuelle Nvidia-Grafikkarte verfügt (GTX 900-, GTX 900M-, GTX 800M-, GTX 700-, GTX 700M- und einige Karten aus der GTX-600-Serie) und das Gratisprogramm Geforce Experience installiert ist. Außerdem benötigt ihr einen Steam-Account. Das heißt nicht, dass ihr eure Spiele unter Steam gekauft haben müsst, denn ihr könnt auch anders installierte Spiele in eure Steam-Bibliothek aufnehmen. Die sind dann ebenfalls vom Raspberry Pi startbar.

Zusätzlich zum normalen Streaming über das Netzwerk (am besten mit Kabel), könnt ihr auch euren gesamten Desktop streamen. In der Theorie unterstützt Nvidias GameStream-Feature sogar Streaming über das Internet, aber das Ergebnis wäre wohl eher unansehnlich. Zusätzlich könnt ihr den Raspberry mit anderen Programmen auch zum kompletten Mediacenter ausbauen. Mit einem leicht modifizierten Kodi könnt ihr etwa Internetradio oder auch Filme von Streaming-Anbietern abspielen. Und das Schönste: da der Raspberry im schlimmsten Fall nur 12,5 Watt saugt, könnt ihr ihn immer eingeschaltet lassen!

raspberry

Was nicht möglich ist
Bisher ist mir keine Möglichkeit geläufig, mit dem Raspberry Pi von AMD-Grafikkarten zu streamen. Tut mir leid! Die einzigen mir bekannten Geräte, die das können, sind Valves Steam Link und (lustigerweise) Nvidias Shield. Beide Geräte sind teurer als ein Raspberry Pi, aber insbesondere der Steam Link inklusive aller notwendigen Kabel vereinfacht das Setup zu einem Plug & Play. Falls ihr einen Weg kennt, wie AMD-Freunde mit dem Pi streamen können, dann schreibt bitte einen Kommentar. Ich würde mich freuen!

Zusätzlich gibt es einige kleinere Probleme, denen man sich vor dem Installieren der Hard- und Software bewusst sein sollte. So ist Onlinespielen ein ziemliches No-Go. Die Ethernet-Schnittstelle des Raspberry Pi schafft zwar bis zu 100 Mbit/s, aber zum einen ist das weit entfernt von der Bandbreite, die HDMI liefern könnte (weiß der Geier, wie GameStream die Bilder so klein komprimiert, dass es kaum Verzögerungen gibt), zum anderen sorgen bereits kleine Netzwerkfluktuationen für kurze Bild- oder Tonausfälle. Während des Zockens darf also sonst kaum etwas in eurem Netzwerk passieren!

Des Weiteren machen manchmal Spiele mit separaten Launchern Probleme, bei denen ihr noch einmal auf "Start Game" klicken müsst. Falls ihr einen Weg findet, den Launcher zu umgehen, dann nutzt ihn - dann müsst ihr auch nicht vom Controller wieder zur Maus wechseln.

Letztes Problem: Bei meinen Experimenten war zwar das Bild flüssig, aber der Sound stets abgehackt. Ich hege allerdings den Verdacht, dass mein sehr umständlicher Netzwerkaufbau da dazwischenfunkt. Wenn ich die Zeit habe, werde ich hier noch einmal etwas herumbasteln, den Aufbau vereinfachen und euch die Ergebnisse nennen.

Generelles Pi-Setup
Was ihr braucht
  • Raspberry Pi 2 (Model B der 2. Generation ist besser, aber Model B bzw. B+ der 1. Generation gehen auch)
  • HDMI-Kabel
  • Tastatur
  • Maus
  • SD-Karte mit mindestens 8 GB Speicher
  • Micro-USB-Stromkabel (5V bei mindestens 1A)
  • Optional: USB-Hub
  • Optional: Ethernet-Kabel

Installation
Einen Raspberry Pi einzurichten ist glücklicherweise inzwischen sehr einfach. Ihr ladet euch von der Raspberry-Pi-Homepage den NOOBS Installer herunter, formatiert eure SD-Karte an einem Rechner mit Card Reader und kopiert anschließend alle Dateien von der heruntergeladenen Archivdatei auf die SD-Karte. Dann schließt ihr alles an den Raspberry dort an, wo es hineinpasst, zuletzt die Stromversorgung und schon sollte euer Screen den Installationsbildschirm zeigen. Dort müsst ihr nur noch das Betriebssystem Raspbian Jessie auswählen und nach kurzer Zeit findet ihr euch auf dem Desktop wieder!

Ein kurzer Hinweis zur Stromversorgung: Während fast jedes moderne Handyladekabel für Micro-USB-Anschlüsse für den Raspberry reichen sollte, solltet ihr lieber eins mit 2 oder 2,5 Ampere kaufen. Das liegt einfach daran, dass jedes Peripheriegerät auch ein wenig Strom zieht. Falls der Raspberry durch zu viele Geräte zu wenig Strom bekommt, wird er sich irgendwann komisch verhalten und Dinge tun, die ihr nicht möchtet.

Falls ihr mit dem Raspberry nicht nur streamen wollt, empfehle ich euch übrigens auch eine externe Festplatte. SD-Karten sind nämlich nicht darauf ausgelegt, dauernd Daten hin und her zu schieben und brennen irgendwann aus.

big-picture

Moonlight aufsetzen
Moonlight (ehemals Limelight) ist der Client, den ihr benötigt, um von eurem eingeschalteten PC zu streamen. Die einfache Methode erfolgt über die Github-Seite des Moonlight-Projekts. Dort ladet ihr euch die .jar-Datei runter, führt sie auf dem Raspberry Pi aus und folgt den Bildschirmanweisungen. Mehr Infos erhaltet ihr im Moonlight Setup Guide. Ich habe eine alternative Installationsmethode verwendet, auf die ich näher eingehen möchte. Dieser Installationsweg kommt von embedded-software-architecture.com und verlangt, dass ihr euch aus einer dritten Quelle Installationsdateien zieht. Falls euch das zu riskant ist, dann bleibt lieber bei der .jar-Datei.

Für den alternativen Installationsweg müsst ihr in der Menüleiste eine Konsole (das kleine, schwarze, rechteckige Icon) öffnen. Ihr müsst außerdem eure Anmeldedaten am Raspberry kennen. Üblicherweise ist der Nutzername raspberry und das Passwort pi, ich empfehle euch aber dringend, das nach der Erstinstallation zu ändern.

Habt ihr die Konsole geöffnet, dann gebt ihr nacheinander die folgenden Befehle Zeile für Zeile ein. Falls ihr gefragt werdet, ob ihr etwas wirklich tun wollt, dann drückt einfach die Taste J (oder Y, falls ihr euren Raspberry auf Englisch installiert habt).

sudo apt-get update
sudo apt-get dist-upgrade

sudo sh -c "echo 'deb http://archive.itimmer.nl/raspbian/moonlight wheezy main' >> /etc/apt/sources.list"
(das ist eine lange Zeile)

sudo apt-get update
sudo apt-get install moonlight-embedded


So ladet ihr zuerst Updates runter. Anschließend verbindet sich der Raspberry zu der angegebenen Webadresse und schreibt Daten in die Systemdatei sources.list. Danach installiert er Moonlight. Einige Schritte können etwas länger dauern - wartet immer darauf, dass in der letzten Zeile euer Anmeldename steht. Anschließend pairen wir den Raspberry mit dem PC. Dazu müsst ihr eventuell zuerst in Geforce Experience auf euren großen PC das GameStream einschalten. Anschließend macht ihr auf dem Raspberry mit folgenden Befehlen weiter:

mkdir ~/Moonlight
cd ~/Moonlight
moonlight pair [PC’s Hostname oder IP]


Die IP-Adresse eures Windows-PCs findet ihr auf verschiedene Arten heraus. Beispielsweise könnt ihr unter Windows das Programm Eingabeaufforderung starten und mit dem Befehl ipconfig eure IP einsehen (beginnt üblicherweise mit "192.168."). Oder ihr sucht nach euren Netzwerkverbindungen, sucht die Ethernetverbindung, rechtsklickt auf sie und seht die IP unter Status -> Details ein. Im Zweifelsfall sucht ihr einfach im Internet nach "lokale IP herausfinden" und ihr werdet auf jeden Fall mit abertausenden Lösungswegen zugespammt.

Ein erfolgreiches Pairing bemerkt ihr dadurch, dass sich auf eurem PC mit der Nvidia-Grafikkarte ein Gamestream-Fenster öffnet. Dort gebt ihr die Zahlenkombination ein, die euch der Raspberry Pi anzeigen sollte. Fertig! Anschließend gebt ihr nur noch folgenden Befehl ein:

moonlight stream

Und schon sollte sich sowohl auf eurem PC als auch auf dem Raspberry-Bildschirm Steam im Big-Picture-Modus öffnen. Übrigens: Xbox-360-Controller erkennt der Raspberry Pi inzwischen ohne zusätzliche Treiberinstallationen. Und Spiele, die ihr nicht in eurer Steam-Bibliothek habt, könnt ihr in Steam über den Menüpunkt "Spiele" hinzufügen.

Witcher 3 auf dem Röhrenfernseher
Der Raspberry Pi hat einen Composite-Video-Ausgang und eine Lautsprecher-Klinke. Und ich habe einen kleinen Röhrenfernseher im Keller. Da wäre es ja eigentlich Verschwendung, nicht mal zu probieren, The Witcher 3: Wild Hunt in 1080p auf diesen Bildschirm zu schieben, der wahrscheinlich älter ist als die meisten Mitarbeiter von CD Projekt RED.

001_fernseherDer Fernseher ist da. Wo ist Geralt?

002_raspberryAch, ich Idiot. Der Raspberry fehlt ja.

003_raspberry_bamSo.

004_raspberry_mistWarum geht es nicht? Wo ist Geralt?

005_controllerVielleicht fehlt der Controller?

006_controller_bamSo.

007_controller_mistImmer noch nicht?

008_compositeIch schließe dann mal das Videokabel an. Habe schon Verrückteres versucht.

009_composite_bamPasst.

010_composite_mistJa, ich habe auch nicht damit gerechnet, dass das jetzt klappt.

011_tastaturOh Mann, ich Honk! DIE TASTATUR!

012_tastatur_mistFuck.

013_ethernetZum Streamen braucht man Internet. Habe ich gehört.

014_ethernet_mistSelbst das Internet kann mir nicht helfen! WO IST GERALT?!

015_mausOkay, mal den Controller durch eine Maus erset---

016_stromHm, da lag noch so ein Stromdingens rum. Ich stecke das mal ein.

017_yeahesgehtOMG ES GEHT

018_koalaUnd weil ich es kann: Koala-Lautsprecher.

019_koala_bamBam.

020_koala_fuckyeahFuck yeah.

021_witcher3_raspberryHaha, es geht! Zwar nur in 16:9 auf einem 4:3-Bildschirm, aber es geht! Gleich kommt Geralt in 1080p!

022_witcher3_glorreichDa ist er!

023a_gerultLegendär.

024_riffiaLe. Gen. Där.


So, in diesem Sinne: Danke für's Lesen, ich hoffe, ihr hattet Spaß und/oder habt etwas gelernt! Wenn ihr weitere Fragen habt, dann stellt sie einfach in den Kommentaren - ich werde mein Bestes tun, sie zu beantworten!

Kommentare

Keldor
Gast
10. Februar 2016 um 00:18 Uhr (#1)
Danke für das Tutorial !
Hat einwandfrei funktioniert.

Falls es dich interessiert. Ich hatte das Problem, dass meine Verbindung mit GVE nach 60 Sekunden einfach abgerissen ist.
Derzeit scheint es wohl ein Problem in der Steam Version zu geben (https://github.com/irtimmer/moonlight-embedded/issues/292).

Dieser Fehler kann umgangen werden indem man, z.B. auf dem Desktop, eine Verknüpfung erstellt in der man "steam://open/bigpicture" als Speicherort und STEAMLINK als Name einträgt.

Diese Verknüpft man anschließend in der GVE und startet sie in der Raspberry Konsole mit "moonlight -app STEAMLINK". Anschließend hat alles funktioniert.

Nochmals danke für das Tutorial.
- Keldor
Rian
10. Februar 2016 um 14:01 Uhr (#2)
Danke für den Hinweis! Muss aber zugeben, dass ich gerade nicht weiß, was GVE sein soll. Aber wenn hier jemand mit demselben Problem aufschlägt, ist er bestimmt dankbar!
Jens
Gast
25. März 2016 um 20:55 Uhr (#3)
Hallo dailydpad,

ich möchte gerne, mit Hilfe von NVIDIA GeForce Experience, Spiele von meinem Hauptrechner auf mein Raspberry 3 Modell B streamen. Habe wie oben beschrieben auch alles beachtet und ausgeführt. Sobald ich aber "moonlight pair 192.168...." eingebe, kommt bei mir folgende Fehlermeldung: Cant connect to server 192.168.... Meine Windows Firewall habe ich zur testzwecken auch deaktiviert. Auch mein Router ist richtig konfiguriert. Leider bekomme ich trotzdem keine Verbindung zu meinem PC. Wie kann ich das Problem beheben?

Rian
25. März 2016 um 23:51 Uhr (#4)
Hallo Jens, gute Frage, die ich aus dem Stegreif schwierig beantworten kann. Hast du mit deinem Pi schon mal getestet, ob du Internetzugriff hast? Kannst du deinen PC vom Raspberry Pi aus anpingen? Und ich nehme mal an, du hast eine vollständige IP-Adresse benutzt, und nicht nur "192.168". Umgekehrt solltest du auch mal versuchen, den Pi vom PC aus anzupingen. Falls ein Ping in irgendeine Richtung nicht funktioniert, scheint es irgendwo Probleme beim Netzwerk zu geben.

Leider kann ich dir da auch nicht mehr schrecklich viel weiterhelfen. Ich habe zwar immer mal wieder mit Linux-Distributionen gearbeitet, aber ich würde mich weit aus dem Fenster lehnen, wenn ich behaupten würde, ich wäre mit dem Betriebssystem sehr versiert.
Jens
Gast
26. März 2016 um 14:23 Uhr (#5)
Hallo Rian,

erstmal Danke für die schnelle Antwort.
Der Raspberry Pi befindet sich im selben Netzwerk wie mein Gaming-Rechner und beide können sich gegenseitig anpingen bzw. es haben auch beide Internetzugriff. Die IP-Adresse habe ich auch vollständig eingegeben. Auch wenn du mir kein Lösungsvorschlag nennen kannst, bin ich Dir erstmal dankbar für die Anleitung, da sie die einzige ist, die wirklich funktioniert bzw. funkionieren sollte und auch sehr gut erklärt ist.
Rian
26. März 2016 um 19:38 Uhr (#6)
Danke für das Lob! Tut mir leid, dass ich dir da nicht weiterhelfen kann. Ich hoffe, du kriegst noch raus, woran es liegt! Falls du's schaffst, wäre es toll, wenn du hier kurz deinen Lösungsweg posten könntest, eventuell hat ja noch jemand das gleiche Problem.
Jens
Gast
27. März 2016 um 18:11 Uhr (#7)
Problem gelöst!

Es lag an dem Antivierenprogramm Kaspersky, das ich verwende. Dieses verweigert die Verbindung mit NVIDIA SHILD. Leider reicht es nicht aus es einfach zu deaktivieren. Man muss es aus dem Autostart von Windows entfernen und den Rechner dann Neustarten. Danach hat es bei mir funktioniert.
Rian
28. März 2016 um 23:24 Uhr (#8)
Ich lese in letzter Zeit sowieso gehäuft Meldungen von gruseligen Szenarios, in denen Antivirenprogramme furchtbare Sicherheitslücken ins System reißen. Mein Tipp: Keine verdächtigen Sachen runterladen und öffnen, Betriebssystem auf einer separaten Partition installieren, davon ein sauberes Image anlegen und wenn der Verdacht auf Virenbefall existiert, einfach das Betriebssystem platt machen und neu drüberbügeln.

Statistisch ist ohnehin jedes System verseucht, weil niemand mit Virenherstellern und Botnets mithalten kann. Lieber eine effektive Keule bereit halten statt auf ein brüchiges Netz zu setzen.
Gast
29. September 2016 um 15:29 Uhr
GASTNAME
E-MAIL (nicht öffentlich)
      
SICHERHEITSFRAGE
Mit wie vielen "d" schreibt sich "dailydpad"?
ANTWORT

Themen

Hardware
Themengebiet
Steam
Themengebiet
Tipps
Sparte - Wie repariere ich meinen Dreamcast? Wo importiere ich spiele? Ich werde online immer tot geschossen, was kann ich tun? Hier gibt es Hilfe.

Gefällt dir unser Artikel?

Ähnliche Artikel