1 janvier 2022

Mon setup Cloud Gaming headless

Mon ordinateur principal est une tour imposante, disposant d’une grosse carte graphique datant d’avant les pénuries et encore ultra puissante aujourd’hui. Elle me prend beaucoup de place dans la chambre où je l’ai placée, et j’avais tendance à me cogner dessus régulièrement. Bien que je sois un gamer invétéré depuis maintenant plus de trente ans, je me suis aperçu que je jouais à des jeux gourmands de moins en moins souvent et que mon utilisation principale était à 90% bureautique (écriture, travail, consommation de contenus simples, petits jeux).
J’ai donc décidé de déplacer ma tour ailleurs, planquée, et de me servir au quotidien de mon ordinateur portable, un Lenovo X230 sous PopOs avec 8 Go de RAM et un proc I5 d’il y a oulààà au moins tout ça d’année et lorsque me prends l’envie de jouer, j’utilise un service de Cloud Gaming personnel.


Contraintes

Mes contraintes sont les suivantes :

  • Accès au bureau et pas uniquement aux jeux
  • Rapidité de mise en œuvre
  • Client disponible sous Linux
  • Accessible en LAN et depuis Internet

De plus, le serveur n’aura pas d’écran. Dans certains cas, cela aura posé problème (résolution, couleur, performance) jusqu’au moment où j’ai branché un dongle HDMI que j’avais acquis lors d’expériences précédentes de prise de contrôle à distance (avec l’outil Deskreen). Le dongle vaut moins de 10 € sur mamazon pour la version autorisant le 4K 60Hz.

Enfin, le serveur devra être accessible via Internet, mais je ne teste pas les solutions de Cloud Gaming sur internet. Geofrce Now, Stadia et autres ne sont pas de la partie.
Lors de mes recherches, je suis tombé sur les reddits suivants qui m’ont aiguillé et donné pas mal d’information.

ParsecGaming
CloudGaming

Il doit sans doute y en avoir d’autres.

Les services

Parsec

Le serveur ne peut être que Windows ou Mac.

Le client est dispo facilement pour tout système

  • Passe par un serveur centralisé sur internet pour vérifier les connexions interne/externe.
  • Dans la version gratuite, les couleurs semblent un poil moins brillantes, moins jolies que d’origine.
  • Il y a une version payante (10$/m) pour améliorer les couleurs et deux-trois autres trucs
  • Quelques micro-saccades
  • Fonctionne avec n’importe quelle CG
  • Possibilité de mettre l’écran distant en fenêtré
  • Création d’un compte obligatoire

Parsec est un excellent service qui fonctionne très rapidement et très efficacement. La qualité est très bonne pour peu que la connexion soit de bonne qualité, à part les couleurs un poil délavée dans l’option gratuite.

Ah oui, un tout petit truc aussi, en headless (et donc mouseless), Parsec ne peut pas afficher le curseur de la souris distante. Il y a une petite astuce qui passe par l’installation d’un driver de tablette graphique (toutes les instructions sont sur leur site). Ça fait un peu verrue, mais ça fonctionne.

Moonlight

Moonlight est un client GeForce Experience libre installable sur tout système (dont Linux). Il permet d’accéder en streaming à un serveur disposant d’une CG NVidia et de l’application GeForce Experience.

  • Pas d’agent à installer sur le serveur, à part GeForce Experience qu’il faut activer
  • Par défaut ne streame que les jeux, mais il est possible dans l’application Experience d’ajouter un ‘jeu’ et de spécifier explorer.exe ou mstsc.exe pour streamer le bureau lui-même depuis lequel on peut lancer ensuite n’importe quoi, vidéo, audio ou jeu.
  • Interface du client un peu bof, traductions pas terminées, mais fonctionnement impeccable et dans micro-saccades.
  • Couleur et résolution respectées
  • Possibilité de mettre l’écran distant en fenêtré, mais c’est moins pratique qu’avec Parsec
  • Pas de création de compte
  • On peut réveiller l’ordi distant depuis l’interface !

Moonlight est aussi une excellente solution, gratuite et libre de surcroit (pour la partie cliente). L’astuce permettant de streamer le bureau est triviale à mettre en place. Les deux points un peu embêtants sont la tronche de l’interface franchement perfectible (on sent le truc d’informaticien) et le mode fenêtré moins pratique.

Rainway

Rainway est un concurrent de Parsec avec un fonctionnement similaire. Je ne sais pas si c’est moi, le temps qu’il fait, ou des problèmes temporaires, mais j’ai trouvé Rainway plus lourd et moins pratique que Parsec ou Moonlight, avec des perfs globale moins bonnes et donc un ensemble moins agréable à utiliser. En point positif, pas de client à installer, un navigateur suffit.

  • Installation d’un agent appelé Dashboard sur le serveur
  • Le Client est un simple navigateur (basé sur chrome)
  • Création de compte obligatoire (comme Parsec)
  • Perf trop faibles

Steam (steamlink)

Steam propose sa propre solution appelée Steamlink, dispo sur un peu tous les systèmes. Le client Linux est un flatpak qu’il faut lancer à la main, et on ne peut normalement jouer qu’aux jeux steam (même si on peut ajouter des jeux non-steam, je ne sais pas si tout est possible, notamment les jeux Epic ou Origin.)

  • Client Remote Play en flatpak
  • Ne permets pas de streamer le bureau
  • Ne permets de jouer qu’aux jeux steam
  • Un peu pénible à mettre en œuvre (un clic dans l’option sur le steam du serveur, lancement d’un flatpak Remote Link sur le client, appairement)

Mon setup et conclusion

Mon laptop X230 est connecté en CPL sur ma box pour de meilleures performances. Il est sous PopOs!, une distribution Linux proche d’Ubuntu.

Le serveur de jeu est connecté sur la box en direct via un câble Ethernet, ce qui semble être obligatoire quelle que soit la solution choisie.

Le serveur ne dispose pas d’écran, mais d’un dongle HDMI 4K/60 Hz simulant un écran physique.

Le serveur est éteint la plupart du temps, et je l’allume au besoin grâce au Wakeonlan activé dans les drivers de la carte réseau filaire. Sur le client, j’ai un simple fichier de commande contenant les instructions suivantes :

#! /bin/bash

wakeonlan 30:9C:23:B1:2B:67
ping 192.168.1.105/

J’ai choisi d’utiliser principalement Parsec pour sa rapidité et ses performances, ainsi que Moonlight en backup lorsque Parsec n’est plus accessible ce qui arrive de temps en temps, ce dernier ayant besoin d’une connexion vers internet même lorsque les deux machines sont en local.

Je suis très content de la solution globale. Les jeux sont jouables parfaitement, comme voir des vidéos ou travailler à distance sur la machine avec une latence extrêmement faible et parfois imperfectible. Je ne pense toutefois pas qu’on puisse jouer à des jeux compétitifs (Overwatch).

À part, parfois, une connexion parfois peu stable vers Parsec, peu de souci à déplorer. Le ventilo du portable fait un poil plus de bruit que l’autre machine ok.
Sinon, je gagne de la place et je dépense moins d’électricité à utiliser mon X230 toute la journée plutôt que la grosse bécane, bref bilan positif !