High-Tech

À la une

Lepton : après Windows, Valve veut aussi faire tomber la frontière entre Android et Linux

Proton a déjà changé la vie des joueurs Linux en faisant tourner une quantité impressionnante de jeux Windows sans Windows. Valve s’attaque désormais à une autre frontière avec Lepton, sa couche de compatibilité permettant à des jeux Android de fonctionner directement sous Linux à travers Steam. Pensé d’abord pour le Steam Frame et les titres VR provenant notamment de l’écosystème Android ARM64, le projet vient d’être publié en open source. Sous le capot : conteneurs Podman sans root, composants issus de Waydroid, intégration Vulkan et un environnement Android volontairement amputé de tout ce qui ne sert pas au jeu. Non, votre Steam Deck ne devient pas immédiatement une grosse tablette Android. Mais la direction prise par Valve est particulièrement intéressante.

8 min de lecture 0 commentaire
Lepton : après Windows, Valve veut aussi faire tomber la frontière entre Android et Linux

Après Proton, Valve construit un nouveau pont

Valve possède désormais une collection assez impressionnante de technologies dont la fonction principale consiste à convaincre un jeu qu’il tourne sur une plateforme différente de celle qui se trouve réellement sous ses pieds. Windows peut passer par Proton, les programmes x86 peuvent être traduits vers ARM64 grâce à FEX sur le Steam Frame, et les jeux Android disposent maintenant de Lepton, la nouvelle couche de compatibilité de Valve . Le Steam Frame utilise une architecture ARM64 et combine plusieurs briques afin d’exécuter des logiciels issus de différents écosystèmes. Lepton s’occupe précisément du cas Android : Valve le décrit comme une solution permettant d’exécuter des jeux Android sous Linux à l’intérieur d’un environnement isolé, avec un intérêt évident pour les titres VR déjà développés pour Android ARM64.

La logique est assez proche de celle qui a fait le succès de Proton, même si la mécanique technique est différente. Proton traduit principalement les API Windows vers leurs équivalents Linux. Lepton, lui, fournit plutôt au jeu un environnement Android spécialisé fonctionnant au-dessus de Linux. Pour un studio qui possède déjà une version Android ARM64 de son jeu VR, l’idée est simple : plutôt que de reconstruire entièrement une version Linux, Valve veut rendre la version existante exploitable sur SteamOS.

Pas un smartphone entier caché dans SteamOS

Lepton ne cherche pas à lancer un Android complet avec son écran d’accueil, ses notifications, ses applications Google et cinquante services attendant fébrilement une synchronisation Gmail. Selon une analyse détaillée de son architecture , Lepton s’appuie sur une image Android dérivée de composants issus notamment de Waydroid et la lance dans un conteneur Podman sans privilèges root. Chaque jeu dispose de son propre environnement, plutôt qu’une grosse session Android permanente partagée entre toutes les applications.

Cette spécialisation permet à Valve de retirer une quantité importante de services inutiles. Lepton est là pour lancer un jeu, pas pour transformer SteamOS en tablette Android. Une partie de l’état du système peut être préparée à l’avance pour accélérer le démarrage, tandis que certaines ressources graphiques et systèmes sont directement récupérées depuis l’hôte Linux. GamingOnLinux souligne également cette approche très spécialisée , qui s’éloigne volontairement du fonctionnement d’un émulateur Android généraliste.

Pas de root et un environnement isolé par jeu

L’un des choix les plus intéressants concerne justement l’isolation. Lepton fonctionne sans demander de privilèges administrateur permanents et utilise des conteneurs lancés avec les droits de l’utilisateur. Valve peut ainsi limiter ce que l’environnement Android voit du système tout en évitant d’installer une grosse infrastructure privilégiée sur la machine. Dans Android classique, plusieurs applications doivent cohabiter dans un même système et sont isolées entre elles par différentes identités. Lepton simplifie largement ce scénario puisqu’une instance est essentiellement destinée à faire tourner un seul jeu : l’isolation importante devient donc celle qui sépare le jeu Android du système Linux hôte.

Cette approche permet également d’utiliser directement certaines briques de SteamOS plutôt que de les dupliquer. Les pilotes graphiques, certains composants Steam et une partie du pipeline Vulkan peuvent être exploités par l’environnement Android. Valve construit donc moins une machine virtuelle complète qu’une sorte de capsule Android spécialisée pour Steam. Pour regarder TikTok sur un Steam Deck, il existe probablement des solutions plus simples. Pour lancer un jeu VR Android avec le moins de couches inutiles possible, l’approche devient beaucoup plus intéressante.

Vulkan, OpenXR et SteamVR commencent à parler la même langue

Le cas de la réalité virtuelle explique probablement mieux que tout autre pourquoi Valve développe cette technologie. Un jeu Android utilisant OpenXR peut être relié à SteamVR, tandis que le rendu et le suivi restent gérés par le système hôte. L’application continue à fonctionner comme si elle se trouvait dans son environnement Android attendu, alors qu’en coulisses une bonne partie du travail est récupérée par SteamOS et SteamVR.

Valve fournit même une documentation spécifique pour les développeurs Unity avec des recommandations autour d’OpenXR, du rendu fovéal, de Vulkan et des outils destinés à vérifier si un projet présente des incompatibilités avec Lepton. Cela montre que l’on n’est pas simplement face à une petite expérience interne publiée sur GitHub pour faire joli : Valve veut en faire un chemin de déploiement crédible pour certains jeux Android déjà existants.

Et maintenant, le code est ouvert

