S.T.A.L.K.E.R. via Wine или Запуск игры Сталкер (Stalker) в Wine
Intro
Собственно основное содержание статьи уже отражено в названии, но есть один маленький нюанс: запуск из Arch Linux x86_64.
Установка софта
Итак, для начала нужно поставить wine, проблемы нет для обладателей 32 битных дистрибутивов, у меня же x86_64.
В Arch64 есть коллекция библиотек в группе lib32-* которые нужны для запуска 32 битных программ на 64битном окружении. Внимательно посмотрев список, не нахожу там wine, для начала расстраиваюсь и иду на AUR иду на вкладку Packages и в поиске вводим wine в результате находим проект bin32-wine скачиваем тарбол со всеми необходимым файлами.
Допустим положили тарбол в /tmp/wine, тогда дальше необходимые шаги:
- распаковываем:
tar xzf bin32-wine.tar.gz
- переходим в каталог:
cd bin32-wine
- запускам команду билда:
makepkg
и…
Убеждаемся что у нас нехватает зависимостей, тогда делаем: pacman -Sy
и потом pacman -S
на нужные для wine пакеты.
После чего опять запускаем построение пакета, в результате получаем бинарник типа bin32-wine-0.9.44-1-x86_64.pkg.tar.gz
и добавляем его в систему: pacman -A bin32-wine-0.9.44-1-x86_64.pkg.tar.gz
Все, на этом установку необходимого софта можно считать законченной. Приступаем к установке игры.
Установка игры
Для начала нужно определиться: а оно вам нужно? Если да, то проверьте: нужно места около 10 Гб на установку, остальные требования должны быть перечислены на диске игры. У меня на карточке nVidia GeForce 6500 (производитель Asus, на борту 256 Мб памяти) и процессоре Athon64 3200+ с 1 Гб памяти играть возможно в данных условиях, только не нужно включать динамическое освещение (про него отдельно и дальше).
Ладно, приступим к установке, примонтируем диск, с диска запустим wine setup
в мастере все делаем по шагам, когда начнет ставить DirectX (в конце) скорее всего обломится, ну и фиг с ним, не страшно.
Все, установка никаких проблем не вызвала.
Запуск игры
Ну теперь уже ручки чешутся. Ну начнем…
cd ~/.wine/drive_c/Games/STALKER/bin
wine XR_3DA.exe
и…
ОБЛОМ! нифига не запускается… что делать, полез на гугль, нашел информацию что нужно типа использовать ключ -dsound
в ком-строке, пробую: wine XR_3DA.exe -dsound
и… АЛЛИЛУЯ! запустился и играется, и все так почти замечательно :)
Исправляем косяки
Итак, игра запустилась и бегает и вообще… Пока не возьмем в руки новое оружие, и тут наблюдаем косяк - оно не прорисовывается! Т.е. руки в положении так, как будто мы его держим, даже стреляется, но само оружие не видно, играть можно но неприятно.
Опять полез в гугль, и опать он дал мне полезное информации, одна из полезных ссылочек: http://appdb.winehq.org/objectManager.php?sClass=version&iId=7377
В общем, нужно немног потюнить записи в реестре относительно настроек DirectX.
Итак, открываем файл ~/.wine/user.reg
находим ключ [Software<br/><br/>Wine<br/><br/>Direct3D]
у меня там была одна запись: "PixelShaderMode"="enabled"
для Сталкера рекомендовалось включить:
"OffscreenRenderingMode"="fbo"
"UseGLSL"="enabled"
Просто добавьте эти строчки сразу после начала секции.
Запускам игру, опппа! Появилась возможность выбрать динамическое освещение, запускамся в игру смотрим, что оружие началось прорисовываться, но игра стала заметно больше тормозить, особенно при взгляде на большие пространства. Неприятно.
Выходим из игры, и думаем… Да мы добавли две опции, а что если попробывть их скомбинировать и что бы не тормозило и что бы оружие рисовалось, ведь по сути, особо нам не нужно это самое динамическое освещение.
Убираем строку OffscreenRenderingMode и опять запускаем игру. Отлично, динамического освещения нет, игра идет как раньше, и оружие рисуется, что хотели, того добились. Теперь играем.
Ставим патчи
TODO
Полезные ссылки
- http://appdb.winehq.org/objectManager.php?sClass=version&iId=7377 - страница из базы данных программ запускаемых в wine
- http://wiki.winehq.org/UsefulRegistryKeys - полезные ключи реестра wine их возможные значения, и описание
(c) Alexander ‘hatred’ Drozdov, Vladivostok, 2007