High-Tech

À la une

Steam Remote Play teste Pyrowave : Valve sacrifie la bande passante pour faire la chasse à la latence

Pour améliorer le streaming de jeux dans la maison, Valve vient d’adopter une méthode assez radicale : arrêter d’économiser la bande passante. La bêta de Steam intègre désormais Pyrowave, un codec vidéo open source conçu pour privilégier la latence et la qualité d’image plutôt que la compression. Résultat : il peut engloutir cinq à dix fois plus de débit qu’un codec traditionnel et Valve recommande carrément de l’Ethernet Gigabit. Complètement excessif pour Netflix, peut-être. Pour envoyer un jeu depuis le gros PC du bureau vers le salon avec le moins de retard possible, l’idée devient soudain beaucoup plus intéressante.

11 min de lecture 0 commentaire
Steam Remote Play teste Pyrowave : Valve sacrifie la bande passante pour faire la chasse à la latence

Le streaming local a un problème : chaque milliseconde compte

Steam Remote Play permet depuis longtemps de faire tourner un jeu sur un PC puissant et d’envoyer son image vers une autre machine. Cela peut être un ordinateur portable, une console portable sous SteamOS ou un appareil équipé de Steam Link. Le PC principal fait le gros du travail, tandis que le client reçoit essentiellement un flux vidéo et renvoie les commandes de la manette, du clavier ou de la souris.

Le concept fonctionne très bien tant que le réseau suit, mais le streaming d’un jeu possède une contrainte que Netflix connaît beaucoup moins : la latence. Si une série arrive avec 150 millisecondes de retard, personne ne s’en rend compte. Lorsque votre personnage saute 150 millisecondes après avoir appuyé sur le bouton, l’expérience commence déjà à prendre une autre saveur.

Cette latence ne vient d’ailleurs pas uniquement du réseau. L’image doit être rendue par le jeu, capturée, compressée, envoyée sur le réseau, décompressée puis affichée sur l’écran distant. Valve résume elle-même le problème comme une addition entre le temps d’encodage, la latence réseau, le décodage et l’affichage. Pyrowave s’attaque principalement aux étapes de compression et de décompression.

Pyrowave prend le problème complètement à l’envers

Les codecs vidéo modernes ont généralement un objectif très clair : obtenir la meilleure image possible en utilisant le moins de bande passante possible. H.264, HEVC ou AV1 passent donc beaucoup de temps à chercher ce qui change entre plusieurs images successives afin d’éviter de retransmettre inutilement les mêmes informations.

C’est très malin lorsque l’on envoie une vidéo sur Internet. Cela demande néanmoins davantage de calcul et peut ajouter du délai.

Pyrowave adopte une philosophie presque inverse : le réseau local possède énormément de bande passante, alors utilisons-la.

Valve annonce que le codec peut consommer cinq à dix fois plus de débit que les autres solutions utilisées pour le streaming Steam et recommande que les ordinateurs soient reliés directement au routeur en Ethernet Gigabit lorsque c’est possible. Si le réglage automatique du débit est désactivé, Steam permet de définir manuellement une valeur comprise entre 100 et 500 Mbit/s.

Nous sommes donc assez loin du petit stream vidéo qui traverse tranquillement une connexion ADSL.

Et c’est totalement volontaire.

Dans votre réseau local, 200 Mbit/s ne coûtent pratiquement rien

L’approche peut sembler absurde au premier abord. Utiliser plusieurs centaines de mégabits par seconde pour transmettre un jeu alors que d’autres codecs arrivent à produire une belle image avec une fraction de ce débit ressemble presque à un retour vingt ans en arrière.

Sauf qu’un réseau domestique moderne n’est pas Internet.

Si votre PC et votre client sont connectés en Ethernet Gigabit, vous disposez théoriquement d’environ 1 000 Mbit/s de bande passante brute. Avec du 2,5 GbE, désormais relativement courant sur les cartes mères, mini-PC et NAS, cette marge devient encore plus confortable. Et contrairement à une connexion Internet, transférer 250 Mbit/s entre deux machines situées dans la même maison ne consomme aucun forfait de données et ne coûte rien de plus.

Un test relayé fin septembre avec Phantasy Star Online 2: New Genesis envoyé vers une Lenovo Legion Go S a par exemple mesuré environ 210 Mbit/s avec les réglages par défaut. Le chiffre variera évidemment avec la résolution, le framerate et les paramètres de qualité, mais il donne une bonne idée du terrain sur lequel joue Pyrowave.

En gros, Valve regarde les centaines de mégabits inutilisés de votre réseau local et demande : « Pourquoi est-ce qu’on se fatigue autant à compresser ? »

Bonne question.

Chaque image est indépendante

