Photo d'un steamdeck OLED posé sur un lit

Alors comme ça tu veux tester NTSYNC sur ton Steam Deck avec Bazzite ?

Résumé pour les impatients

  • Bazzite 42 a un noyau Linux 6.14 incluant NTSYNC
  • On installe ProtonUp-Qt avec flatpak
  • On installe spécifiquement la version 9.0-20250102-x86_64 de Proton-CachyOS pour Steam à l’aide de ProtonUp-Qt
  • On active la variable d’environnement qui va bien pour activer NTSYNC en écrivant PROTON_USE_NTSYNC=1 dans le fichier ~/.config/environment.d/99-enable-ntsync.conf
  • On redémarre un coup
  • On demande à Steam d’utiliser Proton-CachyOS comme outil de compatibilité pour les jeux qu’on veut tester avec NTSYNC
  • Si tout fonctionne, on voit une ligne wine: using fast synchronization dans les logs de Proton.

Intro

Voilà un premier article qui est plutôt de niche et qui intéressera surtout les gens qui jouent sous Linux et aiment un peu bidouiller.

Pour parler de NTSYNC, en gros, c’est un nouveau module dans le noyau dont l’usage ressemble beaucoup à une API présente dans Windows et qui était chiante à implémenter dans WINE. Maintenant que c’est sorti, WINE et Proton vont pouvoir se passer des bidouilles que sont ESYNC et FSYNC, ce qui apportera essentiellement une maintenance plus facile et moins de bugs.

On nous a aussi vendu une augmentation des performances brutes, mais les benchmarks que j’ai vus indiquent plutôt une équivalence entre FSYNC et NTSYNC (avec quand même une meilleure stabilité du nombre d’images par seconde.) C’est donc WINE plutôt que Proton qui verra une amélioration notable de ce point de vue (étant donné que par défaut, FSYNC n’est même pas intégré dans la version standard de WINE).

Bref, NTSYNC est disponible dans Linux 6.14 et c’est précisément cette version qui est disponible dans Bazzite 42 à l’heure où j’écris ces lignes, on peut donc très facilement l’essayer sur son Steam Deck ou son PC de jeu si on utilise cette distribution.

Installer une version compatible de Proton

Comme NTSYNC n’est pas encore intégré à WINE mais que le patch est en cours de validation il est déjà possible d’obtenir des versions de WINE et de Proton compilées par des tiers qui l’ont intégré. La version la plus simple à installer que j’ai trouvé est celle de CachyOS puisqu’elle est installable automatiquement avec l’outil ProtonUp-QT qui est disponible en flatpak. On pourrait aussi utiliser ProtonPlus qui a l’air de faire le même job, mais avec une interface plus GNOME-esque.

On va juste ouvrir une ligne de commande et l’installer :

lou@PurpleMenace ~ $ flatpak install net.davidotek.pupgui2

Puis, on va le chercher dans le menu (il est dans la section jeux) et on le démarre, on vérifie qu’il est bien paramétré sur Steam (il sait aussi gérer Lutris et Heroic) et on clique sur « Ajouter une version » :

Ensuite, on va chercher Proton-CachyOS dans la première liste et on prend la version 9.0-20250102-x86_64 (Attention, ce n’est pas la dernière, mais c’est la seule pour laquelle NTSYNC est activable). Si votre processeur est un Intel plus récent que 2020 ou un AMD plus récent que 2017 (en gros : S’il supporte l’instruction AVX2), prenez la version qui se termine par _v3.

Activer NTSYNC avec Proton

Par défaut dans cette version, NTSYNC est présent, mais inactif, il faut utiliser une variable d’environnement pour indiquer à Proton de l’utiliser. Cette variable, c’est PROTON_USE_NTSYNC=1 et pour la définir, on peut le faire soit pour chaque jeu en allant dans ses propriétés Steam et en définissant son option de lancement comme ça : PROTON_USE_NTSYNC=1 %command% ou alors, on peut le faire au global grâce à la magie de systemd (avec Bazzite en tout cas, ça peut changer selon les distributions).

On va créer un fichier nommé ~/.config/environment.d/99-enable-ntsync.conf (en vrai, mettez ce que vous voulez, le nom importe peu, il faut juste qu’il soit dans le bon dossier et qu’il se termine par .conf) qui va uniquement contenir PROTON_USE_NTSYNC=1

Utiliser Proton-CachyOS avec nos jeux

Avec Bazzite, on repasse en mode jeu (les autres, vous pouvez rebooter) et il reste maintenant à dire à Steam qu’on veut utiliser Proton-CachyOS pour lancer les jeux. J’ai pas trouvé de solution pour sélectionner à coup sûr cette version-là pour tous les jeux d’un coup donc on doit le faire un par un. Pour ça, on choisit son jeu dans Steam et on va dans les propriétés (avec la petite roue crantée dans le coin, ou alors avec le bouton start puis « propriétés » ou alors avec un clic droit si vous avez une souris) :

Après, on va dans l’onglet « Compatibilité », on coche la case « Forcer l’utilisation d’un outil de compatibilité » et on sélectionne proton-cachyos-9.0-20250102-slr-x86_64_v3 dans la liste.

Il n’y a plus qu’à lancer le jeu et à profiter du gain (minime) de performance, d’une fréquence d’image un peu plus stable et d’une légère baisse de latence.

Pour vérifier que tout s’est passé comme prévu, on devrait voir des lignes contenant wine: using fast synchronization dans le fichier ~/.local/share/Steam/logs/console-linux.txt


Si cet article t’a été utile, tu peux me laisser un tip en cliquant sur ce bouton :


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *