Nvidia GameStream mit dem Raspberry Pi

© Nikita Chisnikov, 123RF

Verbunden

Der Raspberry Pi bietet viele Einsatzmöglichkeiten, aber für Hardcore-Gamer hat er wenig in petto. Doch im Zusammenspiel mit einem Gaming-PC mit Nvidia-Grafikkarte und Limelight mutiert der RasPi flugs zum GameStream-Empfänger.

Der Raspberry Pi ist mittlerweile in vielen Bereichen der IT- und Bastler-Szene zu Hause – ob mit OpenELEC oder Raspbian als Mediacenter, mit Samba und NFS als File-Server oder einfach nur als kleiner, handlicher Linux-PC. Doch der Rechenzwerg birgt noch eine weitere Fähigkeiten, die ihm kaum ein Anwender zutrauen würde: Gaming auf grafisch hohem Niveau.

Statt einsam vor dem Rechner im Zimmer möchte man lieber gemeinsam mit Familie oder Freunden vor dem großen Fernseher im Wohnzimmer spielen. Dafür den dicken Tower-PC in die Stube zu tragen ist allerdings auf die Dauer etwas mühsam. Doch es gibt eine ebenso simple wie geniale Lösung für das Problem: den Raspberry Pi. Dazu muss allerdings im Gaming-PC eine Nvidia-Grafikkarte werkeln.

Limelight

Den inoffiziellen und quelloffenen Limelight-Client [1] von Iwan Timmer gibt es für Android, Amazons Kindle-Produkte, den PC und eben den Raspberry Pi. Die Software übernimmt dabei die Funktion eines mit Nvidia GameStream kompatiblen Clients, täuscht also ein Nvidia Shield [2] vor. Limelight erlaubt, jegliche Inhalte, die auf dem heimischen Windows-Desktop erscheinen, in Echtzeit über das Netzwerk auf ein anderes Gerät zu übertragen. Das wäre an sich noch keine besondere Leistung, gäbe es da nicht den Rückkanal: Limelight überträgt die Signale einer am Client angeschlossenen Maus, Tastatur oder eines Controllers zurück zum PC. Damit erübrigen sich lange Kabel oder gar eine Funkverbindung in den Nachbarraum.

Doch einen Schritt zurück: Welche Voraussetzungen muss der Spiele-PC erfüllen, damit Limelight funktioniert? Sie benötigen zwingend einen PC oder Laptop mit Microsoft Windows (XP SP3 oder neuer) sowie einer Nvidia-Grafikkarte, die die GameStream-Technologie [3] unterstützt. Dies umfasst alle Geräte, auf denen sich die von Nvidia angebotene GeForce Experience [4] in Version 2.2.2 oder neuer installieren lässt. Des Weiteren darf das Netzwerk nicht lahm ausfallen. Ein 100-Mbit/s-Ethernet reicht aus, eine wacklige WLAN-Verbindung eher nicht.

Zu guter Letzt benötigen Sie noch einen Raspberry Pi Modell B, nicht zwingend ein Gerät der zweiten RasPi-Generation – selbst die erste Version des Raspberry Pi mit 256 MByte Arbeitsspeicher und Single-Core-CPU liefert schon ein flüssiges Streaming-Ergebnis. Den RasPi versehen Sie mit Maus und Tastatur, einem Controller oder jedem anderen Eingabegerät, das Sie zum Spielen bevorzugen.

Installation

Von einem aktuellen Raspbian ausgehend, kümmern Sie sich im ersten Schritt um die korrekte Wahl der Bildschirmauflösung und die passende Verteilung des Arbeitsspeichers auf CPU und GPU des Raspberry Pi. Das erledigen Sie in einem Texteditor, indem Sie die config.txt von der Boot-Partition der Speicherkarte bearbeiten. Dazu starten Sie den RasPi ohne grafische Umgebung, melden sich im virtuellen Terminal an und öffnen die Datei zum Beispiel im Texteditor Nano (Abbildung 1):

$ sudo nano /boot/config.txt

