Запуск DirectX 9.0c на Linux при помощи Wine
Microsoft DirectX - это набор библиотек с API для обработки задач, связанных с мультимедиа, игр и программ для обработки видео на платформах Microsoft. Изначально все имена этих библиотек начинались с Direct. Например: Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound и так далее. За прошедшее время некоторые библиотеки были переименованы, некоторые вообще удалены, так что теперь это название скорее дань традиции. На данный момент буква X в названии пришла на смену Direct и новые библиотеки теперь используют в названиях букву X: XAct, XInput и так далее.
Direct3D (3DGraphic API в DirectX API) широко используется при разработке компьютерных игр для Microsoft Windows, Microsoft Xbox и Microsoft Xbox 360. Direct3D используется также в прикладных программных пакетах для визуализации или обработки графики. В первую очередь его используют CAD/CAM-программы из-за быстрой отрисовки высококачественных 3D-графиков с использованием Direct3D-совместимых видеокарт. Direct3D - это самая популярная библиотека из набора DirectX, так что нередко можно увидеть как название Direct3D используется как синоним DirectX.
Конфигурация Wine
Сначала сбросим все настройки и активируем виртуальный работчий стол с разрешением 1024X768 при помощи:
$ winecfg
Утилита очистит (или создаст, если он не существует) каталог $HOME/.wine
Cоздайте c ее помощью виртуальный рабочий стол и выберите свой аудио-драйвер на вкладе Audio
Затем установите нативные библиотеки Windows (mscoree.dll и streamci.dll) в директорию /system32 из дистрибутива Windows. Затем перейдите в каталог ~/.wine/drive_c/windows/system32 и измените расширение файлов d3d8.dll, d3d9.dll, ddraw.dll, dsound.dll, dsound.vxd, quartz.dll на *.bak
Для корректной работы необходимо установить в native еще несколько dll-файлов - вот их полный список:
“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”
Загрузите DirectX9.0c November отсюда: http://filehippo.com/download_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. Затем запускаем 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!
Также проверим ddraw, ddraw 3D, D3D8 и D3D9:
И Direct Sound:
Теперь установите dm.dlls для проверки Direct Music, положите их в ~/.wine/drive_c/windows/system32/drivers
Проверка DirectPlay:
В system32 вы можете увидеть, что файл d3dx9_24.dll обновлен до d3dx9_36.dll. Это реально помогает в работе игр, которые используют эту библиотеку.
Теперь вы можете запускать библиотеки в native- или builtin-режиме. Например, если какая-нибудь из ваших игр не работает с библиотекой quartz.dll от wine, то вы можете попробовать запустить ее с “родной” библиотекой - возможно это спаест положение.
Помните, что d3d8, d3d9, ddraw будут работать только в builtin-режиме и, в большинстве случаев, вы будте вынуждены использовать встроенные dsound и dinput. В большинстве случаев не получалось использовать dsound и dinput в native-режиме, потому что этим dll необходим прямой доступ к аппаратной части вашего компьютера.
Напротив, DirectMusic и DirectPlay вплне могут использоваться в native.
Оригинал:
23.11.07 | *NIX |




















Пытался установить - в процессе сетупа директХ вылазит баг. В логах написано
——————–
[12/13/07 23:52:38] module: dsetup32(Jan 24 2007), file: setup.cpp, line: 545, function: IsWow64
Unable to initialize CKernel32.
и никак….
при установке директХ ругается -
light@99:~/C:/temp$ wine DXSETUP.exe
fixme:advapi:RegisterEventSourceW ((null),L”.NET Runtime”): stub
fixme:advapi:ReportEventW (0xcafe4242,0×0001,0×0000,0×00000000,(nil),0×0001,0×00000000,0×7e447f0c,(nil)): stub
err:eventlog:ReportEventW L”.NET Runtime version : 2.0.50727.42 - ErrorA fatal error occurred. However, mscorees.dll could not be loaded to display the appropriate error message.\n\nPlease reinstall the .NET Framework.”
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
mscoree.dll выдрал с winXP SP2, фрамеворк пытался ставить там же - не ставится
если dx ругаеться на .NET Framework то значит старая mscorees.dll нужно свежую с нета качнуть……
Много уважаемые Гаспода.
При установке и эксплотации вазникли 3 глюка.
1. Работает толька direct9 (b,c не пашут)
2. При задании библиатекам встроеная или родная directa вообще нет.
3. Отсутствует dxdiagnostic.
P.S. Огромная просьба если не влом скиньте свая папку windows на мыло.
legion_reg@tut.by
Скиньте и мне пожалуйста папку виндовс на мыло:
Yorikworld@gmail.com
Спасибо зарание :)
Может телеграммой?
А почему бы так не подключить и еще виндовские дрова видеокарты (или точнее их библиотеки, там дополнительные инструкции к DX должны быть) Может также добавить производительности системы, и поводов переехать на пингвина =).