Comment activer XeSS et sa génération de frames en x4 dans vos jeux Linux
Si vous jouez sous Linux avec une carte ou une puce Intel Arc, alors forcément XeSS tourne chez vous dans Proton. Pour rappel, XeSS c’est la techno d’Intel qui fait tourner le jeu dans une définition plus basse. Ça reconstruit l’image à la définition de votre écran grâce à l’IA, et avec sa frame generation, ça invente carrément des images intermédiaires pour gonfler le nombre d’images par seconde. Mais sous Linux, ça le fait en empruntant la voie de secours DP4a, et pas sur les unités XMX du GPU, qui sont des cœurs matriciels prévus justement pour ça. Et ça c’est sacrément dommage car XeSS a été taillée POUR ces XMX, sauf que sous Proton, elle ne trouve pas de pilote Intel pour répondre à ses questions et se rabat donc sur sa version générique. Snif.
Cette version générique tourne ainsi sur n’importe quelle carte graphique récente mais via l’instruction DP4a des unités de calcul classiques. Résultat, les XMX se tournent les pouces et surtout, la frame generation reste bloquée en x2, soit une seule image générée par image calculée, alors que sous Windows, une Arc peut monter jusqu’au x4 ! C’est couillon non ?
Heureusement, le projet communautaire
change la donne puisqu’il permet de faire tourner la vraie XeSS d’Intel, super résolution et frame generation incluses sur les XMX dans les jeux Proton.
Pour y arriver, ce projet ne touche ni à Proton ni à vkd3d-proton mais glisse dans vos préfixes une DLL qui se fait passer pour le pilote Intel, igdext64.dll (le “shim”). Ensuite, un pilote Mesa ANV patché compile à la volée les kernels de XeSS avec le compilateur d’Intel. C’est hyper expérimental vous vous en doutez mais ça évolue très vite.
La fiche du dépôt sur GitHub, qui annonce XeSS sur XMX pour les Arc Xe-HPG, Xe2 et Xe3 (image : GitHub)
Avant de vous lancer, mesurez quand même vos attentes qui je le sais, sont grandes ^^. Sur le GPU Arc B390 de l’auteur, Cyberpunk 2077 gagne 28 % au benchmark intégré, avec 61,3 images par seconde, face à Mesa 26.1.2 en DP4a. Comment expliquer ce “saut” sachant que les XMX ne font qu’environ 5 % de mieux que DP4a. En fait, cela provient de Jay, le nouveau compilateur de Mesa 26.3, celui-là même que Mesa utilise par défaut sur Xe2 et Xe3.
Ce que le projet dont je vous parle aujourd’hui apporte vraiment, c’est surtout de la génération de frame de XeSS en x3 et x4 sur XMX (sans l’extension d’Intel, elle plafonne à x2), et Cyberpunk 2077 monte ainsi à 117 images par seconde en x3 dans le même test.
Et quand la frame generation est active, il ajoute un mode faible latence qui empêche les images de faire la queue devant le GPU comme vous à la caisse d’Auchan. Sur Wuthering Waves, à fréquence d’images égale, la latence passe également de 69 à 35 ms quand le jeu est limité par le GPU, comparé à la même frame generation sans ce mode.
Bref, encore une fois, c’est à prendre avec des pincettes car tout ça a été mesuré sur une seule machine, avec un seul passage par jeu, et la qualité d’image n’a pas encore été évaluée…
Avant de commencer
Il vous faut un GPU Intel avec des unités XMX, sur le pilote noyau xe ou i915. Ça couvre les Xe3 (Panther Lake, l’auteur développe également sur l’Arc B390 d’une ONEXPLAYER 3 sous SteamOS), les Xe2 et les Xe-HPG. Lunar Lake et Arrow Lake-H sont également détectés mais pas encore testés (si y’a des volontaires, hein…). Et Meteor Lake est totalement hors jeu puisque son GPU Xe-LPG n’a pas d’unités XMX.
Voilà… Et côté système, les pilotes livrés sont compilés sous Arch et exigent la glibc 2.38 et libwayland-client 1.24 au minimum. L’auteur a vérifié cependant qu’ils se chargaient bien sur SteamOS, Arch, openSUSE Tumbleweed, Void Linux, Fedora 43 et Ubuntu 25.10, mais hors SteamOS, c’est uniquement le chargement qui a été testé en conteneur, et pas dans des vrais jeux sur du vrai matos. Quant à Debian 13 et Ubuntu 24.04, ils n’ont pas cette version de libwayland-client et obligent donc à recompiler le pilote sur la machine (je ne couvre pas cette étape ici).
Il vous faudra aussi le client Steam natif, car la version Flatpak n’est pas supportée, ainsi qu’un Proton récent et des jeux en DirectX 12. Le script d’installation a aussi besoin de curl, ar (paquet binutils), tar, zstd et python3, plus unzip ou python3 pour récupérer le SDK XeSS.
Voilà, je pense que j’ai fait le tour des pré-requis.
Par contre, gaffe aux jeux en ligne car dans un jeu avec un anti-triche, cette DLL pourrait se faire spotter et vous pourriez être considéré comme un de ces affreux tricheurs et vous faire bannir…
On installe !
Téléchargez l’archive de la dernière release depuis la page Releases du dépôt, et décompressez-la dans un dossier où elle restera, car pour la déplacer ensuite, il faudra d’abord lancer uninstall.sh. Depuis ce dossier, une seule commande à lancer :
./install.sh
Le script téléchargera alors le compilateur d’Intel (environ 95 Mo), les bibliothèques du SDK XeSS (77 Mo) et les fichiers FidelityFX d’AMD (87 Mo), puis il faudra redémarrer ou fermer et rouvrir la session.
Ensuite, chaque jeu lancé depuis Steam passera par le pilote patché, sans option de lancement. C’est aussi simple que ça ! Notez bien que ça touche toute votre session puisque le pilote patché devient LE pilote Vulkan Intel 64 bits qui s’applique à tous les jeux.
Sachez aussi que si votre Steam a été installé via le APT de Debian ou d’Ubuntu, il se trouve dans ~/.steam/debian-installation, et il ne sera pas trouvé par le programme d’install. Ça devrait être corrigé dans une future release mais en attendant, l’auteur conseille de lancer la commande install comme ceci :
STEAM_DIR="$HOME/.steam/debian-installation" ./install.sh
Enfin, pour n’activer le projet que sur certains jeux, il est possible d’installer ça jeu par jeu. En gros, vous lancez enable.sh avec l’identifiant Steam du jeu, puis vous mettez le chemin de xmx-launch.sh devant %command% dans ses options de lancement et voilà…
XMX_APPID=<steam app id> ./enable.sh
/path/to/package/xmx-launch.sh %command%
En jeu
Maintenant, dans le jeu, choisissez bien XeSS, et sa frame generation si elle est proposée, sur le rendu DirectX 12. Comme le premier lancement compile les kernels XeSS du jeu, ça prendra une à deux minutes mais une seule fois, donc pas de panique si ça semble figé !! Ensuite ça ira plus vite.
Et le reste se configure par les options de lancement de Steam (Propriétés, Général), devant %command%. Sachez également qu’un jeu dont la version de XeSS est plus ancienne que la 2.0.2.68 ne verra pas le GPU Intel, et rebasculera en DP4a. Il ne pourra donc pas proposer de frame generation XeSS. C’est le cas de Cyberpunk 2077, et le paramètre XESS=latest lui permettra quand même d’utiliser les bibliothèques du SDK d’Intel juste le temps de la partie, puis remettra les originales en place dès que vous quitterez le jeu. Ça permet à Steam de retrouver le jeu tel qu’il a été installé.
XESS=latest %command%
XESS_FG=4 %command%
XESS_FG, lui, force le multiplicateur de la frame generation, x3 ou x4, même quand le menu du jeu ne propose que du x2 comme dans Cyberpunk. Pour cela, la frame generation doit rester activée dans le jeu. Vous pouvez aussi, si vous êtes très très chaud, tenter le x5 à x8 mais là on est dans l’hyper expérimental car au-delà de ce qu’Intel supporte. Gardez donc un limiteur d’images, celui du jeu ou de
, sinon les images générées arriveront à l’écran de façon très très irrégulière. Et ça on ne veut pas car vomir c’est pas cool !
Ah et oubliez le plein écran exclusif, car XeSS-FG le refusera. Le jeu ne pourra donc tourner qu’en version fenêtrée sans bordure.
Comment vérifier que ça passe bien par les XMX ?
Les images par seconde ne prouvent rien ici, puisqu’une bonne partie du gain vient de Mesa 26.3 et pas des XMX donc le signe le plus simple, c’est d’aller dans un des menus qui propose la frame generation et de voir si y’a du x3 ou x4 proposé car XeSS dans sa version générique plafonne uniquement à x2. L’inverse, en revanche, ne prouve rien, puisque certains jeux comme Cyberpunk ne proposent, comme je vous le disais, uniquement du x2 même sur XMX.
Et pour en avoir VRAIMENT le cœur net, ajoutez XESS_LOG=1 devant %command%. Le préfixe du jeu, dans ~/.local/share/Steam/steamapps/compatdata//pfx/drive_c/ (ou dans le dossier steamapps de la bibliothèque, pour un jeu sur un autre disque) reçoit alors un fichier igdext_trace.log qui liste le GPU détecté, chaque appel à l’extension et chaque kernel. Si y’a pas de fichier du tout créé, ça veut dire que le shim n’a pas été chargé et que c’est XESS=dp4a qui a fait tourner le même jeu sans les XMX.
Et si ça casse
Franchement, y’a des chances hein ! Mais si c’est le cas, suffit de relancer install.sh. Si un jeu se comporte mal uniquement avec Mesa 26.3 (qui est encore une release candidate), mettre MESA=26.1 avant %command% le renverra sur le pilote Mesa 26.1.2 du même paquet. Et si les XMX ont disparu après une mise à jour de SteamOS, sachez que l’utilitaire ~/.cache/xess-xmx/driver-status vous dira si les pilotes patchés se chargent encore, et le script tools/rebuild-driver.sh en reconstruira un tout frais tout beau pour votre nouvelle version de Mesa.
Et puis si vous voulez simplement revenir en arrière, et abandonner la luuuuttte finale , y’a toujours ./uninstall.sh qui lancé depuis le dossier du paquet annulera tout ce que l’installation a fait ! Ouf !
Source :

Leave a Comment