пятница, 8 февраля 2008 г.

3D игры в (K)ubuntu. Wine + DirectX 9

Под 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.


Взял отсюда...

4 комментария:

Анонимный комментирует...

Бальшое спасибо!!!!
Очень важный материал для меня.
А для DX10 что изменитьнужно???

Анонимный комментирует...

У меня там какое-то предупреждение об отсутствии net.framework 2.0 вылезло, так и надо?

Анонимный комментирует...

Вот тебе раз... после выполнения всего вышеуказанного теперь любая игра при запуске говорит мне что мне нужно иметь в системе по "крайней мере DirectX 8"... что делать?

alex комментирует...

Купила новый ноут, а на нём Linux, вот теперь маюсь, спасибо за статью, охота в чё-нить новенькое поиграть.
туры из донецка