{{tag>Xenial jeu wine}}
----
====== Installer DirectX sous Wine ======
Cette manipulation est fortement déconseillée pour la majorité des utilisateurs de Wine. Il est préférable dans la l'ajout de certaines librairies comme **DirectX**. Si malgré tout PlayOnLinux ne vous convient pas, cette documentation pourra vous être utile.
Les versions récentes de [[:Wine]] propose par défaut plusieurs versions des bibliothèques **DirectX**, cependant en cas de besoin des versions natives, il est possible d'utiliser l'option **d3dx9**. En effet la bibliothèque **d3dx9_xx.dll** est requise pour le fonctionnement de certaines applications avec [[:Wine]]. Vous trouverez sur cette [[https://wiki.winehq.org/DirectX-D3DX9|page]] une courte liste d'applications necéssitent son installation.\\
Si vous essayez de lancer une application requérant DirectX sous Wine, vous aurez sûrement l'erreur suivante : **Vous utilisez une ancienne version de DirectX**. De cette manière vous saurez qu'il vous faut l'installer. Par contre il est fortement déconseillé d'installer **DirectX9** en entier, cela risque de perturber votre utilisation de Wine.\\
Pour des questions de licence, Wine n'intégrera jamais l'API complète de Microsoft, les manipulations qui suivent restent donc d'actualité et ce malgré le travail accompli par les développeurs de Wine!\\
Si, avec une version récente de DirectX vous avez un problème au début de l'installation de votre application sous Wine, configurez Wine avec "winecfg" en faisant une recherche dans [[:unity#tableau_de_bord_dash|le tableau de bord Unity]] avec le mot clé **Wine**, puis choisissez **Configurer Wine**. Ensuite, choisissez "Windows 7" (ou une version supérieure) comme version de Windows (en bas).
=====Installation des bibliothèques par défaut de Wine=====
Wine utilise ses propre librairies **DirectX**. Mais toutes ne sont pas activées par défaut. Pour les activer faites une recherche dans [[:unity#tableau_de_bord_dash|le tableau de bord Unity]] avec le mot clé **Wine**, puis choisissez **Configurer Wine**. Ou lancez l'application via la commande : winecfg
Ensuite, allez dans l'onglet //Bibliothèques -> Nouveau remplacement pour -> Ajouter -> Modifier -> Intégré (wine)//.\\
Cependant cette opération peut vite devenir lourde car vous avez besoin de préciser un grand nombre de DLL comme natives pour que l'installation fonctionne correctement. C'est pourquoi vous pouvez vous simplifier la tâche en [[:tutoriel:comment_editer_un_fichier|éditant le fichier]] caché **.wine/user.reg** dans votre **Dossier Personnel**.\\
Cherchez ou créez une ligne similaire à celle-ci :
[Software\\Wine\\DllOverrides] 1195992268
En sachant que 1195992268 est, en version raccourcie, la date d'installation de Wine. Elle sera donc différente pour vous. Puis copiez en-dessous d'elle le contenu suivant qui est la liste complète des bibliothèques dont vous aurez besoin :
"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"
Les bibliothèques DirectX installées changent avec la version de Windows paramétrée dans winecfg.
=====Installation des bibliothèques natives avec Winetricks=====
Si les bibliothèques proposé par défaut ne fonctionnent pas, vous pouvez installer les versions natives de DirectX, avec [[:Winetricks]]. Faites une recherche dans [[:unity#tableau_de_bord_dash|le tableau de bord Unity]] avec le mot clé **Winetricks**. Puis choisissez : //Select the default wineprefix > Install a Windows DLL or component//.\\
Il ne vous reste plus qu'à cocher les cases des bibliothèques **DirectX** qui vous intéressent comme : **d3dx9** et les lignes qui commencent par **d3dx** en général.\\
Plus simplement vous pouvez lancer la commande dans un [[:terminal]]: winetricks d3dx9
Lors de l'installation de DirectX il peut vous demander le net framework 2. Dans ce cas installez aussi **dotnet20**. En ligne de commande :
winetricks dotnet20
Reportez-vous à cette page de la [[:dragon_age_origins#installation_de_modules_pour_wine|documentation ubuntu]] pour plus d'informations.
===== Paramètres Direct3D =====
FIXME
Dans un terminal, tapez : (Créé à partir de rien?)
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 [[https://wiki.winehq.org/UsefulRegistryKeys|ici]]
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.
===== Voir aussi =====
* [[:wine_trucs_et_astuces|La page de la doc sur les trucs et astuces pour wine]],
* [[http://www.wine-reviews.net/microsoft/directx-90c-march-2008-redistributable-on-linux-with-wine.html|Wine Reviews]] [en]
* [[http://wiki.winehq.org/Native_D3DX9|la page su winehq qui traite de DirectX]].
----
//Contributeurs : [[utilisateurs:devildante]], Spartan234.//