DirectX & Direct3DIl y a quelques jours, j'ai voulu rejouer à quelques anciens jeux comme FarCry et essayer Counter Strike Source dont tout le monde semble si friant. Je m'étais arrêté à Half-Life - qui ne m'avait pas vraiment conquis - avant de fondre devant les graphismes luxuriants de la jungle de FarCry.

J'insère mon CD, je lance mon raccourci. Ecran noir puis retour sur le bureau. Qu'est-ce donc que ce bin's ! Je retente. Même résultat, le jeu ne veut pas se lancer. Une petite série de tests (Google Earth, Joost) m'apprend que c'est Direct3D, un des composants de DirectX qui est en cause...

Si jamais cela vous arrive un jour - et vu le nombre de résultats retournés par Google, c'est un problème extrêmement courant ! - voici comment vous retirer cette vilaine épine du pied.

Le problème en détail

Si votre système possède l'un des symptômes suivant :

  • les jeux refusent de se lancer comme d'habitude : "direct3d failed to initialise".
  • vous avez des erreurs Direct3D à répétition :

    Direct3D9 driver is creating...
    Best-match display mode: 1024x768x32 (Error=8)
    Creating D3D device (Adapter format: D3DFMT_X8R8G8B8, BackBuffer format: D3DFMT_A8R8G8B8, Depth format: D3DFMT_D24S8)
    Error: Couldn't initialize 3D environment (D3DERR_INVALIDCALL)
    *** Clearing render resources ***
    Creating D3D device (Adapter format: D3DFMT_X8R8G8B8, BackBuffer format: D3DFMT_A8R8G8B8, Depth format: D3DFMT_D24S8)
    Error: Couldn't initialize 3D environment (D3DERR_INVALIDCALL)
    *** Clearing render resources ***
    System Shutdown
    *** Clearing render resources ***

  • l'utilitaire de configuration DirectX (Démarrer > Exécuter > dxdiag) vous donne les erreurs suivantes lorsque vous tentez les tests Direct3D :

    Résultats des tests Direct3D 7 : Échec à l'étape 8 (Création d'un périphérique 3D): HRESULT = 0x80004005 (Échec général)
    Résultats des tests Direct3D 8 : Échec à l'étape 8 (Création d'un périphérique 3D): HRESULT = 0x8876086c (Code d'erreur)
    Résultats des tests Direct3D 9 : Échec à l'étape 8 (Création d'un périphérique 3D): HRESULT = 0x8876086c (Code d'erreur)

et bien cela n'a qu'une seule solution : la désinstallation de vos pilotes de carte graphique et la réinstallation de pilotes compatibles, généralement une version précédente. Si vous avez une carte ATI, l'installation des Catalyst 7.8 résout le problème.

La solution

Cette solution, je l'ai trouvée à la sueur de mon front. La phrase précédente est loin d'être une litote. Persuadé qu'il s'agissait d'une corruption de DirectX, j'ai passé deux week-ends complets à le désinstaller puis à le réinstaller, de la version 8.1 à la version 9.0c, en passant par les versions SDK pour voir si cela pouvait débloquer quelque chose. C'est vraiment une expérience que je ne souhaite à personne. Si un jour cela vous arrive, je vous recommande DirectX Happy Uninstall, c'est l'un des rares programmes qui permet la désinstallation effective de DirectX, tout comme XP Lite Professional. Rien n'y a fait.

Je possède une carte ATI 9800 SE. En dernier recours, j'ai désinstallé les pilotes Catalyst 7.10 que j'avais mis à jour il y a quelques semaines. J'ai installé les Catalyst 7.9 : toujours le même problème. Catalyst 7.8 : le problème disparaît et tout redevient fonctionnel de nouveau.

Conclusion

Une erreur Direct3D ne veut pas forcément dire que DirectX est en cause. Il n'est pas nécessaire de mettre à jour ses pilotes de carte graphique constamment - la preuve c'est que les nouveaux Catalyst foirent sur les cartes un peu plus anciennes. If it ain't broke, don't fix it !

Pour développer votre projet WordPress ou Woocommerce, faites appel à mon expertise pour réaliser un site rapide, performant et fonctionnel.

Je soumets mon projet

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.

Articles en rapport:

Résoudre les problèmes Direct3D de DirectX

par Matt Lecture: 3 min
3

Pin It on Pinterest

Share This

Spelling error report

The following text will be sent to our editors: