Comment améliorer les anciens jeux DirectX avec DXVK pour Windows

Direct3D fait partie intégrante des jeux Windows depuis des décennies, unifiant le paysage segmenté du matériel PC sous un seul parapluie compatible avec la 3D. Cependant, une application créée principalement pour Linux, DXVK, est parfois une bien meilleure option à utiliser, même si vous êtes sous Windows.

Vous souhaitez une meilleure compatibilité et, surtout, de meilleures performances pour vos applications et vos jeux ? Dans ce cas, vous devez essayer DXVK.

Le problème de DirectX sous Windows

Microsoft a créé DirectX en tant que « solution unifiée » permettant aux programmeurs d’utiliser les capacités matérielles de n’importe quel PC. Au lieu d’écrire un code différent pour chaque partie du matériel, les développeurs de logiciels pouvaient « cibler » les bibliothèques DirectDraw (graphiques 2D), Direct3D (3D accélérée par le matériel) et DirectSound (audio) de DirectX. La solution de Microsoft pourrait ensuite « traduire » leur code dans le « langage natif » de chaque composant matériel.

DirectX est devenu une technologie de base irremplaçable dans Windows et n’a cessé d’évoluer depuis. Cependant, il y a un petit problème avec Direct3D : il n’est pas compatible à 100 % avec les versions antérieures.

Microsoft et les créateurs de GPU qui prennent en charge l’API Direct3D (comme dans « Nvidia, AMD et Intel ») ont parfois abandonné la prise en charge de fonctions introduites dans des versions antérieures de Direct3D, mais qui n’ont jamais eu de succès. Ainsi, certains jeux plus anciens peuvent ne pas fonctionner correctement sur un GPU moderne avec les versions les plus récentes de Direct3D.

Qu’est-ce que Vulkan ?

Supposé être une réponse plus « ouverte » au logiciel fermé Direct3D de Microsoft, OpenGL était une version modifiée des bibliothèques graphiques 3D utilisées dans les stations de travail graphiques de Silicon Graphics.

Cependant, OpenGL a toujours été à la traîne, en termes de fonctionnalités, par rapport à Direct3D de Microsoft. Finalement, il a semblé plus rationnel de redémarrer l’effort. C’est pourquoi Vulkan, également connu sous le nom de « OpenGL Next », a été créé, offrant de meilleures performances et un contrôle accru sur le matériel.

Comme OpenGL, et contrairement à Direct3D de Microsoft, lié à Windows, Vulkan est « ouvert » et multiplateforme. Vous pouvez utiliser Vulkan sur Windows, Linux et même sur les smartphones. Bien qu’il ne soit pas pris en charge de manière native sur les Mac, il est utilisable sur ces derniers grâce à MoltenVK.

C’était la version courte. Pour en savoir plus sur Vulkan, consultez notre article sur ce que sont les bibliothèques d’exécution Vulkan sous Windows.

Qu’est-ce que DXVK ?

DXVK est un wrapper qui « traduit » Direct3D en Vulkan. Dans le monde humain, un traducteur peut être un médiateur entre un locuteur anglais et un locuteur japonais, leur permettant de se comprendre l’un l’autre. De la même manière, les « wrappers », ou « couches de traduction », peuvent « prendre » du code écrit pour un matériel, une plateforme ou une API spécifique, et le traduire pour qu’il s’exécute sur un autre.

Voir aussi :  Comment ouvrir Windows PowerShell en tant qu'administrateur sous Windows 11 ?

DXVK a été développé à l’origine pour Linux avec le soutien de Valve, qui l’utilise également sur SteamOS et le Steam Deck. Vous pouvez en savoir plus à ce sujet dans notre article où nous avons vu ce qu’est Steam Proton et comment il fait fonctionner les jeux Windows sur Steam Deck.

Pourquoi utiliser DXVK sous Windows ?

Si un jeu fonctionne déjà correctement sur votre matériel, il n’y a aucune raison d’utiliser DXVK. Mais certains jeux écrits pour d’anciennes versions de DirectX ne fonctionnent pas « correctement » (voire pas du tout) sur des versions plus récentes de DirectX et sur du matériel moderne.

