Windows 11 : réparer d3d9.dll pour Nobunaga’s Ambition Tendou (DX9, 32 bits, performances & compatibilité)

Le jeu Nobunaga’s Ambition Tendou fonctionnait sous Windows 10 grâce à un ancien d3d9.dll local. Sous Windows 11, il se lance puis se ferme. Voici une méthode fiable, sûre et optimisée pour retrouver la compatibilité DirectX 9 et les performances.

Sommaire

Vue d’ensemble

Sur Windows 10, beaucoup de joueurs résolvaient des problèmes de rendu ou de traduction en déposant un d3d9.dll 32 bits « ancien » directement dans le dossier du jeu, ce qui forçait le chargement de cette bibliothèque à la place de la version système. Sous Windows 11, ce bricolage échoue fréquemment : le processus démarre et s’arrête aussitôt, ou bien l’écran reste noir avant retour au bureau. Les causes principales : renforcement des protections, évolutions du chargeur de bibliothèques (loader), et incompatibilités binaires avec certains hooks communautaires.

Ce guide rassemble des solutions éprouvées (patch deux DLL, réinstallation des runtimes DX9, wrappers modernes), des contrôles précis (architecture 32 bits, intégrité des fichiers), des diagnostics utiles (Evénements Windows, dxdiag), et des conseils de performance spécifiques à DirectX 9 sur Windows 11.

Résumé rapide : la méthode qui marche le plus souvent

ÉtapesDétails et conseils
Remplacer le couple de DLL plutôt qu’un seul fichierSupprimez l’ancien d3d9.dll local, puis placez les deux DLL patchées fournies (même architecture 32 bits) dans le dossier du jeu. Ce correctif a été confirmé fonctionnel par l’auteur de la solution d’origine.
Vérifier l’architectureNobunaga’s Ambition Tendou est 32 bits : toute DLL 64 bits sera ignorée. Assurez-vous que les fichiers copiés sont bien 32 bits (x86).
Réinstaller DirectX End‑User Runtimes (juin 2010)Réinstalle toutes les sous‑versions DX9 (d3dx9_24 → 43) et composants associés. Utile si un composant est manquant/corrompu et évite de multiplier les DLL « isolées ».
Copier un DLL propre depuis WindowsSi vous suspectez un d3d9.dll défectueux :
%SystemRoot%\SysWOW64\d3d9.dll (32 bits) pour ce jeu.
%SystemRoot%\System32\d3d9.dll (64 bits) pour les jeux 64 bits.
Alternatives « wrapper »En cas d’échec : dgVoodoo 2 (DX ≤ 9 vers DX11) ou WineD3D (DX9 vers OpenGL). Elles contournent certaines limites de Windows 11 et des pilotes modernes.
Vérifier/‑réparer les fichiers du jeuPar Steam/launcher : « Vérifier l’intégrité des fichiers ». Les DLL d’origine sont ré‑extraites proprement si nécessaire.
Sécurité & licencesDLL non signées ou trop anciennes : risque de rejet/crash. Les partages « nuage » peuvent transporter du code modifié. Analysez toujours avec Windows Defender et/ou un service d’antivirus multi‑moteurs avant copie. Conservez un point de restauration.

Guide détaillé pas à pas

Pré‑requis et sauvegardes

  • Fermez le jeu et le launcher.
  • Dans le dossier du jeu, créez backup_dll et déplacez‑y tout d3d9*.dll tiers existant.
  • (Optionnel) Créez un point de restauration système avant toute manipulation de DLL : PowerShell (Admin) : Checkpoint-Computer -Description "Avant_patch_d3d9" -RestorePointType "MODIFY_SETTINGS" Si la Protection du système n’est pas activée, activez‑la depuis Propriétés système → Protection du système.

1) Installer le « couple » de DLL patchées plutôt qu’une seule

De nombreux patches communautaires pour les jeux DX9 (traduction, correction de rendu, framerate débloqué) reposent sur un couple de DLL qui travaillent ensemble (par exemple un d3d9.dll + une DLL d’injection/ressources). Copier uniquement d3d9.dll fait échouer le chargement sur Windows 11. Suivez cette procédure :

  1. Supprimez l’ancien d3d9.dll que vous aviez déposé dans le dossier du jeu.
  2. Décompressez les deux DLL patchées 32 bits fournies par le pack communautaire (mêmes versions et même source), puis copiez‑les ensemble dans le dossier de l’exécutable du jeu (.../Tendou/).
  3. Si les fichiers proviennent d’un téléchargement, ouvrez leurs propriétés et cochez « Débloquer » s’il s’affiche, afin d’éviter un blocage par Mark of the Web.
  4. Lancez le jeu. Si l’écran reste noir puis se ferme, passez aux étapes suivantes.