Üblicherweise liefert der Raspberry Pi seine Bilder an einen Flachbildmonitor oder Fernseher aus. Daher empfiehlt sich die Auswahl des HDMI-Modus und eine Full-HD-Auflösung bei Vollbildern. Die Verteilung des Arbeitsspeichers übernimmt der Parameter gpu_mem. Für den Raspberry Pi 1 mit 256 MByte RAM haben sich 128 MByte bewährt, bei einem aktuellen Raspberry Pi 2 mit 1024 MByte Arbeitsspeicher dürfen es durchaus 256 MByte sein (Listing 1). Mit [Strg]+[X] schließen Sie den Editor und speichern die Änderungen im selben Zug ab, die Abfrage bestätigen Sie mit [J].

Listing 1

 

hdmi_drive=2
hdmi_group=1
hdmi_mode=31
gpu_mem=256
Abbildung 1: Über die config.txt teilen Sie dem Grafikchip des Raspberry Pi ausreichend Arbeitsspeicher zu.

Im nächsten Schritt installieren Sie über die Paketverwaltung das Oracle Java Development Kit [5] sowie die Bibliothek libopus0 (Listing 2, erste Zeile). Sollte bereits eine andere Java-Version installiert sein, dann bestimmen Sie mit dem Kommando aus der zweiten Zeile die Java-Version 8 als Voreinstellung, da Oracle Java in Version 7 zu Abstürzen führt. Die Auswahl gelingt durch Eintippen der entsprechenden Nummer und das folgende Bestätigen mittels der Eingabetaste.

Listing 2

 

$ sudo apt-get install oracle-java8-jdk libopus0
$ sudo update-alternatives --config java

Nach Abschluss der Vorarbeiten fehlt nur noch Limelight selbst. Das aktuelle Release finden Sie als limelight.jar [6] auf dem Github des Projekts, alternativ enthält die Heft-DVD Limelight Embedded 1.2.2 für den Raspberry Pi. Die Datei müssen Sie nicht groß installieren: Kopieren Sie sie einfach in Ihr Home-Verzeichnis und rufen Sie das Programm aus dem Terminal heraus auf (Listing 3).

Listing 3

 

$ java -jar limelight.jar pair PC-IP
Please enter the following PIN on the target PC: 1234
pair Paired successfully

Die Option pair sorgt dafür, dass Limelight versucht, eine Verbindung zum Rechner mit der angegebenen IP-Adresse zu initialisieren. Limelight akzeptiert dabei neben IPv4- und IPv6-Adressen auch den Namen des Windows-PCs. Die IP-Adresse des Windows-PCs ermitteln Sie am schnellsten, indem Sie dort auf dem Desktop [Windows]+[R] drücken, cmd als Befehl eintippen und in der Konsole mit ipconfig die Netzwerkkonfiguration des Rechners auslesen.

Nach dem erstmaligen Start von Limelight erscheint auf dem Ziel-PC ein Fenster, in das Sie die in der Kommandozeile des Raspberry Pi angezeigte 4-stellige PIN (im Beispiel aus Listing 3 die "1234") übertragen (Abbildung 2). Nach erfolgreichem Pairing beendet sich Limelight auf dem RasPi wieder. Danach konfigurieren Sie den Windows-PC: Öffnen Sie dazu GeForce Experience und wechseln Sie in der Anwendung zum Register Einstellungen und dort zu GameStream (Abbildung 3).

Im unteren Bereich tragen Sie hier Spiele ein, die Sie auf den Raspberry Pi streamen möchten. Das Plus-Symbol erzeugt einen neuen Eintrag, wählen Sie dabei am besten einen kurzen und prägnanten Namen, auch die Verpackungsgrafik hilft, später das Spiel schnell wiederzufinden. Das Ziel zeigt auf die auszuführende Datei des Spiels, der Startpunkt auf den Installationsordner. Die getroffenen Einstellungen lassen sich nachträglich über das Stift-Icon noch ändern.

Abbildung 2: Nach dem ersten Start von Limelight erscheint auf dem Ziel-PC ein Fenster und fragt nach der auf dem RasPi angezeigten 4-stelligen PIN.
Abbildung 3: Auf dem Spiele-PC definieren Sie mithilfe von GeForce Experience, welche Spiele es zu streamen gilt.

Als nächsten Schritt überprüfen Sie, ob Limelight auf dem Raspberry Pi die eingetragenen Spiele auch findet. Dazu wechseln Sie wieder zur Konsole des Mini-Rechners und starten abermals Limelight über den entsprechenden Java-Aufruf. Als Option geben Sie diesmal list an, gefolgt von der IP-Adresse des Windows-Rechners. Daraufhin gibt Limelight eine Liste mit den bereits konfigurierten Spielen aus (Listing 4, Zeile 1).

