DirectX 9.0c на Linux с Wine.

Перевод статьи взятой с http://wine-review.blogspot.com
Автор перевода: Агарков Сергей (ZoRg)

O DirectX

Microsoft DirectX это коллекция программных интерфейсрв для управления задачами относящимися к мультимедиа, а именно для программирования игр и видео, на платформах от Microsoft. Изначально название данного API начинались с Direct, например как Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, и так далее. DirectX, стал неким обобщением различных Direct API, и стал именем всего этого набора. В течении некоторого времени некоторые из этих API были убраны и изменены, и из-за этого это представление имен более не абсолютно. По сути приставка X получила популярность до такой степени, что он пришла на смену Direct, как например в общих названиях новых технологий DirectX, в том числе XAct, XInput, и так далее.

Direct3D (это модули 3D графики в DirectX) которые часто используются при создании игр для Microsoft Windows, Microsoft Xbox, и Microsoft Xbox 360. Direct3D также используется другими программами для визуализации и работы с графикой, в основном в секторе инженерных разработок CAD/CAM из-за его возможности быстро отрисовывать высококачественную 3D графику используя DirectX-совместимое оборудование. Так-как Direct3D набиболее часто используется в DirectX, и из-за этого часто используют название именно DirectX вместо Direct3D.

Настройка Wine

Эти настройки приведены с чистым каталогом конфигурации и запущенно на виртуальном рабочем столе с разрешением 1024*768.

$ winecfg

После того как эта утилита создаст директорию .wine, вы сможете установить виртуальный рабочий стол в вкладке конфигурации по вашему желанию. Также желательно настроить конфигурацию аудио выхода в соответствующей вкладке.

Следующим шагом нужно установить родные Windows библиотеки mscoree.dll и streamci.dll в /system32 из установленной Windows и затем установить в родной Windows.

Перейдите в ~/.wine/drive_c/windows/system32 и переименуйте следующие файлы d3d8, d3d9, ddraw, dsound, dsound.vxd, quartz библиотеки в *.bak

Если вам нужно установить множество родных Windows библиотек для корректной дальнейшей работы приложений то вот полный список библиотек необходимых для установки:

“d3d8″=”native”
“d3d9″=”native”
“d3dim”=”native”
“d3drm”=”native”
“d3dx8″=”native”
“d3dxof”=”native”
“dciman32″=”native”
“ddrawex”=”native”
“devenum”=”native”
“dinput”=”native”
“dinput8″=”native”
“dmband”=”native”
“dmcompos”=”native”
“dmime”=”native”
“dmloader”=”native”
“dmscript”=”native”
“dmstyle”=”native”
“dmsynth”=”native”
“dmusic”=”native”
“dplay”=”native”
“dplayx”=”native”
“dpnaddr”=”native”
“dpnet”=”native”
“dpnhpast”=”native”
“dswave”=”native”
“dxdiagn”=”native”
“mscoree”=”native”
“quartz”=”native”
“streamci”=”native”

Установка DirectX

Скачайте последний Ноябрьский DirectX по этой ссылке.

Программа directx_nov2007_redist.exe извлечет необходимые файлы в каталог который вы выберите.

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 ~ $

Теперь перейдите в каталог куда вы извлекли программу устаноки DirectX и запустите DXSETUP.EXE.

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 на builtin wine.

Теперь запустите dxdiag.exe

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!

Теперь нам надо установить gm.dls для проверки Direct Music, файл драйвера находится в ~/.wine/drive_c/windows/system32/drivers

Вам будет сообщено что system32 d3dx9_24.dll для d3dx9_36.dll установленно, это помогает когда для игры потребуются дополнительные DirectX библиотеки.

Теперь у вас есть возможность запускать большенство приложений которым требуются родные DirectX библиотеки, например если у вас есть игры которые некорректно работают с внутренними библиотеками Wine quartz.dll вы сможете проверить игру с родными для Windows библиотеками для исправления ситуации.

Запомните d3d8, d3d9, ddraw работают только как встроенные, и в большенстве случаев вы должны использовать встроенные библиотеки dsound и dinput. Я добился ограниченного успеха (dsound и dinput) с родным Windows режимом. Смысл использования встроенных библиотек в прямом доступе к вашему железу, direct music и direct play могут использоваться в родном windows режиме в большинстве случаев..

P.S. Примечания и дополнения по переводу пишите в комментах. 

P.P.S. Распространение данного текста приветствуется но с сохранением ссылок авторства и ссылкой на адрес этой статьи или нашего сайта http://mydiary.net.ru

Метки: , , ,

3 отзывов на “DirectX 9.0c на Linux с Wine.”

  1. eR сказал:

    ыыы thx

  2. Администратор сказал:

    Всегда пожалуйста :)

  3. Prof сказал:

    Работает !

Оставить комментарий