C’est ici que Pyrowave devient techniquement intéressant. Le codec fonctionne en intra-only, c’est-à-dire que chaque image est encodée indépendamment des précédentes. Il n’a donc pas besoin d’attendre ou d’analyser une longue chaîne d’images pour reconstruire correctement la suivante. Le projet utilise également une transformation par ondelettes et découpe notamment les données en blocs indépendants, avec une architecture pensée pour être extrêmement parallèle sur GPU.

Cette approche augmente fortement la quantité de données à transmettre, mais simplifie énormément le travail de compression et de décompression. Le développeur du projet explique d’ailleurs que l’encodage des coefficients reste volontairement beaucoup plus simple que dans les codecs traditionnels et que cette simplicité améliore massivement les performances d’encodage et de décodage.

Autre effet intéressant : puisqu’une image dépend beaucoup moins de ce qui s’est passé auparavant, les erreurs réseau ont moins tendance à contaminer plusieurs images successives. Le dépôt Pyrowave mentionne explicitement sa bonne récupération face aux pertes de paquets et indique que le système a été testé sur des flux longue distance via fibre.

Pour regarder un film, c’est une manière assez extravagante d’utiliser le réseau. Pour piloter un jeu en temps réel, cela commence à avoir beaucoup plus de sens.

Et derrière Pyrowave, un nom bien connu des joueurs Linux

Pyrowave n’est pas sorti d’un laboratoire Valve anonyme. Le codec a été créé par Hans-Kristian Arntzen, plus connu sur GitHub sous le pseudonyme TheMaister. Si vous jouez sous Linux, il y a d’ailleurs de bonnes chances que vous profitiez déjà indirectement de son travail.

Arntzen a notamment travaillé sur VKD3D-Proton, la couche utilisée pour traduire Direct3D 12 vers Vulkan et permettre à de nombreux jeux Windows de fonctionner sous Linux avec Proton. Son profil mentionne également des travaux sur SPIRV-Cross, Fossilize et différentes technologies liées à Vulkan et au traitement graphique.

Pyrowave est lui-même disponible publiquement sur GitHub sous licence MIT. Le projet reste encore jeune : son API est actuellement en version 0.x et la documentation prévient explicitement que l’API et l’ABI ne doivent pas encore être considérées comme stables.

On est donc bien face à une technologie expérimentale, pas au remplaçant officiel d’AV1 annoncé pour les vingt prochaines années.

Vulkan est au cœur de la machine

Le codec s’appuie largement sur Vulkan pour effectuer ses traitements sur le GPU. Ce choix lui permet de paralléliser énormément le travail et de limiter le temps passé à encoder ou décoder chaque image.

Le support Steam continue d’ailleurs d’évoluer rapidement. Dans la bêta du client publiée le 29 septembre, Valve a augmenté la priorité de l’encodage Pyrowave afin qu’il résiste mieux aux jeux qui chargent fortement le GPU sous Windows. La même mise à jour ajoute également un encodage Pyrowave zero-copy pour les jeux Vulkan sous Windows et Linux, afin d’éviter certaines copies inutiles de données entre différentes étapes du pipeline graphique.

Quelques jours plus tôt, Valve avait déjà corrigé du scintillement sur Linux et SteamOS, déplacé l’encodage vers une compute queue pour limiter la concurrence avec le jeu et corrigé une fuite de mémoire GPU lorsque la résolution changeait régulièrement.

Bref, le codec est encore en plein chantier.

Mais Valve ne l’a manifestement pas ajouté dans la bêta pour le regarder prendre la poussière.

HDR et 4:4:4 sont également au programme

La réduction de la latence n’est pas le seul intérêt de Pyrowave. Le codec peut également préserver davantage d’informations visuelles.

Le HDR peut être sélectionné automatiquement lorsque l’ordinateur qui exécute le jeu et celui qui reçoit le flux sont compatibles. Pyrowave propose également du YUV 4:4:4, désactivé par défaut.

Ce dernier point peut paraître obscur si vous ne passez pas vos soirées à parler de sous-échantillonnage chromatique autour d’une pizza.

De nombreux codecs vidéo réduisent la résolution des informations de couleur parce que l’œil humain y est moins sensible qu’à la luminosité. Cela fonctionne très bien pour les films, mais peut rendre les petits caractères, interfaces et éléments très fins légèrement moins nets.

Le 4:4:4 conserve beaucoup plus fidèlement les informations de couleur. C’est particulièrement intéressant pour le streaming d’un bureau, d’un jeu comportant énormément de texte ou d’un écran 4K sur lequel on aimerait éviter que les lettres ressemblent à une compression YouTube de 2008.

Encore une fois, cela utilise davantage de données.

À ce stade, vous avez probablement compris la philosophie.

Votre Wi-Fi va peut-être beaucoup moins apprécier

Valve recommande l’Ethernet Gigabit pour une bonne raison.

