Forza Horizon 6 sur Linux : les coulisses d'un lancement

Forza Horizon 6 sur Linux : les coulisses d'un lancement

Le très attendu Forza Horizon 6 vient à peine d’ouvrir ses portes en accès anticipé, et le constat est déjà sans appel pour les joueurs PC : sous son capot rutilant, le moteur du jeu souffre de graves lacunes techniques. Si les utilisateurs de Windows bénéficient de correctifs dissimulés dans les pilotes propriétaires, la communauté Linux et Steam Deck, elle, assiste en direct au sauvetage du jeu par les développeurs de Proton.

La cuisine interne de VKD3D-Proton mise à nu

C’est sur le dépôt GitHub officiel de VKD3D-Proton (la couche chargée de traduire les instructions Direct3D 12 vers Vulkan) que la vérité a éclaté. Hans-Kristian Arntzen, figure de proue du projet chez Valve, a soumis une pull request (PR #3033) au titre évocateur, qualifiant l’implémentation D3D12 du jeu d’« extrêmement cassée ».

Pour faire tourner le benchmark sans crashs immédiats ni artefacts visuels majeurs, le développeur a dû déployer ce qu’il nomme lui-même des « solutions de contournement horribles ».

Cette situation met en lumière une réalité souvent ignorée du grand public : sur Windows, les géants des GPU (NVIDIA, AMD) intègrent des patchs spécifiques et silencieux pour chaque jeu AAA directement dans leurs pilotes propriétaires (« Game Ready »). Sous Linux, l’open-source nous permet de voir ces lignes de code temporaires s’écrire en temps réel pour réparer le travail bâclé des studios.

Les quatre piliers d’un naufrage technique

En analysant la PR de VKD3D-Proton, on découvre une série de choix d’architecture logicielle particulièrement discutables de la part de Playground Games :

  1. La gestion chaotique de la mémoire (Descriptor Heaps) : Le jeu sature et gère très mal ses structures de données destinées aux échantillonneurs (samplers). Proton a dû mettre en place des barrières artificielles strictes pour éviter des fuites de mémoire immédiates.
  2. Le Ray Tracing privé de boussole : Les shaders dédiés au rendu Ray Tracing omettent l’instruction pourtant standard nonuniformEXT. Sans l’intervention de Proton pour forcer la robustesse au niveau du compilateur de shaders, c’est le crash GPU instantané à l’activation des reflets.
  3. Le mélange des genres graphiques : Plus technique encore, Forza Horizon 6 écrit un descripteur d’image pour ensuite tenter de le lire comme un simple tampon brut (buffer). Un comportement hors-norme qui brise totalement le pipeline de rendu, en particulier sur les architectures modernes d’AMD (RDNA 3 et RDNA 4).
  4. L’allocation après coup (Use-before-alloc) : Le jeu soumet des commandes au processeur graphique pointant vers des ressources mémoire qui n’ont pas encore été allouées par le processeur ! C’est l’équivalent de commencer à manger un plat au restaurant avant même que le chef ne soit allé chercher les ingrédients. Une aberration qualifiée de « folie pure » par Hans-Kristian, bien que Forza Horizon 5 présentait déjà des symptômes similaires.

Le cas de Proton-CachyOS : attention aux versions

Pour les utilisateurs de la distribution CachyOS, l’utilisation de la version optimisée proton-cachyos-slr (Steam Linux Runtime) est généralement recommandée pour assurer la meilleure compatibilité avec les systèmes anti-triches et les lanceurs. Cependant, si vous utilisez la version stable actuelle 1:11.0.20260506-1 (ou sa révision -2), le jeu refusera tout simplement de tourner correctement.

La raison est purement chronologique : cette version du paquet a été compilée à partir d’un instantané de Proton Experimental datant du 6 mai 2026. Forza Horizon 6 n’étant sorti en accès anticipé qu’à la mi-mai (avec la création de la PR #3033 le 17 mai), ce paquet ne contient pas les correctifs indispensables développés par Hans-Kristian Arntzen.

Si vous tentez de lancer le jeu avec cette version de Proton, vous ferez face à des plantages immédiats et des corruptions de mémoire du GPU. Pour y remédier sur CachyOS, vous devez :

  1. Soit forcer l’utilisation de la branche Proton Experimental (Bleeding Edge) directement dans Steam pour bénéficier des derniers correctifs à la volée.
  2. Soit patienter jusqu’à la publication d’une mise à jour du paquet proton-cachyos-slr intégrant les commits de la PR #3033.
  3. Soit compiler manuellement la branche corrigée de VKD3D-Proton et écraser les fichiers binaires au sein du répertoire de Proton-CachyOS.

Comment jouer à Forza Horizon 6 sur Linux aujourd’hui ?

Si vous possédez l’accès anticipé et ne souhaitez pas attendre le déploiement des versions stables de Proton, préparez-vous à manipuler votre système :

  • Pilotes à jour : L’utilisation de la version de développement de Mesa (Mesa git) est indispensable à cette heure.
  • VKD3D à la main : Compiler la branche de la PR #3033 de VKD3D-Proton.
  • Options de lancement Steam : Ajoutez ces variables d’environnement dans les propriétés de votre jeu pour forcer un comportement sain du pilote RADV :
RADV_EXPERIMENTAL=heap radv_wait_for_vm_map_updates=true %command%

Pour les possesseurs de cartes NVIDIA, les crashs subsistent également sous Linux, mais un correctif de pilote dédié devrait arriver rapidement. Valve a déjà réagi en activant par défaut Proton Experimental pour le jeu, et un profil Proton Hotfix automatique est attendu dans les prochaines heures.

L’ingrate mission des développeurs de l’ombre

Cette sortie mouvementée rappelle à quel point le jeu sur Linux repose sur les épaules de géants discrets. Puisque les studios AAA font l’impasse sur les tests de compatibilité Linux, ce sont les ingénieurs payés par Valve et la communauté open-source qui réparent leurs erreurs de programmation à notre place.

En attendant que la poussière retombe et que les correctifs officiels soient intégrés dans la branche stable de Proton, la patience reste la meilleure option si vous jouez exclusivement sur Linux ou Steam Deck.

Sources

Catégories : Linux 

Suggestions de lecture :