Твой софтовый форум > Тематические форумы > Операционные системы > *NIX

DirectX 9.0c on Linux with Wine

,

не OpenGL единым

Дата публикации: 20.06.2008 - 18:34
ЭЖД
ph34r.gif Использование библиотек 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 ~ $


Твой софтовый форум

Твой софтовый форум


Перейдите в директорию которую вы указали и запустите 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.


Твой софтовый форум

Твой софтовый форум

Твой софтовый форум


Запустите 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!


Твой софтовый форум

Твой софтовый форум

Твой софтовый форум


Вы можете проверить 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
Fritz
у кого-нибудь это счастье сработало?
Fritz
- похожий рецепт - но в нем поменьше кликаний мЫшкой


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: DirectX 9.0c on Linux with Wine
SoftoRooM © 2004-2024