Steam Box – PC Spiele auf dem Raspberry Pi mit Moonlight spielen (XBOX Controller, Nvidia Shield)

Spiele vom Gaming PC über WLAN auf dem Raspberry Pi streamen

Moonlight - Raspberry Pi Steam Box

In dieser Anleitung erkläre ich dir, wie du Steam Spiele von deinem Gaming PC über WLAN/Netzwerkabel auf deinen Raspberry Pi spielen kannst. Das hat den Vorteil, dass du deine Steam Spiele auf deinem Fernseher im Wohnzimmer spielen kannst, ohne das der laute und große Gaming PC auch im Wohnzimmer stehen muss.

Voraussetzungen:

  • PC mit einer GeForce Experience kompatiblen Grafikkarte (GTX 600/700/900) oder neuer
  • Raspberry Pi B oder Raspberry 2 mit eine laufenden Betriebsystem (z.B. Raspbian Jessie/Wheezy)
  • High-End Wireless Router (802.11n dual-band empfohlen) oder per Netzwerkkabel verbunden
  • Zugriff auf die Kommandozeile (direkt oder via SSH) des Raspberry

Wer keine Lust auf das einrichten hat und die 200€ mehr einem nicht weh tun, der sollte sich das NVIDIA Shield anschauen.
Nvidia Shield 500gb


