Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Cette page est considée comme vétuste et ne contient plus d'informations utiles.
Apportez votre aide…

Installer DirectX sous Wine

Pour des questions de licence, Wine n'intégrera jamais l'API complète de Microsoft, ces manipulations restent donc d'actualité et ce malgré le travail accompli par les développeurs de 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

Si, avec la nouvelle version de Directx 9.0c (Juin 2010) vous avez un problème au début de l'installation, configurez Wine avec "winecfg" ou allez dans "Applications>Wine>Configurer Wine". Ensuite, choisissez "Windows 7" (ou une version supérieure) comme version de Windows (en bas).

Pré-installation

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.

É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).

Installation

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

Les bibliothèques DirectX installées changent avec la version de Windows paramétrée dans 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.

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.

Lors de l'installation de DirectX il peut vous demander le net framework 2 ! Pour l'installer ouvrez un terminal et entrez "winetricks dotnet20" (sans les guillemets) - cf doc ubuntu

Test

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.

Paramètres Direct3D

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

Note

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 :

Sources


Contributeurs : devildante, Spartan234.

1) Sinon, vous pouvez quitter cette page et aller danser la salsa.

wine_directx.txt · Dernière modification: Le 12/11/2013, 11:51 par 178.250.208.80
Le contenu de ce wiki est sous licence : CC BY-SA v3.0