Как я уже говорил, моему блогу было не очень хорошо. Надо выправляться. Помните, я устанавливал и закускал Тень Чернобыля? Ну что же, проделаем ту же операцию для Чистого Неба. Текущая, установленная у меня, версия вайн:
$ wine --version wine-1.1.26
В принципе, по сравнению с версией 0.9.46, под которой мы ставил Тень Чернобыля, в этой версии изменилось очень и очень многое. Во-первых, вайн наконец-то сталк по-человечески поддерживать alsa. То есть, мне не приходится настраивать его через эмуляцию oss, я могу одновременно играть в игрушки и слушать музыку через amarok. Во-вторых, GLSL, которое мы включали правкой реестра теперь включено по-умолчанию. Ну и, конечно, улучшена поддержка win32-приложений и стандарта DirectX 9.
Первым делом удаляем директорию ~/.wine/ и запускаем wineprefixcreate. Софтинка ругается, что необходимости ее запускать нет, директория .wine создается автоматически, но я так привык и мне так удобнее. Хотя можно было обойтись без нее.
Итак, мы взяли образ Сталкера, который называется Серебрянное издание.
$ sudo mount -o loop STALKER_SILVERED.mdf /mnt/loop
$ cd /mnt/loop
/mnt/loop $ wine stk-slv-setup.exe
Поехали. Стартовая картинка инсталлятора практически не отличается от такого же, запущенного под виндой. Далее, как обычно, лицензионное соглашение, а затем определение конфигурации системы:
Затем какой-то текст с кракозябликами относительно драйвера защиты и выбор варианта инсталляции. Я Тень Чернобыля уже прошел, устанавливать мы его с вами уже устанавливали, поэтому выбираем только Чистое небо. Ну и, само-собой, русскую локализацию:
Еще три раза нажимаем "далее" - выбор места установки, создание пунктов "Главного меню" и иконки на рабочем столе. Собственно, началась установка, можно перекурить тем, кто курит.
Установка завершена. Как обычно, нам предлагают установить DirectX. Попробуем:
Очень долго, но установился без вопросов. Посмотрим, как эта солянка будет работать. Хм. Интересный шаг, создатели выбросили на экран файл readme.txt (судя по содержимому). Забавные зверюшки. Затем ввод имени пользователя и серийных номеров длямногопользовательской игры. Ну мне это не грозит, из сетевых я играю только в CS 1.6. Просто нажимаем далее. Все, осталась единственная кнопка - "Завершить":
Игра установлена, приступаем к запуску. Хотя, стоп. Там же говорили про какой-то драйвер защиты. К сожалению, под Линуксом вся эта шняга работать не будет. "Но мы то знаем" (с), где искать лекарство от подобного извращения? Я точно знаю, уже поставил.
~/.wine/drive_c/Program Files/S.T.A.L.K.E.R. - Серебряное Издание/CS/bin $ wine xrEngine.exe
Ага, а вот и первая фигушки. Какое-то окно с ошибкой, причем под сплеш-скрина от игрушки. Ну ничего. Прижимаем кнопочку alt и отодвигаем сплеш:
Ну, это очевидно. Вероятно, если бы запускали через ярлык, этой ошибки бы не было. Выходим на одну директорию выше и пробуем снова.
~/.wine/drive_c/Program Files/S.T.A.L.K.E.R. - Серебряное Издание/CS/bin $ cd ..
~/.wine/drive_c/Program Files/S.T.A.L.K.E.R. - Серебряное Издание/CS $ wine ./bin/xrEngine.exe
Опачки... Что-то запускается. Повисело и абзац. Поколдовали с настройками звука, видео. Не работает? Что делают порядочные люди в таких случаях? Правильно, лезем в гуголь:
stalker clear sky wine
И первая же ссылка дает ответ:
http://linuxforum.ru/index.php?showtopic=73973&pid=735821&mode=threaded&start=#entry735821
Действительно, после замены указанной dll запустилось, но мышь, как и ожидалось, глючит, застряла в центральном положении. Ну что же, применяем предложенный patch. Скачиваем файл http://bugs.winehq.org/attachment.cgi?id=15638 в ~/mousepatch.diff. С учетом того, что я сижу под Gentoo, придется совершить следующие операции:
$ ebuild /usr/portage/app-emulation/wine/wine-1.1.26.ebuild unpack
...
>>> Source unpacked in /var/tmp/portage/app-emulation/wine-1.1.26/work
$ cd /var/tmp/portage/app-emulation/wine-1.1.26/work/wine-1.1.26/
/var/tmp/portage/app-emulation/wine-1.1.26/work/wine-1.1.26 $ patch -p1 < ~/mousepatch.diff patching file dlls/dinput/mouse.c Hunk #1 succeeded at 331 (offset 1 line).
$ cd ~
$ sudo ebuild /usr/portage/app-emulation/wine/wine-1.1.26.ebuild merge
Запускаем.
~/.wine/drive_c/Program Files/S.T.A.L.K.E.R. - Серебряное Издание/CS $ wine ./bin/xrEngine.exe
Ого. Походу, все работает. Походу телодвижение из пункта 9 мануала даже не потребовалось. Ну и напоследок, для удобства я последнее время предпочитаю запускать приложения wine на отдельном x-клиенте:
~/.wine/drive_c/Program Files/S.T.A.L.K.E.R. - Серебряное Издание/CS $ X :1 & DISPLAY=:1 wine ./bin/xrEngine.exe
Таким образом мы избавляемся от глюков совмещения менеджера окон линукс и приложения wine.