Verfügen Sie auf dem PC über eine Steam-Installation, dann müsste Ihnen dabei auffallen, dass Limelight mehr Spiele auflistet, als Sie in GeForce Experience konfiguriert haben: GameStream arbeitet eng mit Steam zusammen und fügt alle Spiele automatisch dem GameStream-Angebot hinzu. Auch Steam selbst lässt sich – inklusive aller Social-Media-Funktionen und all Ihrer Spiele – im Big-Picture-Modus über den Raspberry Pi auf den Flachbildfernseher streamen; doch dazu später mehr.

Listing 4

 

$ java -jar limelight.jar list PC-IP
Search apps
 Portal 2
 Steam
 Sid Meier's Civilization V (DX 11)
 DESKTOP
 [...]
$ java -jar limelight.jar -app DESKTOP stream PC-IP

Für den Einstieg übertragen Sie zum Test den Desktop des Windows-Rechners auf den Fernseher. Richten Sie dazu eine entsprechende App ein (siehe Kasten "Desktop als Stream") und rufen Sie diese anschließend auf dem RasPi über die Option -app auf (Listing 4, Zeile 8). Abhängig von der Generation des RasPi erscheint das Bild des PC-Desktops mehr oder weniger schnell auf dem Flachbildschirm. Höchstwahrscheinlich stimmen bei diesem ersten Test die Auflösung und das Seitenverhältnis noch nicht, sodass sich ein unscharfes Bild ergibt. Das liegt jedoch nicht an Limelight, sondern an den noch unzulänglichen Standardeinstellungen.

Desktop als Stream

Limelight überträgt mit einem kleinen Trick auch den Windows-Desktop auf den Raspberry Pi. Drücken Sie dazu in GeForce Experience auf das rechtsbündig angeordnete Plus-Symbol und geben Sie im sich daraufhin öffnenden Fenster (Abbildung 4) als Ziel C:\Windows\System32\mstsc.exe an; die Wahl eines Namens steht Ihnen frei. Die in diesem Artikel gezeigten Beispiele nutzen DESKTOP als Name.

Abbildung 4: Den Windows-Desktop fügen Sie in GeForce Experience wie ein Spiel hinzu.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

06/2018
Raspberry 3 Modell B+

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial eines Mini-PC. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Auf vielen Kanälen

    Die IoT-Welt spricht MQTT. Das robuste Protokoll eignet sich aber nicht nur für die Industrie, sondern auch für den Einsatz in den eigenen vier Wänden.

  • Stabübergabe

    Ist das Prototyping erst einmal abgeschlossen, dann darf ein günstiger Mikrocontroller wie der MSP430 das Ruder übernehmen.

  • Einfach eingesteckt

    Mit dem Mediastick von Western Digital erweitern Sie einen Fernseher auf einfache Weise um ein Compute-Modul. In der Praxis lauern aber einige Fußangeln.

  • Laubenpieper

    Mit Teamviewer IoT passt der Remote-Desktop-Spezialist seine Software an die Anforderungen im Internet der Dinge an. Dabei bleibt der Raspberry Pi ein wichtiges Element.

  • Im Labor

    Es gibt Situationen, die eine genauere Analyse erfordern, als der Strommesser aus dem Baumarkt sie liefert. Ein Selbstbaumodul samt Pi Zero zeichnet Messdaten für die spätere Auswertung auf.

  • HTTPS für alle

    Mit Caddy gelingt es auch unerfahrenen Anwendern, einen Webserver vernünftig und sicher aufzusetzen. Dabei reduziert er das üblicherweise komplexe Setup von HTTPS auf ein Minimum.

  • Informativ

    Kiosksysteme als interaktives Informationsangebot verursachen in Anschaffung, Betrieb und Wartung meist erhebliche Kosten. Raspberry Digital Signage dagegen bietet eine Lösung für das kleine Budget.

  • Logisch, oder?

    Digitale Schaltungen mit Bleistift und Papier zu zeichnen, gerät auf die Dauer umständlich. Mit Logisim dagegen entwerfen Sie Schaltungen nicht nur, sondern können sie auch direkt testen.

  • Smarter Schreiberling

    Gerade kleine Texteditoren für die Konsole verfügen oft über erstaunlich umfangreiche Fähigkeiten – da macht Micro keine Ausnahme.