Pas seulement Proton : à la découverte des nouvelles couches de compatibilité de SteamOS par Valve
Valve s'appuie sur de nouvelles couches de compatibilité, FEX et Lepton, pour étendre SteamOS aux appareils Arm et exécuter des applications Android.
À retenir
- Valve introduit deux nouvelles couches de compatibilité, FEX et Lepton, pour son écosystème SteamOS.
- FEX est un portage de fex-emu qui émule les instructions x86 sur des chipsets Arm.
- Lepton est une extension du projet Waydroid permettant d'exécuter des APK Android sur SteamOS via un conteneur logiciel.
- 52 des 120 premiers jeux 'Great on Frame' fonctionnent sur le Steam Frame en tant qu'exécutables Android traduits via Lepton.
- Valve explore activement des versions de SteamOS pour d'autres appareils Arm.
Depuis la sortie du Steam Deck, les fans de Valve se sont familiarisés avec l'idée de la couche de compatibilité Proton, qui permet aux jeux conçus pour Windows de tourner correctement sur SteamOS, basé sur Linux (bien que les efforts de Valve dans ce domaine remontent à plus loin).
Pour faire tourner davantage de jeux sur le Steam Frame propulsé par SteamOS, Valve s'appuie toutefois sur deux couches de compatibilité supplémentaires qui font leur apparition dans l'architecture Steam.
La première, FEX, est le portage par Valve de fex-emu, un projet open source qui émeut des instructions de processeur x86 sur un chipset Arm.
Depuis 2018, ce qui a commencé comme un petit projet d'émulation multiplateforme s'est développé pour inclure « un recompileur binaire avancé qui prend en charge toutes les extensions modernes du jeu d'instructions x86(-64) », selon le site web de Fex.
L'émulateur peut également effectuer des appels vers des bibliothèques graphiques telles qu'OpenGL et Vulkan pour réduire la surcharge et utilise « la mise en cache du code pour minimiser les saccades autant que possible », d'après la propre documentation pour développeurs de Steam.
Bien que Proton repose sur l'outil de conversion préexistant Wine, l'ingénieur de Valve Pierre-Loup Griffais a déclaré à The Verge l'année dernière que l'entreprise finançait le développeur principal de Fex, Ryan Houdek, depuis que le projet n'était encore qu'un prototype.
À l'époque, Valve prévoyait déjà qu'« il faudrait près d'une décennie de travail avant que [Fex-emu] ne soit suffisamment robuste pour que les gens puissent compter dessus pour leurs bibliothèques ».
« Je tiens à remercier les membres de Valve d'avoir été là dès le début et de m'avoir permis de lancer ce projet », a écrit Houdek en novembre dernier en marquant le septième anniversaire du projet.
« Ils m'ont fait confiance en me confiant la responsabilité de concevoir et d'encadrer le projet de manière à ce qu'il puisse fonctionner sur le long terme ; non seulement pour leurs cas d'usage, mais aussi en le gardant comme un projet ouvert que n'importe qui peut adapter à ses propres besoins. »
Maintenant que Fex est enfin prêt à être intégré dans le casque Steam Frame, Valve affirme qu'elle explore activement des versions de SteamOS pour d'autres appareils Arm.
« Je pense que l'une des choses que nous voulons faire, et que le Frame prépare en quelque sorte le terrain, c'est simplement un SteamOS plus général pour Arm, n'est-ce pas ? » a déclaré Griffais à Rock Paper Shotgun lors d'une récente interview.
« Il y a un ensemble d'appareils sur lesquels vous pourriez avoir une excellente expérience en faisant tourner SteamOS, qui font actuellement partie de cet écosystème adjacent qui est juste un peu différent.
Mais pas vraiment si différent, à notre avis. »
Pour Griffais, l'objectif est de permettre aux joueurs d'envisager du matériel basé sur Arm sans avoir à se dire : « Oh, cet appareil est bien, les caractéristiques sont bonnes, le rapport qualité-prix est bon, mais je dois abandonner une partie de mon catalogue si je l'envisage ne serait-ce qu'un peu. »
La seconde nouvelle couche de compatibilité qui arrive sur Steam est Lepton, une expansion du projet préexistant Waydroid axée sur l'exécution d'APK Android standard sur SteamOS via un conteneur logiciel.
Cette couche est particulièrement nécessaire pour le Steam Frame, étant donné que beaucoup de titres VR autonomes que les joueurs feront tourner sur l'appareil ont été initialement conçus pour les casques Quest basés sur Android.
Bien que bon nombre de ces titres disposaient déjà de portages Windows pour assurer la compatibilité avec les précédents casques SteamVR, beaucoup de titres actuels du Steam Frame semblent tout simplement s'exécuter sous forme d'APK via la couche de compatibilité Lepton.
VR.org a fouillé dans les métadonnées de Steam ce mois-ci et a découvert que 52 des 120 premiers jeux « Great on Frame » fonctionnent sur le Steam Frame sous forme d'exécutables Android traduits via Lepton.
Cela inclut le premier trio de jeux Steam listés sur la vitrine sans aucune version Windows, Mac ou Linux (notez l'absence d'exigences système de bureau sur les pages de la boutique).
« Ce sont vraiment des développeurs VR qui veulent publier leur contenu VR, et ils portent un titre VR mobile où ils savent déjà comment fabriquer ces APK », a déclaré l'ingénieur de Valve Jeremy Selan à The Verge l'année dernière.
« Ils sont désormais libres de les amener sur Steam, et ils fonctionneront tout simplement sur cet appareil. »
Est-ce que cela signifie que d'autres développeurs Android pourraient balancer leurs APK via Lepton pour faire tourner des applications Android génériques (et des jeux non VR) sur SteamOS ?
Lawrence Yang de Valve a déclaré à The Verge : « Nous n'avons jamais invité les gens à ne pas le faire », tout en ajoutant dans la même respiration : « Nous sommes une entreprise de jeux et nous nous concentrons sur les jeux. »
Qu'une vague d'applications Android commence ou non à arriver sur Steam maintenant, nous avons assurément parcouru un long chemin depuis l'époque où Valve demandait aux développeurs de créer leurs propres ports Linux sur mesure pour la première version de SteamOS.
Maintenant, peut-être que Valve et la communauté pourront enfin se mettre au travail pour parfaire une couche de compatibilité qui permettra de faire tourner des jeux Apple II directement sur SteamOS.