Spiele-Streaming mit dem Raspberry Pi (Moonlight/Sunshine)

Moonlight und Sunshine sind eine Open-Source-Streaming-Kombination die es ermöglichen, Spiele von einem leistungsstarken PC auf andere Geräte wie Fernseher, Tablets oder den Raspberry Pi zu streamen. Dabei nutzt Moonlight das NVIDIA Game-Stream-Protokoll, das ursprünglich für NVIDIA SHIELD-Geräte entwickelt wurde, um Spiele über das Netzwerk mit minimaler Latenz und hoher Bildqualität zu übertragen. Sunshine ist dabei die Open-Source Alternative zum NVIDIA Game-Stream-Server.
Der nachfolgende Beitrag geht auf die Installation beider Komponenten ein, wobei die Server-Seite (Sunshine) ein Linux-Desktop und die Client-Seite (Sunshine) ein Raspberry Pi darstellt.

Installation von Sunshine

Für die Installation des Streaming-Servers navigieren wir auf die Github-Seite des Sunshine Projekts und klicken dort auf die neueste Version:

Dort scrollen wir ein wenig runter und wählen die für uns geeignete Variante des Betriebssystems aus:

In meinem Fall entscheide ich mich für das sunshine-ubuntu-24.04-amd64.deb Paket. Sobald de Datei heruntergeladen wurde, öffnen wir ein Terminal, navigieren in den entsprechenden Ordner und installieren das Paket mit dem folgenden Befehl:

sudo apt install ./sunshine-ubuntu-24.04-amd64.deb

Benutzt anstelle von apt die jeweilige Paketverwaltung eurer Distribution und passt den Dateinamen ggf. an.
Falls euch Abhängigkeitsprobleme erwarten, löst ihr diese einfach hiermit:

sudo apt --fix-broken install

In der Kontextsuche sollte nun Sunshine auffindbar sein:

Ein dieser Stelle möchte ich betonen, dass ich auf einen seltsamen Bug gestoßen bin, der den orca Screenreader parallel mit dem Ersteinrichtungsbildschirm von Ubuntu ausführt, sobald ich Sunshine über die grafische Oberfläche starte. Aus diesem Grund ist der Start von Sunshine über das Terminal eher angeraten:

sunshine

Der darauf folgende Text innerhalb des Terminals sollte bekannt geben, dass die Applikation gestartet wurde:

Dort ist freundlicherweise auch die Adresse des Servers hinterlegt, die wir nun ansteuern werden:

Das Sicherheitsrisiko, welches von unserer eigens gehosteten Applikation ausgeht, gehen wir ein …

… und landen auf der Login-Seite, von der wir aus direkt das initiale Passwort setzen. Damit wäre der Dienst bereits nutzbar. In der oberen Leiste findet sich der Punkt Applications. Darauf geklickt gelangen wir auf eine neue Seite über die wir mit Add New neue ausführbare Programme hinzufügen können:

Das Menü erweitert sich und wir können unter Application Name einen Namen für die Anwendung angeben. Außerdem wird weiter unten unter Command das eigentliche Kommando für den Funktionsaufruf angegeben. In meinem Fall ist es das Steam-Spiel ‘Völgarr the Viking’:

Darüber hinaus haben wir noch die Möglichkeit, dem Eintrag ein Cover-Bild zu verpassen. Hierzu klicken wir auf Find Cover und suchen uns eines aus den gefundenen Bildern aus. Wird keins gefunden oder gefällt uns die Auswahl nicht, können wir auch ein eigenes angeben, indem wir den Hyperlink des gewünschten Bildes in der Adresszeile angeben.
Wir speichern das ganze mit einem Klick auf Save.

Installation von Moonlight auf dem Raspberry Pi

Bei der Wahl des Betriebssystems für den Raspberry Pi in seiner Streaming-Rolle mit Moonlight genügt ein Raspberry Pi OS Lite. Soll der Raspberry ohnehin nur für diesen einen Zweck genutzt werden, brauchen wir nämlich keine grafische Oberfläche. Die Installation auf die SD-Karte erledigen wir am bequemsten mit dem rpi-imager.
Nachdem das Betriebssystem installiert und die Ersteinrichtung samt Netzwerkeinstellung vorgenommen wurde (und wir im Idealfall per SSH auf das Gerät zugreifen können), geht es mit der Installation von Moonlight weiter. Dies erledigen wir mit diesen beiden Befehlen:

curl -1sLf 'https://dl.cloudsmith.io/public/moonlight-game-streaming/moonlight-qt/setup.deb.sh' | distro=raspbian codename=$(lsb_release -cs) sudo -E bash
sudo apt install moonlight-qt

Unter Umständen wird eine ganze Reihe an Abhängigkeiten gleich mit installiert.

Start des Streamings

Anschließend kann moonlight mit dem Befehl …

moonlight-qt

… gestartet werden. Auf dem Bildschirm sollte sich etwas tun und der vorhandene Sunshine-Server im Netzwerk zu sehen sein:

Klicken wir auf den angezeigten Eintrag, öffnet sich ein Fenster mit dem Hinweis, dass wir einen Code auf der Zielmaschine (zwecks Pairing) eingeben sollen.

Zurück auf der Sunshine-Oberfläche klicken wir auf den oberen Punkt Pin und tragen dort den zuvor angezeigten Pin ein:

Damit ist das Pairing abgeschlossen und die Streamerei kann losgehen!
Klicken wir nun nochmals über die Moonlight-Oberfläche (also vom Raspberry aus) auf das gewünschte Gerät, gelangen wir in die Auswahlliste der vordefinierten Applikationen (die, wie zuvor erwähnt, innerhalb der Sunshine Web-Oberfläche unter Applications zu finden sind). Starten wir nun beispielsweise Steam, sollte Steam im Big Picture Modus starten:

Auch das zuvor hinzugefügte Spiel Völgarr wird ohne weiteres direkt gestartet:

Möchten wir Moonlight auf dem Raspberry Pi direkt beim hochfahren starten, können wir dies über einen Cronjob einrichten:

### Cronjob Editor starten
crontab -e

### Cronjob anlegen
@reboot moonlight-qt

Somit würde der Raspberry Pi bei jedem Boot direkt in die Moonlight-Oberfläche starten.

Bildquellen:
Mond-Bild von Clker-Free-Vector-Images auf Pixabay
Sonne-Bild von Clker-Free-Vector-Images auf Pixabay
Drahtlos-Verbindung-Bild von Samuel1983 auf Pixabay
Computer-Tower-Bild von OpenClipart-Vectors auf Pixabay

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen