четверг, 14 октября 2010 г.

Настройка Wine и Directx в Ubuntu



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.

Источник: http://klek.blogspot.com/2008/02/3d-kubuntu-wine-directx-9.html

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

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