Ceci est une ancienne révision du document !



Installer DirectX sous Wine

Si vous essayez de lancer un programme requérant DirectX sous Wine, vous aurez sûrement l'erreur suivante :

Vous utilisez une ancienne version de DirectX

Cette page vous propose d'installer DirectX sur votre ordinateur afin de pouvoir installer et utiliser ces programmes.

Cette manipulation est fortement déconseillée pour la majorité des utilisateurs de Wine. Si vous avez besoin d'une bibliothèque DirectX spécifique alors copiez seulement la dll correspondante dans votre répertoire /home/votre_login/.wine/drive_c/windows/system32

Téléchargez les DLL mscoree.dll, streamci.dll et ddrawex.dll nécessaires à l'installation.

Il faut copier les DLL mscoree, streamci et ddrawex dans le répertoire « /home/votre_login/.wine/drive_c/windows/system32 » et les préciser en tant que natives à Windows dans l'onglet « Bibliothèques » de winecfg (c'est fait de manière manuelle dans les lignes qui suivent).

Vous avez besoin de préciser un grand nombre de DLL comme natives pour que l'installation fonctionne correctement. Voici la liste ci-dessous.

Une licence Windows authentique est obligatoire, sous peine d'être dans l'illégalité !

Éditez le fichier /home/$USER/.wine/user.reg. Cherchez une ligne similaire à celle-ci ou créez-la (1195992268 est, en version raccourcie, la date d'installation de wine. Elle sera donc différente pour vous) :

[Software\\Wine\\DllOverrides] 1195992268

Copiez en dessous d'elle le contenu suivant :

"d3d8"="builtin"
"d3d9"="builtin"
"d3dim"="native"
"d3drm"="native"
"d3dx8"="native"
"d3dx9_24"="native"
"d3dx9_25"="native"
"d3dx9_26"="native"
"d3dx9_27"="native"
"d3dx9_28"="native"
"d3dx9_29"="native"
"d3dx9_30"="native"
"d3dx9_31"="native"
"d3dx9_32"="native"
"d3dx9_33"="native"
"d3dx9_34"="native"
"d3dx9_35"="native"
"d3dx9_36"="native"
"d3dx9_37"="native"
"d3dx9_38"="native"
"d3dx9_39"="native"
"d3dx9_40"="native"
"d3dx9_41"="native"
"d3dx9_42"="native" 
"d3dx10_33"="native"
"d3dx10_34"="native"
"d3dx10_35"="native"
"d3dx10_36"="native"
"d3dx10_37"="native"
"d3dx10_38"="native"
"d3dx10_39"="native"
"d3dx10_40"="native"
"d3dx10_41"="native"
"d3dx10_42"="native"
"d3dxof"="native"
"dciman32"="native"
"ddrawex"="native"
"devenum"="native"
"dinput"="builtin"
"dinput8"="builtin"
"dmband"="native"
"dmcompos"="native"
"dmime"="native"
"dmloader"="native"
"dmscript"="native"
"dmstyle"="native"
"dmsynth"="native"
"dmusic"="native"
"dmusic32"="native"
"dnsapi"="native"
"dplay"="native"
"dplayx"="native"
"dpnaddr"="native"
"dpnet"="native"
"dpnhpast"="native"
"dpnlobby"="native"
"dsound"="builtin"
"dswave"="native"
"dxdiagn"="native"
"msdmo"="native"
"qcap"="native"
"quartz"="native"
"streamci"="native"
"mscoree"="native"

Si vous n'êtes pas sûr, créez le premier override (surclassage) de la bibliothèque "d3d8" grâce à winecfg (Configure Wine dans le menu de Wine ou winecfg via la console), dans l'onglet « Bibiliothèques ». Mettez-la en "inclue".

Puis, afin de vous simplifier la vie, éditer le fichier /home/$USER/.wine/user.reg. Trouvez-y la section [Software\\Wine\\DllOverrides] et copiez-y la liste précédente ("d3d8"="builtin" devrait déjà exister).

Téléchargez la dernière version de DirectX d'ici, puis exécutez le fichier.

Il est recommandée d'effectuer l'installation deux fois pour avoir l'intégralité des bibliothèques DirectX. Une première fois en paramétrant la version de Windows en Windows 2000 avec winecfg, puis une seconde fois en paramétrant la version de Windows désirée (le mieux étant de choisir la version la plus récente -Windows 7-)

Lisez la licence affichée, puis cliquez sur "Yes" si vous l'acceptez1). Choisissez le chemin d'extraction des fichiers et cliquez encore sur "Yes".

Rendez-vous au chemin d'extraction et exécutez « DXSETUP.EXE ». À ce moment-là, suivez les instructions.

FIXME Cette erreur est-elle toujours d'actualité?: Relancez « DXSETUP.EXE » une seconde fois. Si vous ne le faites pas, une erreur de réseau sera affichée et DPlay ne fonctionnera pas correctement.

Exécutez le fichier /home/$USER/.wine/drive_c/windows/system32/dxdiag.exe afin de tester les différents composants de Wine.

Vous pouvez maintenant tester ddraw, ddraw 3D, D3D8, et D3D9.

Si le fichier « dxdiag.exe » n'apparaît pas c'est que l'extraction n'a pas fonctionné. Modifiez alors dans winecfg la version de Windows (2003/XP/2000) et recommencer l'extraction.

Dans un terminal, tapez :

gedit ~/.wine/drive_c/Direct3D.reg

Mettez-y le contenu suivant:

REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"DirectDrawRenderer"="OpenGL"
"Multisampling"="enabled"
"OffscreenRenderingMode"="fbo"
"PixelShaderMode"="enabled"
"UseGLSL"="disabled"
"VertexShaderMode"="hardware"
"VideoMemorySize"="xxx"

Ou xxx représente votre quantité de mémoire vidéo. Faites variez vos paramètres direct3d en fonction de vos besoins : par exemple pour lancer Command and Conquer 3 avec Wine vous devez changer la valeur UseGLSL en "enabled" sans quoi vous risquez de rencontrer de sérieux problèmes d'affichage une fois le jeu lancé ; par contre pour améliorer les performances des jeux steam comme Counter Strike Source vous devez désactiver cette valeur en la passant à "disabled".

À propos de la valeur "Multisampling": Si activé, cette valeur permet d'utiliser l'anticrénelage dans les applications 3D et les jeux, mais elle peut-être source de problèmes notamment avec l'utilisation du FBO.

Ensuite, de nouveau dans un terminal :

cd  ~/.wine/drive_c/
regedit Direct3D.reg
Plus d'informations sur les différents paramètres de la base de registre ici

Vous notez que sont installées dans « system32 », « d3dx9_24.dll » à « d3dx9_36.dll ». Cela aide beaucoup pour faire fonctionner des jeux requérants ces DLL DirectX additionnelles.

Maintenant vous pouvez lancer la plupart des dll DirectX comme « native » ou « builtin ». Par exemple, si un jeu pose problème à cause de « quartz.dll » en « builtin », vous pouvez le tester en mode « native ».

Gardez à l'esprit que d3d8, d3d9 et ddraw fonctionnent seulement en "builtin ». Essayez au maximum d'utiliser dsound et dinput en « builtin » ; même si cela fonctionne parfois. La raison de ce mode est le besoin de ces DLL d'accéder directement au matériel. Direct Music et Direct Play peuvent s'utiliser en « native » dans la plupart des cas.

D'autres configurations de Wine & DirectX semble nécessaire pour certains jeux, voir par exemple :


Contributeurs : devildante, Spartan234.


1)
Sinon, vous pouvez quitter cette page.
  • wine_directx.1273653786.txt.gz
  • Dernière modification: Le 18/04/2011, 14:39
  • (modification externe)