2) Vérifier à coup sûr l’architecture 32 bits

Le jeu est 32 bits : vous devez fournir des DLL 32 bits (x86). Quelques façons de vérifier :

  • Dossier d’origine : les binaires 32 bits système résident dans SysWOW64 (oui, c’est contre‑intuitif) et les 64 bits dans System32. Un d3d9.dll 32 bits « propre » se trouve donc ici : %SystemRoot%\SysWOW64\d3d9.dll.
  • Gestionnaire des tâches : pendant l’exécution, un processus 32 bits est suffixé « (32 bits) ». Tendou l’est.
  • PowerShell : lister le module chargé dans le processus (si le jeu parvient à démarrer) : PowerShell : Get-Process | Where-Object {$_.ProcessName -like "*tendou*"} | ForEach-Object { $_.Modules | Where-Object {$_.ModuleName -eq "d3d9.dll"} | Select-Object ModuleName,FileName } La colonne FileName confirme le chemin réellement chargé.

3) Réinstaller DirectX End‑User Runtimes (June 2010)

Windows 11 inclut le cœur de DirectX, mais pas l’ensemble des bibliothèques « redist » DX9 (série d3dx9_24 → d3dx9_43.dll, XAudio, etc.). Certains jeux anciens y dépendent de façon rigide. Réinstaller ces runtimes légitimes depuis Microsoft corrige souvent des plantages instantanés, y compris lorsque vous avez tenté un d3d9.dll local.

  1. Téléchargez l’installeur hors‑ligne officiel « DirectX End‑User Runtimes (June 2010) » depuis le centre de téléchargement Microsoft.
  2. Exécutez‑le (administrateur), laissez‑le extraire puis installer toutes les sous‑versions. Redémarrez Windows.
  3. Relancez le jeu sans DLL tierces pour vérifier que l’environnement DX9 est sain. Ensuite, remettez les DLL patchées si besoin.

4) Utiliser un d3d9.dll « propre » issu du système

Si vous soupçonnez un d3d9.dll communautaire corrompu, remplacez‑le temporairement par la version système copiée (ne remplacez jamais dans System32 / SysWOW64) :

Copier (32 bits) : %SystemRoot%\SysWOW64\d3d9.dll  →  <Dossier_du_jeu>\d3d9.dll
Copier (64 bits) : %SystemRoot%\System32\d3d9.dll  →  <Dossier_jeu_64bits>\d3d9.dll

Cette étape vérifie qu’il n’y a pas de problème global DirectX ou pilote. Si le jeu démarre ainsi mais ne supporte plus votre patch/traduction, envisagez un wrapper (étape suivante) compatible Windows 11.

5) Wrappers modernes : dgVoodoo 2 et WineD3D

Les wrappers contournent les limitations des anciens hooks d3d9.dll en redirigeant les appels vers une API moderne (DX11 ou OpenGL) mieux gérée par Windows 11 et les GPU actuels.

dgVoodoo 2 (DX9 → DX11)

  • Copiez depuis le dossier MS\x86 du pack : d3d9.dll (et éventuellement D3D8.dll si le jeu l’exige) dans le dossier du jeu.
  • Placez dgVoodooCpl.exe et son dgVoodoo.conf au même endroit pour configurer.
  • Réglages conseillés pour la stabilité :
    • Adapter l’API à Feature Level 11_0/12_0 si disponible.
    • Limiter le framerate au taux de rafraîchissement de l’écran (évite les sur‑vitesses et instabilités physiques).
    • Activer le Fullscreen exclusif si votre écran le supporte, sinon mode fenêtré sans bordure.

WineD3D (DX9 → OpenGL)

  • Copiez d3d9.dll de WineD3D 32 bits dans le dossier du jeu. Sur certaines configurations Intel iGPU, OpenGL peut offrir une compatibilité supérieure.
  • Attendez‑vous à une consommation CPU/GPU différente : la fluidité peut être meilleure sur certains drivers, mais la latence légèrement plus élevée.

Bon à savoir : les suites de sécurité détectent parfois ces DLL comme « modificateurs de jeux ». Analysez et autorisez explicitement si nécessaire.

6) Réparer les fichiers du jeu (Steam/launcher)

Après plusieurs essais, il n’est pas rare qu’un d3d9.dll d’origine ou une ressource du jeu soit altéré. Utilisez la fonction « Vérifier l’intégrité des fichiers » du launcher. Cela restaure les DLL et EXE d’origine, puis vous appliquez proprement votre patch compatible Windows 11.

7) Sécurité, intégrité et licencing

  • Signature & réputation : Windows 11 renforce la détection de binaires suspects. Un DLL ancien non signé ou signé en SHA‑1 peut être bloqué par certaines politiques de sécurité ou faire planter le processus lorsque le jeu active des atténuations (ex. CIG/CFG).
  • Provenance : évitez toute DLL récupérée sur des dépôts non officiels ou miroirs privés. Analysez‑les avec Windows Defender et, si possible, un multi‑scanner.
  • Licence : distribuer des DLL Microsoft peut contrevenir aux conditions d’utilisation. Préférez les runtimes officiels ou des wrappers open‑source réputés.

Pourquoi l’ancien d3d9.dll échoue sous Windows 11 ?

Plusieurs facteurs se combinent :

  • Incompatibilités ABI : certains anciens hooks d3d9.dll interceptent des appels et s’appuient sur des structures internes (v‑tables, ordinals, comportements de Present) qui ont évolué. Résultat : crash au lancement.
  • Politiques de chargement plus strictes : si le jeu active des mitigations (ex. Binary Signature Policy), le système peut refuser les DLL non signées ou modifiées, provoquant la fermeture immédiate.
  • Chaîne graphique moderne : Windows 11, WDDM 3.x et certains pilotes forcent des modes de présentation différents (flip‑model, composition). Les hacks « plein écran exclusif » des anciens DLL peuvent mal s’y adapter.
  • SHA‑1 déprécié et durcissements annexes (SmartScreen, réputation) entraînent parfois la neutralisation d’un binaire marqué « non fiable ».

Diagnostics utiles (quand « ça se lance puis se ferme »)

1) Confirmer quel d3d9.dll est chargé

Utilisez une des commandes suivantes pour vérifier le chemin réel du module :

Invite de commandes :
tasklist /m d3d9.dll

PowerShell :
Get-Process | Where-Object {$*.ProcessName -like "*tendou*"} |
ForEach-Object { $*.Modules | Where-Object {$*.ModuleName -eq "d3d9.dll"} |
Select-Object @{n="Processus";e={$*.FileName.Split("")[-2]}},FileName }

Si le chemin pointe vers le dossier du jeu, c’est bien le DLL local qui est utilisé. S’il pointe vers SysWOW64, votre DLL local n’est pas pris en compte (nom erroné, blocage, ou droits).

2) Vérifier l’état DirectX et les pilotes

dxdiag

Exécutez dxdiag et enregistrez le rapport. Cherchez les erreurs Direct3D 9, les timeouts GPU (TDR), ou des mentions de pilotes obsolètes.

3) Observateur d’événements / Fiabilité

  • Observateur d’événements → Journaux Windows → Application : repérez une erreur Application Error sur le processus du jeu. Le module fautif (d3d9.dll, ntdll.dll, etc.) est affiché avec son Fault offset.
  • Moniteur de fiabilité (rechercher « fiabilité ») : fournit une chronologie claire des plantages avec liens vers les rapports.

4) Vérifier l’intégrité système

Invite (Admin) :
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Ces commandes réparent les fichiers système endommagés susceptibles d’affecter DirectX.

Optimiser les performances DX9 sous Windows 11

Une fois le démarrage stabilisé, maximisez la fluidité et réduisez les micro‑saccades.

  • Mode d’affichage : testez plein écran exclusif. Sous DX9, il offre souvent un frametime plus stable que le fenêtré sans bordure, selon GPU/écran.
  • Limiter le framerate au taux de l’écran (60/120/144 Hz) pour éviter une vitesse de jeu erronée et les oscillations de charge GPU.
  • Plan d’alimentation : « Performances élevées » (Windows) puis laissez le driver GPU gérer l’économie.
  • Windows Game Mode activé, HAGS (GPU scheduling matériel) à tester : sur DX9, l’effet dépend des drivers. Conservez le réglage qui donne le frametime le plus stable.
  • Paramètres GPU :
    • NVIDIA : Mode faible latence Activé, synchronisation verticale selon préférence (évitez « Forcer » si le jeu gère bien le VSync), « Qualité » → « Équilibré » pour filtrage.
    • AMD : Anti‑Lag/Anti‑Lag+ pour réduire la latence entrée, Enhanced Sync si vous supportez un léger tearing au‑dessus du taux d’affichage.
    • Intel Arc : privilégiez le profil « Performances », et maintenez les pilotes à jour (DX9 natif récent).
  • dgVoodoo 2 : essayez « Fast Video Memory Access », buffers command lists, et un backbuffer adapté à votre écran. Mesurez l’impact avec un compteur FPS/frametime.

