Valve, architecte du portage des jeux Windows vers Arm
(theverge.com)> Steam Machine aujourd’hui, Steam Phones demain
- Valve apparaît comme l’acteur clé qui permet d’exécuter des jeux PC Windows sur des appareils Arm grâce à des technologies open source
- En combinant Proton et l’émulateur Fex, il devient possible de faire tourner des jeux Windows x86 sur des appareils Arm sous Linux
- Depuis 2016, Valve emploie directement et finance les développeurs de Fex, avec pour objectif de long terme d’assurer la compatibilité Arm
- La version Arm de SteamOS conserve la même structure que l’existante et prend en charge l’exécution des jeux via Proton et Fex
- Cette technologie est considérée comme la base permettant d’exécuter des jeux PC sur divers appareils Arm, comme les smartphones, les ноутбуки et les desktops
La stratégie gaming Arm de Valve
- Valve développe et soutient des technologies open source afin de faire tourner des jeux Windows sur architecture Arm sans portage
- Les composants clés sont Proton (couche de compatibilité Windows-Linux) et Fex (émulateur de traduction x86-Arm)
- Proton, basé sur Wine, convertit les appels aux API Windows pour les adapter à l’environnement Linux
- Fex effectue une conversion en temps réel du code x86 vers du code Arm via JIT (Just-In-Time)
- Valve est le véritable fondateur du projet Fex et son principal soutien financier, ayant recruté des personnes clés dès les débuts du développement
- Dès 2016-2017, l’entreprise a lancé un développement au long cours avec des développeurs open source pour assurer la compatibilité Arm
- Le développeur principal de Fex, Ryan Houdek, travaille à plein temps grâce au soutien de Valve
Steam Frame et l’élargissement de l’écosystème Arm
- Le casque Steam Frame n’est pas un simple appareil VR, mais une plateforme technologique permettant d’exécuter des jeux Steam sur des appareils Arm
- La même technologie peut être utilisée sur des Samsung Galaxy, des Google Pixel ou des laptops gaming Arm
- Le journaliste a lui-même utilisé cette technologie en lançant Hollow Knight: Silksong sur un smartphone Galaxy
- Valve adapte une version Arm de SteamOS à différents formats (portable, laptop, desktop)
- Elle repose sur la même base Arch Linux et conserve la même composition, avec Proton et Fex
- Proton pour Arm est compilé en code Arm et fonctionne avec Fex
Architecture technique et fonctionnement
- Proton est une extension de Wine qui implémente, dans un environnement Linux, les API nécessaires à l’exécution des jeux Windows
- Elle convertit les appels aux API Windows, comme DirectX, DirectSound ou les entrées USB, vers des API Linux
- Elle inclut aussi des couches de traduction graphique comme DXVK (D3D11→Vulkan) et VKD3D (D3D12→Vulkan)
- Processus d’exécution dans un environnement Arm
- Proton analyse les segments de code et, s’il s’agit de code x86, les transmet à Fex
- Fex convertit ensuite le code x86 en code Arm avant exécution
- Lors des appels d’API, l’exécution repasse en code natif Arm afin de minimiser la perte de performances
Philosophie de développement et objectif de Valve
- L’objectif de Valve est d’éviter aux développeurs de jeux de perdre du temps en portages selon l’architecture
- Selon l’entreprise, « le travail de portage est un effort gaspillé du point de vue de la valeur de la ludothèque »
- Valve veut permettre aux développeurs de se concentrer sur l’amélioration de la qualité des jeux et la création de nouveaux titres
- Valve applique à la transition vers Arm l’expérience de son succès du gaming Linux sur Steam Deck
- L’entreprise met en avant l’extensibilité du gaming sous Linux et le développement continu de l’écosystème open source
Perspectives et extension à d’autres appareils
- Valve s’attend à une diversification des appareils SteamOS sur base Arm
- Des ultraportables, laptops haute performance, consoles portables et desktops sont évoqués comme formats possibles
- Des conceptions desktop basées sur de gros SoC, à l’image des puces de série M d’Apple, sont également envisagées
- SteamOS for Arm n’est pas un OS séparé, mais reste basé sur le même code source
- À l’avenir, Valve prévoit une prise en charge de SteamOS sur divers appareils Arm via un élargissement des partenariats OEM
- Pour l’instant, aucun plan commercial précis n’est annoncé, l’entreprise restant concentrée sur les Steam Machine et Steam Deck existants
Autres éléments techniques
- La fonction d’exécution d’apps Android de Steam Frame n’embarque pas Android au complet, mais repose sur une couche de compatibilité similaire à Proton
- Elle ne fournit que les bibliothèques nécessaires à l’exécution des jeux, permettant d’utiliser directement le code Arm
- À propos d’un éventuel lancement d’un SteamOS Phone, Valve indique qu’elle « n’exclut pas cette possibilité, mais que ce n’est pas l’axe principal actuellement »
- L’entreprise se concentre pour l’instant sur l’amélioration de l’expérience gaming dans le salon, sur portable et sur desktop
La place du gaming Arm
- Valve estime qu’Arm est compétitif sur les segments basse consommation et performances intermédiaires
- Particulièrement avantageux sous le niveau de performances du Steam Deck
- L’objectif n’est pas de dicter l’orientation du marché, mais de construire une plateforme qui prend en charge toutes les options
4 commentaires
Je suis utilisateur de Steam Deck, et j’ai le sentiment que ce que fait Valve en ce moment permet vraiment à tout le monde — clients, entreprise et industrie — d’être gagnants.
Comme c’est la société personnelle de Gabe Newell, je me dis que c’est peut-être ce qui lui permet de maintenir ce type de choix sur le long terme, avec une vision de long horizon.
Moi aussi, je m’en réjouis. Jusqu’ici, il était difficile de quitter Windows à cause des jeux. Merci infiniment.
(Du moins dans le domaine du gaming,) moi aussi j’attends avec impatience le jour où nous pourrons complètement sortir de l’ombre de Windows.
Commentaires sur Hacker News
Tout ce que Valve fait pour l’écosystème Linux a vraiment un impact énorme
À ce stade, même le mème HL3 donne presque mauvaise conscience tant l’entreprise en fait sincèrement beaucoup pour la communauté
Vidéo liée
Valve applique très bien une stratégie de commercialisation des compléments (autrement dit, ouvrir les couches au-dessus et au-dessous)
La plupart des jeux multijoueur modernes ne fonctionnent pas dans une couche de traduction à cause des problèmes d’anti-triche, mais il existe quelques exceptions. Les anti-triches en mode utilisateur fonctionnent parfois tels quels avec Wine, et certains jeux ont ajouté la prise en charge de Proton
areweanticheatyet.com
J’aimerais que Valve fasse complètement disparaître Wayland/X11/Xwayland. Wayland manque encore de prise en charge applicative et n’est pas compatible avec les GPU NVIDIA. X11 est trop ancien, et Xwayland donne l’impression de cumuler les défauts des deux mondes
J’aimerais aussi voir SteamOS sur MacOS. Steam fonctionne bien sur mon Mac Mini, mais ce serait vraiment bien si tous les jeux étaient pris en charge
Je me demande quand sortira la prochaine génération de Steam Deck. J’espère 2025, mais je pense que ce sera plus probablement 2026. En jouant à GTA: San Andreas sur Switch, je me suis dit qu’il me fallait désormais une machine plus puissante
Article lié
Source
Microsoft a tenté plusieurs fois Windows on ARM, sans succès. En revanche, Valve a de bonnes chances d’y parvenir
Je me demande à quel point l’efficacité énergétique d’ARM fait réellement une différence, surtout en charge de jeu
Si Valve rendait SteamOS compatible avec tous les programmes Windows, est-ce que cela pourrait remplacer Windows ?
Si la licence ARM est peu favorable, ne vaudrait-il pas mieux explorer l’architecture RISC-V ?