Transformer son raspberry en console de streaming

Depuis quelques années, nous avons vu apparaître sur le marché Steam LinkNvidia Shield et autres consoles de streaming. Ces consoles s’appuient sur la puissance de votre PC pour streamer des jeux et pouvoir en bénéficier sur tous vos téléviseurs, vos tablettes et vos téléphones. Aujourd’hui, nous allons voir comment obtenir la même expérience avec un budget moins élevé : nous allons transformer notre Raspberry Pi en console de streaming.

Pour ce faire, nous allons utiliser la technologie GameStream de Nvidia et le projet open source Moonlight.

Prérequis

Pour pouvoir utiliser GameStream, il nous faudra quelques prérequis :

  • Une carte graphique compatible : GeForce GTX 1080, 1070, 1060, Titan X, 900, 700, 600, 900M, 800M, 700M ou 600M
  • Une bonne connexion entre le PC et le Raspberry (filaire ou routeur 802.11n double bande)
  • GeForce Experience 2.1.1 ou supérieur installé sur le PC (téléchargeable ici)
L’installation de Steam est optionnelle mais elle nous permettra de bénéficier de l’expérience Big Picture. Nous pourrons retrouver toute notre bibliothèque de jeux et les lancer facilement.

Pour activer GameStream, ouvrez GeForce Experience et allez dans la partie « Paramètres ». Cliquez ensuite sur « Shield » et assurez-vous que GameStream est activé.

Activation de GameStream

Une fois ces installations effectuées, nous pouvons passer à l’installation de Moonlight.

Installation de Moonlight

Connectez-vous sur votre Raspberry. Nous allons commencer par ajouter la source pour récupérer Moonlight. Éditez le fichier /etc/apt/sources.list :

sudo nano /etc/apt/sources.list

Ajoutez la ligne suivante :

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

Installez la clé GPG :

wget http://archive.itimmer.nl/itimmer.gpg
sudo apt-key add itimmer.gpg

Enfin, installez Moonlight :

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

Moonlight est maintenant installé. Nous sommes prêts à relier notre PC et le Raspberry et commencer le streaming.

Appairage et streaming

Pour appairer le Raspberry au PC, lancez la commande suivante :

moonlight pair <ip-du-pc>

Un code PIN doit s’afficher dans votre console et une fenêtre doit apparaître sur le PC. Rentrez le code PIN dans celle-ci.

Appairage Moonlight

Nous pouvons maintenant tester le streaming, lancez la commande suivante :

moonlight stream

Si vous avez Steam installé, Big Picture devrait se lancer sur votre ordinateur et une réplique de votre écran devrait apparaître sur l’écran relié au Raspberry.

Réplication des écrans

L’écran de gauche est relié au PC, celui de droite au Raspberry.

Vous pouvez lancer un jeu depuis Big Picture pour tester le fonctionnement. Pour quitter Big Picture, cliquez sur l’icône I/O en haut à droite et choisissez « Arrêter le streaming ».

J’ai rencontré quelques soucis lors du lancement de Moonlight. Si vous êtes aussi dans ce cas, essayez de mettre à jour GeForce Experience et les drivers Nvidia vers leur dernière version.

Si vous n’utilisez pas Steam, vous pouvez choisir l’application à lancer avec Moonlight en lançant la commande suivante :

moonlight list

Celle-ci vous fournira la liste des jeux compatibles détectés. Vous pouvez ensuite les lancer avec la commande suivante :

moonlight stream -app #<index-du-jeu>
# ou
moonlight stream -app "<nom-du-jeu>"

Configurations avancées

Votre installation devrait fonctionner mais il est possible que vous vouliez customiser certaines options pour améliorer votre station de jeu.

Qualité d’affichage

Par défaut, Moonlight se lancera en 720p et 60fps. Il est possible de modifier ces options (détail ici). Par exemple, vous pouvez utiliser la commande suivante pour lancer en 1080p :

moonlight stream -1080

Avec un Raspberry Pi 3 et une connexion filaire, j’ai pu faire tourner Moonlight en 1080p 60fps sans aucune lenteur !

Audio

Dans mon cas, Moonlight a toujours voulu utiliser la sortie audio HDMI (même en ayant configuré le jack par défaut avec raspi-config). J’ai dû utiliser la commande suivante pour utiliser la sortie jack :

moonlight stream -audio local

Connecter une manette

Pour pouvoir profiter pleinement de votre installation, nous allons voir comment installer une manette pour votre raspberry. Cette étape dépendra de votre manette mais je vais vous donner quelques configurations pour les manettes Xbox.

Si vous disposez d’une manette Xbox ou Xbox 360, le package xboxdrv devrait suffir. Pour l’installer :

sudo apt-get install xboxdrv

Si comme moi vous avez une manette Xbox One, l’installation sera un peu plus compliquée. Il faudra installer la version de xpad supportant ces manettes :

sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo apt-get install dkms
sudo dkms install -m xpad -v 0.4
sudo reboot

S’il vous manque des headers lors de l’installation de xpad, vous pouvez exécuter les commandes suivantes pour les installer :

sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; sudo chmod +x /usr/bin/rpi-source &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; /usr/bin/rpi-source -q --tag-update
sudo apt-get install bc
sudo rpi-source

Si tout ce passe bien, votre manette devrait être détectée après le reboot. Nous allons maintenant créer le mapping des touches de la manette, ce qui permettra d’avoir une configuration correcte des touches :

moonlight map -input /dev/input/event0 xbox-controller.conf

Suivez ensuite les instructions à l’écran en appuyant sur les touches demandées et votre manette sera entièrement configurée ! Vous pouvez ensuite spécifier un fichier de mapping à Moonlight de la façon suivante :

moonlight stream -mapping xbox-controller.conf

Dans la partie précédente, votre manette ne sera peut-être pas associée à /dev/input/event0. Vous pouvez exécuter la commande suivante pour lister les contrôleurs détectés et voir l’handler associé :

cat /proc/bus/input/devices

Conclusion

J’espère que l’installation de votre console de streaming s’est bien passée. J’ai personnellement rencontré plusieurs problèmes au cours de celle-ci (principalement liés à la manette) mais le résultat en valait la chandelle. N’hésitez pas à laisser un commentaire si vous bloquez sur une étape.
Et sur ce, bon jeu !

JavaScript and Progressive Web Apps enthusiast
☕ Coffee lover ☕
Home automation newbie
Tu aimes cet article ? Alors partage le Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on Tumblr

2 réponses

  1. letailleur dit :

    Bonjour, peut on utiliser 2 manettes xbox one relier avec l’adaptateur sans fils en clé usb windows 10 ? Merci

    • Antoine Colmard dit :

      Bonjour, apparemment le support pour l’adaptateur Xbox One n’est pas encore arrivé.
      Cependant, certaines manettes Xbox One Wireless peuvent fonctionner directement via Bluetooth avec le raspberry sans avoir besoin de l’adaptateur.
      Il y a quelques opérations à effectuer pour que tout fonctionne, je te recommande de suivre les étapes sur cet article ou cette vidéo.
      Bon courage et n’hésite pas à nous faire des retours !

Laisser un commentaire