En « traduisant » le code Direct3D ancien et défectueux dans l’API Vulkan plus moderne, la perte de performances est minime (voire inexistante). Dans le même temps, les jeux problématiques dont les graphismes sont défectueux ou les fonctionnalités manquantes peuvent redevenir entièrement jouables.

Étant donné que Vulkan est au même niveau que Direct3D 12 et que les deux sont bien meilleurs (et plus rapides) que les anciennes versions de Direct3D (comme nous l’avons vu lorsque nous avons comparé DirectX 11 VS DirectX 12), la « traduction » d’anciens jeux Direct3D vers Vulkan peut parfois améliorer les performances du jeu.

Le travail d’Intel sur ses GPU Arc en est la preuve. Intel aurait pu essayer d’ajouter la prise en charge de tous les anciens titres dans les pilotes de GPU Arc. Au lieu de cela, Intel a décidé de travailler à l’amélioration de DXVK. Les premiers résultats de l' »expérience » d’Intel ont permis de multiplier par deux les performances des titres plus anciens, avec des douzaines de titres rendus jouables « grâce » à DXVK.

Comment utiliser DXVK sous Windows

L’utilisation de DXVK sur Windows est facile, car il n’y a rien à régler ou à configurer. Il suffit de le télécharger, de l’extraire dans le bon dossier d’un jeu et il est prêt à fonctionner.

Cependant, vous devez utiliser la bonne version de DXVK qui correspond à la version Direct3D utilisée par votre jeu.

Il est probablement plus facile de suivre l’ensemble du processus ensemble pour voir comment vous pouvez télécharger la dernière version de DXVK, identifier la « tech » de votre jeu, et installer les DLL correctes dans le bon dossier.

Comment télécharger DXVK

DXVK est un logiciel libre dont l’utilisation est gratuite. Vous pouvez trouver sa dernière version sur GitHub.

  1. Visitez le site de DXVK page officielle GitHub et cliquez sur le bouton Derniers à droite de la page, sous la rubrique Communiqués.
  2. Faites défiler la page des versions vers le bas et trouvez la version Actifs de la dernière version. Cliquez sur la dernière archive tar.gz de DXVK pour la télécharger. Au moment de la rédaction de ce document, il s’agissait de la version 2.2.
  3. Conservez l’archive téléchargée quelque part, car vous devrez extraire son contenu dans le dossier de chaque jeu que vous souhaitez faire tourner avec DXVK au lieu de Direct3D.
Voir aussi :  Comment corriger l'erreur "Une exception non gérée s'est produite dans votre application" sous Windows.

Comment choisir la bonne version de DXVK ?

Si vous avez besoin de savoir quelle version de Direct3D votre jeu utilise, le site Web PC Gaming Wiki peut vous aider.

  1. Visite PC Gaming Wiki avec votre navigateur, et utilisez le champ de recherche en haut à droite pour rechercher le jeu auquel vous voulez ajouter DXVK.
  2. Lorsque vous avez trouvé votre jeu, visitez sa page et faites défiler vers le bas jusqu’à ce que vous atteigniez la section Autres informations . Portez votre attention sur les tables API. Là, dans la section Spécifications techniques et Prise en charge vous verrez la version de Direct3D utilisée par votre jeu. En dessous, la colonne Exécutable, 32 bits et 64 bits vous indiqueront l’architecture à choisir.

Comment ajouter DXVK à vos jeux ?

Maintenant que vous savez quelle version de Direct3D et quelle architecture de CPU votre jeu utilise, vous pouvez ajouter la bonne version de DXVK à son dossier.

  1. Ouvrez l’archive DXVK avec votre gestionnaire d’archives préféré (pour cet article, nous utilisons WinRAR), et entrez dans le dossier DXVK unique que vous y verrez.
  2. À l’intérieur, vous trouverez deux sous-dossiers, un pour chaque architecture d’ordinateur. Saisissez celui qui correspond à votre jeu. Même si votre système d’exploitation est 64 bits, comme la plupart des versions de Windows aujourd’hui, si votre jeu est 32 bits, vous devez choisir le dossier 32 bits.
  3. Sélectionnez le dossier DXGI.DLL plus la DLL correcte pour la version de Direct3D que votre jeu utilise. Comme vous le verrez, il existe trois autres DLL, une pour chacune des versions précédentes de Direct3D : 9, 10 et 11.
  4. Recherchez le dossier local dans lequel votre jeu est installé et localisez le sous-dossier contenant son exécutable (« le fichier à partir duquel le jeu s’exécute »). Extrayez les DLL de l’étape précédente dans ce dossier.

