Использование библиотек DirectX 9.0c на благо Wine
Крато о DirectX
DirectX — это коллекция API, разработанных для простого и эффективного решения задач, связанных с игровым и видеопрограммированием под Microsoft Windows и Windows NT. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Ранее DirectX вкладывался разработчиками в дистрибутивы игр, но сейчас он включен в стандартный набор ПО Windows. На данный момент самой свежей версией является DirectX 10. Зачастую, свежие версии DirectX поставляются вместе с игровыми приложениями, так как DirectX API обновляется достаточно часто, и версия, включенная в ОС Windows зачастую является далеко не самой новой.
Настройка Wine
Очистите каталог с файлами настроек и запустите на виртуальном рабочем столе 1024x768 (разрешении).
Code
$ winecfg
После в каталоге .wine создадутся конфигурационные файлы при страрте этой утилиты и вы можете установить параметры виртулаьного рабочего стола на вкладке Графика, если хотите. Натсройте ауйдио драйвера на вкладке Аудио.
следующим этапом установите родной mscoree.dll и streamci.dll в /system32 из установленной копии Windows.
Перейдите ~/.wine/drive_c/windows/system32 и переименуйте d3d8, d3d9, ddraw, dsound, dsound.vxd, quartz dll-файлы в *.bak
Вам прийдется утсановить большое колличество dll-файлов на вкладке Библиотеки, чтобы все заработало. Здесь полный список нужных dll-файлов.
"d3d8"="родная"
"d3d9"="родная"
"d3dim"="родная"
"d3drm"="родная"
"d3dx8"="родная"
"d3dxof"="родная"
"dciman32"="родная"
"ddrawex"="родная"
"devenum"="родная"
"dinput"="родная"
"dinput8"="родная"
"dmband"="родная"
"dmcompos"="родная"
"dmime"="родная"
"dmloader"="родная"
"dmscript"="родная"
"dmstyle"="родная"
"dmsynth"="родная"
"dmusic"="родная"
"dplay"="родная"
"dplayx"="родная"
"dpnaddr"="родная"
"dpnet"="родная"
"dpnhpast"="родная"
"dswave"="родная"
"dxdiagn"="родная"
"mscoree"="родная"
"quartz"="родная"
"streamci"="родная"
Установка DirectX
Скачайте нояборьскую сборку DirectX 9.0c.
Запустите directx_nov2007_redist.exe для распаковки установочных файлов.
Code
tom@tuxonfire ~ $ wine directx_nov2007_redist.exe
fixme:advapi:DecryptFileA "z:\\home\\tom\\directx-9\\" 00000000
fixme:midi:OSS_MidiInit Synthesizer supports MIDI in. Not yet supported.
tom@tuxonfire ~ $
fixme:advapi:DecryptFileA "z:\\home\\tom\\directx-9\\" 00000000
fixme:midi:OSS_MidiInit Synthesizer supports MIDI in. Not yet supported.
tom@tuxonfire ~ $
Перейдите в директорию которую вы указали и запустите DXSETUP.EXE.
Code
tom@tuxonfire ~ $ cd /home/tom/directx-9
tom@tuxonfire ~/directx-9 $ wine DXSETUP.EXE
fixme:midi:OSS_MidiInit Synthesizer supports MIDI in. Not yet supported.
tom@tuxonfire ~/directx-9 $ wine DXSETUP.EXE
fixme:midi:OSS_MidiInit Synthesizer supports MIDI in. Not yet supported.
Запустите winecfg снова и установите d3d8, d3d9, ddrawex, dinut, dinput8 в wine.
Теперь запустите dxdiag.exe
Code
tom@tuxonfire ~/directx-9 $ cd /home/tom/.wine/drive_c/windows/system32
tom@tuxonfire ~/.wine/drive_c/windows/system32 $ wine dxdiag.exe
fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),1,3,(nil),0,(nil)) - stub!
tom@tuxonfire ~/.wine/drive_c/windows/system32 $ wine dxdiag.exe
fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),1,3,(nil),0,(nil)) - stub!
Вы можете проверить ddraw, ddraw 3D, D3D8 и D3D9
Проверка Direct Sound:
Теперь нужно установить gm.dls для проверки Direct Music, этот файл должен попасть в ~/.wine/drive_c/windows/system32/drivers
Проверка Direct Play:
Вы увидите в system32 d3dx9_24.dll до d3dx9_36.dll, это действительно помогает, когда вы столкнетесь с игрой, которая нуждается в этих дополнительных DirectX dll-файлах.
Теперь можно запустить остальные DirectX dll-файлы в родном или втроенном варианте, например если в какойто игре сбой с встроенной в Wine quartz.dll - вы можете попробовать запустить игру с родным Windows dll-файлом и посмотрите, улучшит ли это ситуацию.
Помните, что d3d8, d3d9, ddraw будут работать только как встроенные и в большинстве случаев попробуйте использовать встроенные dsound и dinput. У меня работало с переменным успехом (dsound и dinput) в родном режиме... Причина в том, что dll-файлы должы быть во встроенном режиме, если есть необходимость прямого доступа к аппаратной части компьютера. direct music и direct play можно использовать в родном режиме в большинстве случаев.
Оригинал_http://wine-review.bl...with-wine.html