Sur le papier, un réseau Wi-Fi moderne peut largement dépasser les 500 Mbit/s. Dans la vraie vie, il faut ajouter les murs, les voisins, les canaux radio encombrés, le téléphone qui synchronise 14 Go de photos, les appareils IoT et le point d’accès placé stratégiquement derrière une armoire métallique.

Pyrowave peut donc fonctionner en Wi-Fi si l’environnement est excellent, mais son appétit en bande passante laisse beaucoup moins de marge pour les variations de débit qu’un stream H.264 classique.

Et envoyer beaucoup plus de données pour gagner quelques millisecondes n’aurait évidemment aucun intérêt si le réseau commence ensuite à produire des files d’attente et des retransmissions.

Valve reste donc assez prudente : puisque la latence totale dépend à la fois du codec et du réseau, certains utilisateurs pourront constater une amélioration importante tandis que d’autres ne gagneront presque rien.

Le meilleur codec du monde ne peut pas réparer le Wi-Fi du routeur opérateur enfermé dans le tableau électrique.

Comment essayer Pyrowave ?

Pour le moment, Pyrowave reste réservé à la bêta du client Steam. Il est disponible sous Windows et macOS. Sous Linux et SteamOS, Valve demande d’utiliser le client expérimental SteamRT3, accessible depuis les paramètres système.

Une fois la bonne version installée, l’option se trouve dans les paramètres avancés de Steam Remote Play. Pyrowave n’est pas activé par défaut, ce qui semble assez raisonnable pour un codec expérimental susceptible de commencer sa journée en consommant quelques centaines de mégabits par seconde.

Valve annonçait également son arrivée prochaine dans l’application Steam Link pour appareils mobiles. En revanche, le développeur a précisé que ce mécanisme concerne pour l’instant le streaming classique « flat » de Remote Play et pas le streaming VR Steam Link.

Si vous avez un PC relié en Ethernet Gigabit à votre routeur et une seconde machine correctement câblée, vous êtes exactement le genre de cobaye que Valve recherche.

Une idée presque rétro : arrêter d’optimiser pour Internet

C’est peut-être finalement ce qui rend Pyrowave aussi sympathique.

Depuis deux décennies, presque toutes les technologies de vidéo ont cherché à économiser de la bande passante. C’était logique : Internet était lent, le stockage coûtait cher et chaque mégabit économisé comptait.

Mais le réseau local de 2026 n’est plus celui de 2006.

Un simple câble Ethernet peut transporter un gigabit par seconde. Le 2,5 GbE devient banal. Le 10 GbE n’est plus réservé aux datacenters. Même certains réseaux Wi-Fi domestiques atteignent des débits que les connexions fibre d’il y a quelques années auraient regardés avec jalousie.

Pyrowave exploite simplement cette évolution en disant : si nous possédons déjà toute cette bande passante, utilisons-la pour économiser du temps plutôt que des octets.

Ce n’est probablement pas la bonne stratégie pour regarder Twitch depuis l’autre bout du pays.

Dans les dix mètres séparant votre PC gaming du téléviseur du salon, c’est une toute autre histoire.

Valve continue surtout de transformer le PC en console distribuée

Pyrowave raconte aussi quelque chose de plus large sur la stratégie de Valve.

Avec SteamOS, Steam Deck, Steam Machine et Remote Play, l’entreprise essaie de rendre de moins en moins important l’endroit où le jeu s’exécute réellement. Votre énorme PC équipé d’une carte graphique qui chauffe suffisamment pour participer au chauffage du logement peut rester dans le bureau tandis que l’image voyage vers une machine silencieuse dans le salon.

Dans ce scénario, la qualité et la latence du streaming deviennent presque aussi importantes que les performances du PC lui-même.

Et Pyrowave attaque précisément le point où le streaming local peut encore rappeler qu’il s’agit d’un stream : ce minuscule retard et ces petites pertes de qualité que l’on remarque surtout lorsque l’on connaît parfaitement la sensation d’un jeu joué directement devant la machine.

Le codec n’est pas magique. Il ne supprimera ni la latence de l’écran, ni celle de votre réseau, ni celle de votre manette. Et il demande en échange une quantité franchement obscène de bande passante comparée aux codecs traditionnels.

Mais c’est justement ce qui rend l’expérience intéressante.

Valve ne cherche pas à construire le codec vidéo le plus efficace.

Elle cherche un codec suffisamment inefficace pour devenir extrêmement rapide.

Et dans un monde où nous avons passé vingt ans à économiser chaque mégabit, utiliser 250 Mbit/s simplement parce qu’ils sont là ressemble presque à du luxe.

Ou à une excellente raison de ressortir le rouleau de câble Ethernet.

Sources & références

Tags

Communauté

Commentaires

La discussion est ouverte

Aucun commentaire pour le moment. Soyez le premier à réagir.

Publication après modération