Vue lecture

NTSYNC - Wine 11 booste les jeux Linux de 678%

Dirt 3 qui passe de 110 à 860 FPS sous nunux, non, j'ai pas fumé la moquette ! En fait c'est surtout grâce au fameux module de synchronisation kernel NTSYNC promis avec Wine 11 qui est enfin dispo dans certaines distros. Et la bonne nouvelle c'est que les premiers benchmarks développeurs viennent de tomber, donc on va regarder ça ensemble !

Concrètement, Fedora 42, Ubuntu 25.04 et SteamOS 3.7.20 beta embarquent maintenant le module par défaut avec le kernel 6.14. Du coup Resident Evil 2 bondit de 26 à 77 FPS, Call of Juarez grimpe de 99 à 224 FPS, et Tiny Tina's Wonderlands passe de 130 à 360. Et Call of Duty Black Ops est maintenant devenu... jouable ! Woohoo !

Alors attention, ces benchmarks comparent Wine vanilla (sans aucune optimisation) avec Wine + le module. Cela veut dire que si vous utilisiez déjà fsync via Proton ou Lutris, les gains seront moins spectaculaires. Après les jeux qui en profitent le plus sont ceux avec de grosses charges multi-thread où la synchronisation était vraiment le problèmo noméro uno.

Pour capter pourquoi cette news est un gros morceau, faut regarder un peu sous le capot. Au temps jadis, chaque fois qu'un jeu Windows devait coordonner ses threads (genre, attendre qu'une texture finisse de charger), Wine faisait des allers-retours avec wineserver... des milliers de fois par seconde. Du coup, on se tapait des micro-sacades et une cadence d'images pourrie.

Y'a eu des tentatives pour arranger ça. D'abord esync, puis fsync... ça améliorait les choses mais c'était du bricolage. Ça nécessitait des patchs kernel non-officiels que personne ne maintenait vraiment, et certains jeux gourmands faisaient carrément tout planter.

Mais tout cela c'est de l'histoire ancienne puisque NTSYNC, semble être enfin la bonne approche. Elizabeth Figura (CodeWeavers), la même dev qui avait pondu les solutions précédentes, a créé, cette fois, un vrai module intégré directement dans le noyau Linux. Comme ça, plus de bidouilles à la con et surtout plus d'approximations. Le noyau gère enfin la synchronisation lui-même, nativement, comme il aurait toujours dû le faire.

La stonksitude du barbu gamer est à son maaaax

Après des années de boulot et une présentation à la Linux Plumbers Conference 2023, le module a fini par être mergé dans le kernel mainline il y a peu. Ça marche donc "out of the box" et ça c'est plutôt chouette !

Et pour les possesseurs de Steam Deck, quand Valve rebasera Proton officiel sur Wine 11, tout le monde aura ça gratos !! En attendant, si vous êtes impatient, sachez que Proton-GE le supporte déjà ! Entre ça et le fait que 90% des jeux Windows tournent maintenant sous Linux , y'a clairement plus d'excuses pour rester sous Windows si c'est le gaming qui vous retenait, mes cocos !

Bref, c'est carrément la plus grosse avancée gaming Linux depuis Proton. Pas mal pour un module kernel bien velu quand même !

Source

  •  

Wine 11 rewrites how Linux runs Windows games at the kernel level, and the speed gains are massive

La version 11 de Wine, ce n'est pas juste une accumulation de petits patchs. C'est un game-changer (haha désolé pour le jeu de mots pourri).

Les changements importants:
- NTSYNC est implémenté. Si vous avez un noyau 6.14 ou plus récent, Wine pourra utiliser NTSync au lieu de esync/fsync. Si vous utilisiez déjà esync/fsync vous ne verrez pas beaucoup de différence (mais ntsync est plus propre), mais dans le cas contraire cela améliore les performances dans certains jeux de manière spectaculaire.
- WoW64 est terminé. Vous n'avez donc plus à jongler entre librairies système 32 et 64 bits dans les préfixes Wine. Installez tout en 64 bits, et les applications 32 bits fonctionneront tel quel. C'est particulièrement intéressant pour faire tourner les anciens jeux.
- et il y a bien entendu encore des tas d'autres améliorations (support Wayland, support contrôlleurs, etc.)

Si vous étiez sous Wine 9 ou 10, je vous encourage fortement à passer à la 11.

Contexte : Wine est un logiciel Linux qui permet de faire fonctionner les applications et jeux Windows sous Linux sans avoir besoin d'installer Windows. Plus de 90% des jeux Windows existants tournent sans problème dans Wine.

Pour voir si le module ntsync est chargé dans votre système:
💻 lsmod | grep -i ntsync

Pour le charger:
💻 sudo modprobe ntsync
(et /dev/ntsync doit apparaître)

L'activer au lancement du système:
Créer le fichier /etc/modules-load.d/ntsync.conf
contenant juste : "ntsync"
(Permalink)
  •  
❌