URL: https://linuxfr.org/users/aldebaran-0/journaux/sunshine-moonlight Title: Sunshine, Moonlight Authors: Aldebaran Date: 2022年03月12日T20:39:52+01:00 License: CC By-SA Tags: linux, jeu, streaming, moonlight, sunshine, libre et logiciel_libre Score: 55 Bonsoir LinuxFr; Je cherchais depuis longtemps une solution simple, fonctionnelle, performante, libre et surtout fonctionnant sous linux pour faire du streaming de jeu vidéo. Je possède en effet un PC suffisamment bien pourvus pour faire tourner des jeux dans mon bureau, mais je n'ai rien de tel dans le salon. Seulement un petit RPI (2, puis 3 et maintenant 4), ceci au prix actuel c'est pas rien non plus. Il me sert de media center avec LibreElec et Kodi et malgré quelques crash il fait bien le café. Alors j'ai pensé à l'utiliser comme client pour streamer mon PC; Ça avait l'air simple, au début je m'imaginais même utiliser VNC, c'était avant qu Steam ne disrupte le game. En fait je me suis lancé dans une tache qui m'aura pris plusieurs années. Sans rire. J'ai testé tout un tas de solutions, dont VNC, Steam Link, des expérimentations avec VLC et ffmpeg (avec de très bons résultats niveau stream de flux); mais sans jamais arriver à un résultat convainquant, ni simple à mettre en place. La meilleure expérience était avec Steam Link, ça n'est pas particulièrement libre (surtout que je joue souvent à des jeux proprio, alors bon) mais là ou ça coince c'est niveau client. Je voulais en effet garder LibreElec sur mon RPI, pour tout un tas de raisons. Essentiellement certaines fonctionnalité de décodage (HDR10) et autre version logiciels non disponible sur Raspbian et que je n'ai pas réussi à faire fonctionner sous Archlinux ARM (des extentions non officielles pour Netflix et Disney+ par exemple [je sais...]). Sauf que LibreElec à une philosophie très minimaliste, quand ils disent "Just enough OS for KODI" ils rigolent pas; on aura par exemple pas de gestionnaire de paquet et c'est pas gagné pour résoudre l'enfer de dépendance quand on essaye d'installer un binaire à la mano. LibreElec ne fait pas usage de X également (peut être utilisent ils directement le framebuffer ?); Mais le binaire de Steam Link pour RPI4 assume la présence de Xorg sur le système (il s'attend à tourner sous Raspbian) le rendant très difficile (voir même impossible) à faire tourner sous LibreElec. Bref, je travaillais sur ce dossier de temps en temps et je testais souvent de nouvelles idées et comme j'aime bien chercher c'était chouette. Mais j'avais un peu perdu l'espoir de jouer sur mon canapé. Et j'ai trouvé Sunshine. Alors Sunshine, pour le présenter il faut d'abord parler de Moonlight. En 2013 Nvidia lançait la Nvidia Shield, une petite console avec la capacité de de jouer en streaming sur sa plateforme Geforce Now, le service de streaming de Nvidia. Quelques années plus tard ils rendirent possible de streamer depuis son propre PC, via Geforce Now, et uniquement sous Windows. Et uniquement pour les cartes Nvidia bien sur. J'avais pas forcément envie d'installer ce genre d'usine à gaz ultra fermé mais au moins là c'était tout vu. Des clients alternatifs on cependant vu le jour, [Moonlight](https://moonlight-stream.org/) implémente le protocole NVIDIA GameStream et est disponible sur une poutrochiée de systèmes. Mais il fallait encore faire tourner Geforce Now sur le serveur ! Et arriva Sunshine. Pour faire simple c'est la partie serveur qui nous manquait. C'est libre, ça tourne sous Linux, ça tournent sur des cartes Nvidia, AMD et en théorie Intel et surtout ça marche ! Bon le repo [initial](https://github.com/loki-47-6F-64/sunshine) ne semble plus actif, mais le développement à repris [ici](https://github.com/SunshineStream/sunshine) (avec l'approbation du dev initial si j'ai bien suivi). Je l'ai installé sur ma Archlinux via AUR et si ça à marché immédiatement, j'ai constaté quelques soucis. Premièrement des artefacts et autres bandes noirs sur le client (quelque soit le client), résolus en installant une version patchée de nvidia-utils (aur/nvidia-utils-nvlax, apparemment ça permet d'outrepasser certaines limitations du driver proprio, ça ne m'a pas enchanté de devoir l'installer, mais j'avais tellement envie de jouer dans mon canapé). Deuxièmement (et dernièrement) j'ai été confronté à des crash au début aléatoire et finalement très spécifiques. Avec l'implémentation actuelle, si une manette est branché, et que le jeu envoie une vibration, le serveur se fige. J'ai essayé de fouillé le code source pour voir comment fonctionnent les inputs mais pour l'instant le plus simple à été de désactiver les vibrations. Ça fonctionne mais tous les jeux ne le permettent pas. Mais laissons ça de côté, j'ai également été agréablement surpris en découvrant un [client moonlight-qt](https://github.com/veldenb/plugin.program.moonlight-qt) pour LibreElec 10 RPI 4 et x86. C'est du voodoo, ça build sous docker, ça extrait les dépendances dans LibreElec, et ça installe les scripts qu'il faut se lancer depuis Kodi. Et sans se plaindre en plus. Et là encore ça fonctionne. Bref, ce mois ci j'ai enfin pu jouer depuis mon canapé, je suis refais. Et tout est libre (en tout cas si vous n'avez pas comme moi une carte Nvidia). Les perfs sont bonnes, ma manette à été détecté sans soucis. Que du bon. J'envisage même de m'en servir en remplacement de teamviewer / VNC ! Bref, je suis content d'en être sortit et j'espère que ça vous sera utile si vous voulez également jouer depuis votre salon ou vos toilettes. Bon jeu !

AltStyle によって変換されたページ (->オリジナル) /