Comment tester et étalonner votre jeu amélioré ?

Si vous exécutez votre jeu maintenant, il devrait utiliser Vulkan au lieu de Direct3D et, espérons-le, être plus performant.

Même si vous ne constatez pas de changements spectaculaires dans les taux d’images, les améliorations peuvent parfois être  » ressenties  » d’une autre manière. Par exemple, nous avons essayé DXVK avec le classique Batman : Arkham City sur un PC équipé d’un Ryzen 5900x, de 64 Go de RAM et d’un GPU Nvidia RTX 3070. Notre matériel dépassait déjà les spécifications maximales de ce vieux jeu, atteignant des taux de rafraîchissement très élevés. Même s’ils étaient plus élevés avec Vulkan, la différence ne serait pas facilement perceptible.

Voir aussi :  Les meilleurs émulateurs Nintendo Switch pour Windows

Cependant, l’action du jeu semble plus fluide. Les transitions entre les écrans, le chargement des niveaux et les pressions sur Alt + Tab étaient presque instantanées avec DXVK.

Quand ne pas utiliser DXVK

Le DXVK présente de nombreux avantages et permet d’adapter les performances des jeux plus anciens à l’ère moderne. Malgré cela, il ne s’agit pas d’une solution miracle pour améliorer les performances, et parfois cela ne vaut tout simplement pas la peine de l’utiliser.

1. Le DXVK n’améliore pas les performances du jeu

Si vous avez ajouté les DLL DXVK à votre jeu mais que vous n’avez constaté aucune différence par la suite, vous pouvez les supprimer à nouveau si vous le souhaitez. Pour ce faire, vous pouvez supprimer les DLL que vous avez ajoutées au dossier d’un jeu.

2. Le DXVK entraîne une dégradation des performances ou l’apparition de nouveaux problèmes

Parfois, l’ajout de DXVK à un jeu peut avoir l’effet inverse. Malheureusement, l’utilisateur final n’a aucun moyen de résoudre ces problèmes.

Les performances d’un jeu ont baissé ou des problèmes visuels sont apparus après l’ajout du DXVK ? Quittez le jeu et supprimez les DLL du DXVK de son répertoire.

3. Vous voulez jouer à votre jeu en ligne

Le DXVK est une couche de compatibilité et n’affecte que la sortie graphique d’un jeu. Néanmoins, certaines entreprises s’opposent à toute modification de leurs jeux afin de garantir un environnement équitable pour tous.

Le DXVK n’est peut-être pas une « tricherie », mais il s’agit tout de même d’une « modification de jeu », qui pourrait être signalée comme telle.

4. Le jeu dispose déjà d’un support Vulkan intégré

Si un jeu utilise déjà l’API Vulkan, comme Doom Eternal, il n’y a aucune raison de régler sa sortie sur Direct3D pour ensuite la traduire en Vulkan.

5. Le jeu utilise Direct3D 12

Étant donné que Direct3D 12 est presque entièrement au même niveau que Vulkan, il n’y a rien à gagner à traduire une API graphique ultramoderne vers une autre.

Améliorez vos anciens jeux avec la 3D « traduite » sous Windows

Ce qui a commencé comme un moyen de jouer à plus de jeux liés à Windows sur Linux, a fini par devenir une solution de compatibilité utile et un booster de performance. Gardez donc une archive récente des DLL de DXVK à portée de main. Ajoutez-les à n’importe quel jeu pour lequel vous souhaitez éliminer les défauts, améliorer les performances, obtenir des actions plus fluides dans le jeu et améliorer la réactivité.

Même si cela ne sert à rien, l’essayer ne prendra que quelques secondes et, la plupart du temps, vous serez surpris par les résultats.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

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