Moonlight avec Jarvis

Author: 
crychaor

Pour rappelle, Moonlight est un programme gratuit et en libre distribution.

J'ai essayé d'être le plus claire et le plus précis possible pour éviter toutes erreurs. J'écris des choses qui peuvent être des évidences pour certains mais par pour d'autres. J'espère que ceux qui sont plus connaisseur que moi ne le prendront pas mal.

Explication: Moonlight vous permet de streamer Steam pré-installé sur votre pc pour diffuser l'image sur votre écran de Télévision ou sur le moniteur de votre choix sur lequel est installer votre Raspberry:

Durée de l'installation et de la configuration : 15 minutes à 30 minutes

Jarvis continuera de tourner en fond. Vous pourrez soit configurer jarvis pour quitter steam par commande vocal ou bien vous pouvez quitter l'application avec la manette.

Intérêt: vous utilisez la puissance de calcule de votre ordinateur de bureau pour jouer sur l'écran de votre choix sans aucun perte de qualité. La diffusion se fera en 1080 Pixel et à 60 FPS.

Vous pouvez biensur utiliser une souris sans fils directement connectée au raspberry pour naviguer dans les menus ( utile pour certains émulateurs si vous en utilisez et que vous les avez rattachez à votre steam)

Quand on préfere se poser sur un canapé confortable pour profiter de ses jeux. ( oui je suis une feignasse je sais)  

les prérequis:
Sur votre PC bureau:
Carte graphique Geforce ( 400 series, 500 series et supérieure)
Geforce experience d'installer

Sur votre Raspberry:
Manette de jeux ( xbox 360 filaire automatiquement reconnu sur le raspberry et prêt à l'emploie sans avoir de pilote supplémentaire à installer)
Jarvis installer

Lets go :

Dans un premier temps il faut configurer Geforce Experience pour qu'il accepte de streamer en local. On va dans préférence => gamestream => cocher la case activer ce PC pour le streaming de jeux sur la shield.

Dans la liste on peut ajouter directement les jeux que vous voulez streamer. Sachez juste que quoi qu'il arrive il y aura un passage pas steam voir pour les jeux de ubisoft uplay sera nécessaire (exemple farcry 3), personnellement j'ai rien mis pour que ca soit steam qui se lance.

On peut aussi configurer steam pour déterminer le débit de la connexion. Pour ma part je l'ai laissé en automatique.

Sur le Pc de bureau récupérer votre adresse ip: ctrl+r => cmd => ipconfig => votre ip commence par 192.168.X.XXX ligne IPV4.

Sur le Raspberry:
 
wget raw.githubusercontent.com/the-raspberry-pi-guy/game_stream/master/install.sh

sh install.sh

l'installation crée un dossier game_stream

cd game_stream

La commande suivante va permettre d'appareiller votre raspberry à votre Pc sur lequel est installer votre steam. Pour cela:

moonlight pair 192.168.X.XXX

Vous allez voir apparaitre 4 chiffre à coté de la ligne:
Please enter the following PIN on the target PC: XXXX

Avec ce chiffre, aller sur votre ordinateur de bureau, vous aller voir une petite fenêtre en bas à droite de votre écran apparaitre dans lequelle il y a le logo d'une SHIELD : entrez votre code à 4 chiffre et validez.
 
On va créer la list des apps et jeux que vous avez rajouté dans Geforce expérience

on utilise la commande: moonlight list

On doit voir au moins Steam apparaitre. Et les autres jeux que vous avez rajouté dans Geforce Experience.

En faisant moonlight help vous pourrait voir la totalité des commandes executables.

On fait un test pour voir si tout fonctionne correctement et voir comment va répondre votre manette:

moonlight stream -1080 -60fps -app Steam

A partir de la vous allez voir un menu steam apparaitre sur votre TV (écran).

Testons la manette si elle fonctionne passer la phase suivante qui est la configuration de jarvis. Si elle ne fonctionne pas correctement, rien de grave on va refaire le mapping de la manette pour qu'elle corresponde à vos besoin.

Pour cela il faut déjà défénir l'event dans lequelle est définit votre manette pour cela on applique la commande suivante :

cat /proc/bus/input/devices

regarder dans quel event est enregistré votre manette (vous devez voir Handlers=enventX js0 X étant le chiffre que raspberry a attribué)

Pour le mapping on fait : moonlight map -input /dev/input/eventx control.map
je l'ai nomé control.map, mais vous êtes libre de choisir le nom pour votre fichier, il faut juste que ca se termine par .map

Suivez les indications que vous verrez à l'écran.

Et on refait le test mais cette fois rajoute le mapping à la ligne de commande:  

moonlight stream -1080 -60fps -app Steam -mapping control.map

On teste pour voir si tout fonctionne correctement

Si c'est le cas on passe à la configuration de jarvis sinon on reprend les étapes jusqu'à que cela fonctionne.

Dans Jarvis :

Il faut savoir que l'on est pas obligé d'être dans le dossier game_stream pour lancer la commande de moonlight, on peut lancer la commande depuis le dossier racine: /home/pi/ qui est le dossier de départ à chaque fois que vous vous connectez en SSH soit par putty soit directement par l'interface du raspberry

on va dans jarvis :

cd jarvis

./jarvis.sh -v

on va dans commande ( ce que jarvis comprend et execute )

on rajoute la ligne :

*LANCE*STEAM== say "jouons"; moonlight stream -1080 -60fps -app Steam -mapping control.map

vous êtes libre biensur de mettre ce que vous voulez ( j'en rajoute au fur et a mesure et je finis toujours en insulte avec le raspberry !!! oui j'ai 15 ans dans ma tête )
ctrl+x O et entrer

On lance javis et on dit lance Steam et hop jarvis lance lance Steam

Enjoy

Quelques conseils supplémentaire:

Brancher votre raspberry en éthernet pour eviter d'avoir des ralentissements.
Manette 360 et manette ps3 tres bien reconnu a chacun sa préférence j'utilise les deux personnellement.

A cahque redémarrage de votre raspberry revérifier si votre manette est toujours sur le même event, il arrive que cela change alors on repasse par la case mapping.

Je rajouterai des copy écran au fur et à mesure.