Bonnes pratiques et erreurs à éviter

  • Ne remplacez jamais les DLL dans System32 ou SysWOW64. Intervenez uniquement dans le dossier du jeu.
  • N’alignez pas des DLL hétérogènes (versions différentes du même patch). Gardez un couple cohérent provenant d’une source unique.
  • Conservez toujours un backup des DLL originaux du jeu et de vos patchs stables.
  • Contrôlez les droits du dossier du jeu (pas de Read‑only) et lancez une fois le jeu « en tant qu’administrateur » pour lever un blocage d’écriture initial (création de logs, config).
  • Vérifiez l’antivirus : mettez en quarantaine puis restaurez si vous avez validé l’intégrité des DLL et souhaitez les autoriser.

FAQ

Est‑ce légal de copier d3d9.dll depuis un autre Windows ?
Copier pour usage personnel de dépannage, depuis votre propre système, est en général toléré ; redistribuer des DLL Microsoft ne l’est pas. Utilisez de préférence le redistribuable officiel DX9.

Pourquoi un d3d9.dll 64 bits « ne marche pas » ici ?
Parce que Tendou est 32 bits. Un processus 32 bits ne charge que des DLL 32 bits.

Mon antivirus détecte dgVoodoo ou WineD3D : faux positif ?
Souvent, oui : ces DLL interceptent des appels graphiques, un comportement proche de l’injection. Vérifiez l’empreinte, testez sur une copie, puis autorisez si nécessaire.

Le jeu s’ouvre mais le framerate est instable.
Limitez le FPS, désactivez l’overlay du launcher, évitez les surcouches (enregistrement, OSD agressifs), testez plein écran exclusif, essayez dgVoodoo (DX11) puis WineD3D (OpenGL).

Le patch « deux DLL » fonctionne mais casse après une mise à jour Windows.
Reprenez la procédure : réinstaller DX9 redist, vérifier signature/empreinte, remplacer le couple de DLL par la version la plus récente du patch compatible Windows 11, puis reconfigurer.

Checklist finale

  1. Désinstallez tout d3d9.dll isolé ancien, puis installez le couple de DLL patchées (x86) issu de la même distribution.
  2. Confirmez l’architecture et le chemin réellement chargé (commande tasklist /m d3d9.dll ou PowerShell).
  3. Réinstallez DirectX End‑User Runtimes (June 2010) et redémarrez.
  4. À des fins de test, utilisez le d3d9.dll propre de SysWOW64 pour isoler le problème.
  5. Si besoin, basculez vers un wrapper (dgVoodoo 2 / WineD3D) et ajustez ses paramètres.
  6. Réparez les fichiers du jeu via le launcher.
  7. Contrôlez sécurité & intégrité (antivirus, point de restauration, sources fiables).

Conclusion

Le comportement « ça se lance puis ça se ferme » de Nobunaga’s Ambition Tendou sous Windows 11 provient généralement d’un d3d9.dll local trop ancien ou incomplet. En remplaçant un DLL isolé par deux DLL patchées cohérentes (x86), en réinstallant le redistribuable DX9, et, au besoin, en adoptant un wrapper moderne, vous retrouvez la compatibilité et des performances proches (voire supérieures) à celles de Windows 10, sans compromettre la sécurité du système.

Annexes utiles

Commandes rapides

:: Lister les processus chargés avec d3d9.dll
tasklist /m d3d9.dll

:: Réparer l’intégrité système
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

:: Ouvrir DxDiag
dxdiag

Chemins et fichiers clés

ÉlémentChemin / NomCommentaires
DLL DX9 32 bits système%SystemRoot%\SysWOW64\d3d9.dllÀ copier dans le dossier du jeu pour test (ne pas écraser le système).
DLL DX9 64 bits système%SystemRoot%\System32\d3d9.dllInutile pour Tendou (processus x86), utile pour jeux 64 bits.
Runtimes DX9DirectX End‑User Runtimes (June 2010)Installe d3dx9_24..43.dll, XAudio, etc.
WrappersdgVoodoo 2 / WineD3DRemplacent l’API par DX11/OpenGL, options de compat/perf.

Mode compatibilité Windows (optionnel)

Si le jeu reste capricieux, essayez : clic droit sur l’exécutable → Propriétés → Compatibilité :

  • Mode compatibilité « Windows 7 ».
  • Cocher « Désactiver les optimisations de plein écran » (utile sur certains DX9).
  • Substitution du comportement DPI : « Géré par l’application » pour éviter un flou ou une fenêtre mal dimensionnée.
  • Exécuter en tant qu’administrateur (uniquement si nécessaire).

En suivant cette feuille de route (couple de DLL patchées, réinstallation DX9, wrapper en dernier recours), vous devriez pouvoir exécuter Nobunaga’s Ambition Tendou sous Windows 11 avec la même stabilité et le même niveau de performances qu’auparavant, tout en minimisant les risques d’incompatibilité et de sécurité.

Sommaire