L’autre nouveauté importante est que Valve a publié le code source de Lepton . Le projet est accessible publiquement sur l’infrastructure GitLab de SteamOS, avec une partie du code sous licence MIT et différentes briques héritant des licences de leurs projets respectifs. L’ouverture du code permet évidemment aux développeurs de comprendre beaucoup plus précisément la manière dont Valve assemble Android, Podman, Vulkan et SteamOS.

Comme toujours lorsqu’une technologie Valve liée à Linux devient ouverte, la question suivante arrive très vite : combien de temps avant que quelqu’un la fasse tourner sur une machine pour laquelle elle n’était absolument pas prévue ? Des utilisateurs ont déjà commencé à expérimenter avec l’outil Lepton Development et l’installation manuelle d’APK. Ces tests communautaires sont intéressants, mais il faut éviter de les confondre avec un support officiel généralisé. Valve cible d’abord les jeux Android, notamment VR, dans le contexte matériel du Steam Frame.

Non, votre Steam Deck ne gagne pas immédiatement tout le catalogue Android

Le raccourci serait tentant : « Valve lance Android sur Linux, donc demain tous les jeux Android arrivent sur Steam Deck ». La réalité est nettement plus nuancée. Lepton est actuellement très orienté ARM64, ce qui correspond parfaitement au Steam Frame et à son Snapdragon. Un rapport publié sur le tracker Steam for Linux montre d’ailleurs que les builds actuelles ne se transposent pas simplement à une machine Linux x86-64 traditionnelle équipée d’un processeur AMD ou Intel.

Faire fonctionner un jeu Android ARM64 sur une machine Linux ARM64 est relativement naturel puisque le processeur utilise déjà la bonne architecture. Sur une machine x86-64, il faudrait ajouter une traduction supplémentaire entre ARM et x86. Techniquement, rien n’interdit que le projet évolue un jour dans cette direction, mais Lepton n’est pas aujourd’hui un remplacement universel de Waydroid pour n’importe quel PC Linux.

Plus qu’un outil Android, une nouvelle pièce du puzzle SteamOS

Lepton devient surtout passionnant lorsqu’on le replace dans la stratégie générale de Valve. Pendant longtemps, une plateforme de jeu était définie très simplement par le type de programme qu’elle savait lancer : Windows exécutait des jeux Windows, Android des APK Android et chaque console avait ses propres binaires. Valve semble progressivement vouloir casser cette logique en transformant SteamOS en hôte capable d’accueillir plusieurs mondes logiciels.

Un jeu Windows x86 peut passer par Proton. Un programme x86 peut être traduit sur ARM grâce à FEX. Un jeu Android peut fonctionner à travers Lepton. Un jeu Linux natif peut évidemment s’exécuter directement. Dans la documentation Steamworks consacrée au Steam Frame , Valve explique justement vouloir éviter aux développeurs de multiplier les ports spécifiques lorsqu’une bonne version existante peut fonctionner grâce à une couche de compatibilité.

C’est une stratégie assez radicale lorsque l’on y pense : au lieu d’obliger les studios à s’adapter à SteamOS, Valve adapte SteamOS aux logiciels que les studios possèdent déjà.

Proton a déjà montré que cette stratégie pouvait fonctionner

Il est évidemment trop tôt pour placer Lepton au même niveau que Proton. Ce dernier bénéficie de plusieurs années de travail, d’énormément de contributions et d’une adoption massive provoquée par le Steam Deck. Mais le principe commence à être familier. Proton a longtemps été considéré comme une technologie principalement destinée aux utilisateurs Linux motivés ; aujourd’hui, des milliers de jeux Windows fonctionnent sur SteamOS sans que le joueur ait besoin de comprendre Wine, DXVK ou VKD3D.

Lepton pourrait suivre une trajectoire similaire si Valve continue à l’intégrer dans Steam, SteamOS et son futur matériel. L’ouverture du code augmente également les chances de voir apparaître des contributions, des détournements et probablement quelques usages parfaitement absurdes que les développeurs de Valve n’avaient jamais envisagés. C’est généralement ce qui arrive lorsqu’on donne un projet open source à une communauté qui possède trop de Raspberry Pi et pas assez de week-ends.

Le futur de SteamOS pourrait être beaucoup moins « Linux » qu’il n’en a l’air

Le paradoxe est assez amusant : Valve investit énormément dans Linux, mais son objectif semble justement de faire en sorte que le joueur n’ait plus besoin de se demander sous quel système son jeu a été conçu. Windows ? Proton. Android ? Lepton. x86 sur ARM ? FEX. Linux natif ? Très bien, vous pouvez exceptionnellement entrer sans déguisement.

Lepton reste aujourd’hui un outil spécialisé, principalement destiné aux jeux Android ARM64 dans l’écosystème du Steam Frame. Il ne transforme donc pas immédiatement toutes les machines SteamOS en consoles Android universelles. Mais son ouverture change malgré tout la situation : la technologie devient étudiable, modifiable et potentiellement réutilisable bien au-delà de son objectif initial.

Proton avait commencé comme une couche de compatibilité destinée à faire tourner davantage de jeux Windows sous Linux. Quelques années plus tard, il constitue l’une des technologies les plus importantes du gaming Linux moderne. Impossible de savoir si Lepton suivra le même chemin, mais lorsqu’un nouveau projet Valve commence à faire tomber une frontière entre plateformes, l’histoire récente conseille au minimum de garder un œil dessus.

Après avoir passé des années à expliquer à Windows qu’il pouvait très bien fonctionner sur Linux, Valve semble maintenant avoir commencé la même conversation avec Android.

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