Inhalt

  1. PC Einstellungen für Moonlight

    Du benötigst die GeForce Experience Software. Diese wird eigentlich bei der Installation der Grafikkartentreiber mit installiert. Falls die Software noch nicht installiert ist, kannst du sie hier herunterladen (http://www.geforce.com/geforce-experience/download). Nach der Installation muss der Computer unbedingt neu gestartet werden!

  2. Moonlight auf dem Raspberry Pi installieren

    Als erstes musst du das Moonlight Repository zu deiner Repository Liste hinzufügen.
    Öffne dazu die sources.list Datei mit dem nano Texteditor

    sudo nano /etc/apt/sources.list

    und füge folgenden Text am Ende der Datei ein.

    deb http://archive.itimmer.nl/raspbian/moonlight jessie main

    Beende den Texteditor mit ctrl+x und bestätige das die Änderung gespeichert werden soll.

    Aktualisiere die Paketliste und installiere Moonlight.

    sudo apt-get update && sudo apt-get install moonlight-embedded
  3. Moonlight Pair mit dem PC

    Nach der Installation von Moonlight auf dem Raspberry Pi musst du den Raspberry und den PC koppeln (pair).
    Dazu gibst du folgenden Befehl im Raspberry ein (Ersetze die IP mit der deines Gaming PC’s).

    moonlight pair 192.168.178.12

    Jetzt musst du den Code am Raspberry Bildschirm in deinem PC mit Steam eingeben (es müsste ein kleines Fenster aufgegangen sein)
    Moonlight pair koppeln Pin Steam Box PC

  4. Moonlight starten

    Verbinde den Raspberry mit einem Fernseher/Monitor. PC und Raspberry müssen eingeschaltet sein und über WLAN oder Netzwerkkabel mit dem selben lokalen Netzwerk verbunden sein.
    Mit dem nachfolgendem Befehl startest du Moonlight auf dem Raspberry.

    moonlight stream <IP des Game PC>

    Bei mir sieht der Befehl wie folgt aus moonlight stream 192.168.178.12
    Jetzt müsstest du auf dem PC und dem Raspberry die Steam Oberfläche sehen.
    Steam Big Picture Moonlight

  5. Xbox Controller am Raspberry Pi anschliessen (optional)

    Ich benutze den XBox 360 USB am liebsten und beschreibe in diesem Abschnitt welche Einstellungen du vornehmen musst, um den XBox 360 Controller mit Moonlight zu verwenden. Dieser wird zwar standardmäßig erkannt, aber so schaltest du das nervige Blinken am Controller ab und die Steuerung verbessert sich.

    Entferne xpad vom Kernel Mmodul

    sudo modprobe -r xpad

    Blacklist das xpad Kernel Module. Öffne die Datei “gamepad.conf” mit dem Nano Editor.

    sudo nano /etc/modprobe.d/gamepad.conf

    und füge diesen Text ein

    blacklist xpad

    Installiere xboxdrv (Xbox360 USB Gamepad Linux Treiber). Dieser ist kompatibel mit Xbox 1, Xbox 360 USB und Xbox 360 Wireless Gamepad.

    sudo apt-get install xboxdrv

    xboxdrv soll beim hochfahren des Systems automatisch mit gestartet werden.
    Öffne dazu die Datei rc.local und füge folgenden Befehl am Ende ein. Beende danach den Nano Editor mit ctrl+x und bestätige die Änderung mit y.

    sudo nano /etc/rc.local

    und füge folgende Zeile vor “exit 0” ein

    xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --dpad-as-button --silent &
    INFO: Die Option –trigger-as-button besagt, dass die hinteren Wippschalter als Knöpfe fungieren. Dies ist bei Rennspielen nicht erwünscht und diese Option sollte dann weggelassen werden.
    Alle xboxdrv Optionen http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html

    Jetzt benötigt Moonlight noch eine map Datei, damit die Knöpfe vom Xbox Controller zugeordnet werden können.
    Erstelle zuerst einen Ordner in dem du alle Moonlight relevanten Daten abspeicherst.

    mkdir ~/moonlight

    Navigiere in den neu erstellten moonlight Ordner

    cd ~/moonlight

    und lade diese voreingestellte .map Datei herrunter.

    wget https://raw.githubusercontent.com/RoelofBerg/moonlightpisteambox/master/xbox.map

    Jetzt kannst du mit dem folgendem Befehlt Moonlight starten und lädst die .map Datei für den Xbox Controller mit.

    moonlight stream -mapping xbox.map 
  6. Moonlight automatisch beim booten des Raspberry Pi starten

    Falls du nicht mehr in dem moonlight Ordner bist, navigiere dort hin.

    cd ~/moonlight

    Erstelle eine SH-Script Datei mit dem Nano Texteditor

    nano autostart.sh

    und füge folgenden Text ein. Ersetzte [IP des Game PC] mit der IP deines PC.

    
    #!/bin/bash
        
    #Wait until steam is reachable
    echo Verbindung zum PC wird hergestellt ...
    while ! nc -z -w5 [IP des Game PC] 47989 &>/dev/null; do :; done
    
    #Start moonlight
    echo …mit PC verbunden, starte moonlight
    cd ~/moonlight
    moonlight -mapping xbox.map stream [IP des Game PC]
    

    Mach das Script ausführbar.

    chmod +x autostart.sh

    Mit diesem Befehl kannst du testen ob dein Script funktioniert.

    ./autostart.sh

    Wenn alles funktioniert solltest du jetzt Steam auf deinem TV sehen.
    Begib dich zurück zur Console in dem du oben rechts auf den Ausschalten-Knopf in Steam klickst und “Big Picture verlassen” wählst.

    Um das Script beim hochfahren ausführen zu können, schalten wir die Passwortabfrage beim booten ab und loggen den Benutzer pi an.

    sudo raspi-config

    und wählen dann unter Punkt 3 “Boot Options” die Option B2 “Console Autologin Text console, automatically logged in as ‘pi’ user” (funktioniert so nur bei Raspbian Jessie). Wie du dich unter Raspbian Whezzy automatisch anmeldest wird in diesem Beitrag erklärt.

    Ab jetzt wird der Benutzer pi nach dem booten automatisch eingeloggt, ohne ein Passwort eingeben zu müssen. Das kannst du mit sudo reboot testen.

    Jetzt musst du noch das “autostart.sh” Script nach dem Anmelden ausführen lassen.
    Öffne die Datei profile
    Befehl für Jessie:

    sudo nano /etc/profile

    Befehlt für Wheezy

    sudo nano /etc/rc.local

    und füge diesen Text am Ende der Datei ein.

    . ~/moonlight/autostart.sh

    Beende den Nano Texteditor mit ctrl+x und bestätige die Änderung mit y.

    Nach einem Neustart solltest du jetzt automatisch eingeloggt sein und moonlight sich starten.

Liste aller Moonlight Optionen/Parameter

Ersetze [options] mit den gewünschten Befehlen. Du kannst mehrere benutzen, musst sie aber durch ein Leerzeichen trennen.
moonlight [options] host

Actions:
map erstelle ein mapping file für gamepad
pair Koppel dieses Gerät mit dem PC
stream Stream PC zu diesem Gerät
list Liste von verfügbaren Spielen und Programmen
quit Beende den Stream
help Zeige alle Optionen

Global options:
config [config] Lade eine Konfigurationsdatei
save [config] Speichert eine Konfigurationsdatei

Streaming options:
720 verwende 1280×720 Auflösung (standard)
1080 verwende 1920×1080 Auflösung
width [width] Horizontale Auflösung (standard 1280)
height [height] Vertikale Auflösung (standard 720)
30fps verwende 30fps
60fps verwende 60fps (standard)
bitrate [bitrate] setze die Bitrate in Kbps
packetsize [size] setze die max Paketgröße in Bytes
app [app] Name einer zu streamenden App
nosops GFE darf nicht die Spieleinstellungen verändern
localaudio Audio lokal
keydir [directory]\tLoad Verschlüsselungscode von einem Ordner laden

I/O options:
mapping [file] verwende [file] als Gamepad mapping Konfigurationsdatei (muss vor -input)
input [device] verwende evice] als Eingabegerät. Can be used multiple times
audio [device] verwende [device] als ALSA Audio Ausgabegerät (standard sysdefault)

Moonlight schließen

Du kannst mit dieser Tastenkombination das Moonlight Programm beenden, falls es sich mal aufhängt.
Ctrl+Alt+Shift+Q

Gib deine Stimme ab!

15 Likes
Upvote Downvote

Total votes: 8

Upvotes: 8

Upvotes percentage: 100.000000%

Downvotes: 0

Downvotes percentage: 0.000000%

Geschrieben von Ben

#Blogger #Designer #RaspeberryFan #Self-Employed #Developer #Javascript
TwitterGithubThingiverse

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.