Linux n’a jamais été la plateforme de jeu par excellence. Pourtant, la société Valve la considère comme « ;l'avenir du jeu ;» et estime que les systèmes fermés sont en contradiction avec l’évolution du marché du jeu vidéo. L’éditeur de Steam souhaite depuis longtemps que Linux remplace Windows en tant que plateforme majeure de jeu sur PC et c’est probablement l’une des raisons pour lesquelles il redouble d’efforts afin de « ;mettre Linux à niveau ;».
L’année dernière, Valve a officialisé Steam Play et Proton, un outil utilisé par le client Linux de Steam pour fournir la compatibilité interplateformes Windows-Linux et permettre de jouer facilement à des jeux Windows ou d’exécuter des applications 3D Windows sous Linux. Proton est construit autour d’une version personnalisée de Wine et intègre d’autres bibliothèques développées en parallèle. Il est entièrement open source et offre dans bien des cas des performances supérieures à Wine, la couche logicielle de compatibilité grâce à laquelle il est possible d’utiliser sur un environnement Linux, FreeBSD et macOS des applications Windows.
Les implémentations de DirectX 11 et 12 dans Proton sont basées sur Vulkan (DXVK et vkd3d) et les performances dans les jeux multithreads auraient été grandement améliorées par rapport à celles de Wine. Des optimisations apportées au support plein écran et au support des contrôleurs de jeu afin qu’en mode plein écran, les jeux puissent s’ajuster harmonieusement à la résolution désirée sans interférer avec la résolution native du moniteur et qu’ils puissent reconnaitre automatiquement les contrôleurs pris en charge par Steam sont également de la partie.
Dans la version la plus récente des notes de mise à jour de son outil Proton, Valve propose désormais d’apporter des changements au noyau Linux afin de surmonter les problèmes rencontrés en essayant de lancer certains jeux et de rendre les distributions Linux plus « ;game-friendly ;». L’éditeur de Steam veut notamment étendre la fonctionnalité futex() et apporter des modifications à glibc et à lbpthread afin d’améliorer les opérations multithreadées.
À ce propos, Valve a expliqué : « ;Nous proposons d’apporter des changements au noyau Linux pour étendre l’appel système futex() afin d’exposer ce que nous pensons être la fonctionnalité essentielle supplémentaire nécessaire pour supporter une synchronisation optimale du pool de threads ;».
Valve suggère en premier lieu de remplacer la fonctionnalité baptisée esync par une nouvelle encore expérimentale appelée fsync, qui fournit « ;une prise en charge des primitives de synchronisation intraprocessus basées sur un futex ;» et réduit davantage l’utilisation du processeur que esync. Toutefois, comme cela nécessite l’utilisation de la fonction eventfd() du noyau Linux, des modifications de ce dernier sont nécessaires pour fonctionner correctement.
Dans les premiers tests prenant en compte ces changements, Valve a noté des gains de performance de 4 % sur le jeu Beat Saber et de 1,5 % sur Shadow of the Tomb Raider avec Proton. L’entreprise est malgré tout persuadée que des améliorations significatives pourront être obtenues ultérieurement. La version 4.11 de Proton devrait bénéficier du patch fsync pour utiliser le nouveau noyau lorsqu’il sera supporté.
Source : LKML
Et vous ?
Que pensez-vous de cette initiative de Valve ?
Ces efforts pourraient-ils aider à Linux à s’imposer rapidement comme la plateforme de jeu par excellence dans les années à venir ?
Voir aussi
Valve muscle son service de Cloud gaming, Steam Link, avec Steam Link Anywhere, désormais vous pouvez jouer en streaming à vos jeux PC partout
Microsoft veut qu'Azure devienne la solution serveur multijoueur pour toutes les plateformes, grâce à PlayFab Multiplayer Servers
Google lance en bêta-test son service de streaming de jeux vidéo via Chrome, Project Stream va inaugurer le jeu Assassin's Creed Odyssey d'Ubisoft
Google et Ubisoft s'unissent pour développer une architecture serveurs dédiée aux jeux vidéo qui s'appuie sur Kubernetes
Valve propose des modifications du noyau Linux pour le rendre plus « game-friendly »
Les premiers tests montrent de modestes gains de performances
Valve propose des modifications du noyau Linux pour le rendre plus « game-friendly »
Les premiers tests montrent de modestes gains de performances
Le , par Christian Olivier
Une erreur dans cette actualité ? Signalez-nous-la !