Поиск по этому блогу

пятница, 5 февраля 2010 г.

Wine и DirectX 9c

Под Linux существует множество довольно интересных игр, но что делать, если хочется поиграть во что-нить новенькое, 3D-ое, которое обычно выпускается только под форточкой!

Есть несколько вариантов выйти из положения:

1) Использовать нативные версии игр, выпущенные специально под Linux. К таким играм относятся, например, игры компании idSoftware (все помнят Quake4, Doom3, Enemy Territory: Quake Wars), за что им отдельное спасибо.
2) Использовать эмуляторы Wine или Cedega. Wine поддерживает множество виндовых программ и игр, но к сожалению не поддерживает DirectX 9, а ведь именно эту библиотеку используют многие современные игры. Cedega в этом плане немного опередила Wine - добавив у себя поддержку DirectX 9, но в плане юзабилити Cedega очень и очень придирчива к тому, что она запускает (реально запустить под Cedega у вас получится всего пару игр).

Ну что же, будем исправлять положение, установим поддержку DirectX 9 для Wine.

Устанавливаем последнюю версию wine. Для этого добавим себе официальный репозиторий Wine HQ для Ubuntu 7.10

wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -

sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/winehq.list

и устанавливаем wine

sudo apt-get update

sudo apt-get install wine

Если у вас уже установлен wine, то для чистоты эксперимента, удалите папку с настройками wine (или перенесите ее в другое место):

rm -dr ~/.wine

1. Для создания папки с настройками, в первый раз, запускаем конфигуратор wine:

winecfg

2. Теперь ищем в интернете или, если у вас установлен на компе ЗлоХП, копируем из папки windows\system32\ файлы mscoree.dll и streamci.dll в папку ~/.wine/drive_c/windows/system32/

3. Удаляем wine'ские файлы d3d:

cd ~/.wine/driver_c/windows/system32/

rm d3d8.dll d3d9.dll ddraw.dll dsound.dll dsound.vxd quartz.dll dxdiagn.dll

4. Редактируем файл user.reg:

gedit ~/.wine/user.reg

в конец файла вставляем:

[Software\\Wine\\DllOverrides] 1196330736
"d3d8"="native"
"d3d9"="native"
"d3dim"="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"

5. Распаковываем последнюю версию DirectX (скачать последнюю версию можно отсюда):

wine directx_nov2007_redist.exe

6. Выбираем папку куда распакуются файлы, после распаковки переходим в эту папку и запускаем установку:

wine DXSETUP.EXE

7. Снова запускаем конфигуратор wine:

winecfg

7.1. Переходим на вкладку 'Библиотеки', выбираем из ниже приведенного списка названия библиотек, нажимаем редактировать и выбираем пункт 'Встроенная (Wine)'
d3d8, d3d9, ddrawex, dinput, dinput8

8. Запускаем диагностику DirectX:

wine dxdiag.exe

8.1. В окне диагностики переходим на вкладку 'Дисплей' и выполняем тест 'Проверка Direct3D'.

Если все тесты прошли успешно, то все отлично, теперь у вас в wine есть поддержка DirectX 9, с чем я вас и поздравляю!!! Теперь запускайте ваши любимые игры и наслаждайтесь, но учтите, даже с поддержкой dx9, многие игры до сих пор еще не работают в wine.

P.S. Различные нюансы по запуску нужной вам игры вы можете посмотреть в базе приложений Wine HQ.

Исходники

Комментариев нет:

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