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 par 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 native à 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 native 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"
"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éer 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 là en "inclue".

Puis, afin de vous simplifiez 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" devrais déjà existé).

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

Avant l'installation, il est impératif de paramétrer la version de Windows en Windows 2000 avec winecfg.

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.

Relancez « DXSETUP.EXE » une seconde fois. Si vous ne le faîtes 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.

allo lol

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 dans mon cas 768. Faites variez vos paramètres direct3d en fonction de vos besoin: par exemple pour lancer Command and Conquer 3 avec wine vous devez changer la valeur UseGLSL en "enabled" sans quoi vous risquez de rencontrez 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ésactivez cette valeur en la passant à "disabled".

A propos de la valeur "Multisampling" Veuillez noter que dans mon cas j'ai activé l'utilisation du Multisampling, mais son activation peut entraîner de nombreux bugs, c'est pourquoi je vous conseille de la désactiver en changeant sa valeur à "disabled".

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.ton tuturiel sans la marde il marche pas et il pu ses de la fausse publiciter


1)
Sinon, vous pouvez quitter cette page.
  • wine_directx.1236978980.txt.gz
  • Dernière modification: Le 13/03/2009, 22:16
  • par 213.95.41.13