К основному контенту

Запуск "Петька и Василий Иванович спасают галактику" в Linux через wine

Совсем недавно, почему-то вспомнил про серию "Петька и Василий Иванович". К своему удивлению, обнаружил, что первую и вторую часть портировали на android.

Решил поставить себе на ПК. Под wine он отлично поставился, но первая проблема, это отсутствие кодека для видео. Надо скачать iv5setup.exe . Но тут есть хитрость, есть ставить все компоненты, то инсталляция завершится неудачей. Для Петьки нужен только ir32_32.dll, так что если выбрать в инсталляторе только версию 3, то всё будет хорошо.

Для запуска Петьки без диска можно скопировать все полезные файлы с дисков (*.STR, intro.avi, Disk{1..3}.id).

Перед запуском ещё лучше установить в winecfg виртуальный рабочий стол, игра запускается в разрешении 640x480 и может попортить разрешение рабочего стола.

И вот Петька запустился - и звук есть и не тормозит, но есть один сильный косяк с отрисовкой некоторых объектов - кажется, что не работает прозрачность -

Я долго игрался с параметрами wine касающимися direct3d и directdraw, но ничего путного не вышло.

Потом решил, была не была, спрошу в теме на 4pda про Петьку, так как её курирует предствитель разработчиков, а на android Петька запускается через wine (exagear от Eltechs).

Оказалось, что они таки фиксили этот баг и правки есть в репозитории https://github.com/Eltechs/wine/tree/exagear_petka

Оставалось только скомпилировать wine из их репозитория и проверить результат.

Как лучше компилировать wine и, в частности, как компилировать 32-битную версию на 64-битной ОС описано тут http://wiki.winehq.org/BuildingWine

Я выбрал метод с chroot, как менее затратный.
Т.е. делаем chroot и заходим в него.
Версия wine в гит репе - 1.6, соответственно если в репах дистрибутива есть такая версия, то зависимости для сборки можно поставить пакетным менеджером. Хотя думаю и от другой версии тоже вполне себе подойдет, может придётся доставить пару пакетов, или изменить их версии. Но проще сделать chroot с подходящим дистрибутивом, я выбрал Ubuntu Trusty.

Т.о. в другой консоли копируем в chroot файл /etc/apt/sources.list:
sudo cp /etc/apt/sources.list /srv/chroot/ubuntu_i386/etc/apt/
В моём случае, после правки /etc/apt/sources.list:
sed -i 's/^# deb-src/deb-src/g' /etc/apt/sources.list
apt-get build-dep wine1.6
Клонируем себе репу (или скачиваем архив):
git clone -b exagear_petka --single-branch https://github.com/Eltechs/wine.git wine
И компилируем:
mkdir wine32 wine_petka
cd wine32
../wine/configure --prefix=/
make -j5
make install DESTDIR=/srv/wine_petka/
Теперь можно забрать с chroot "установленный" wine.
cp -r /srv/chroot/ubuntu_i386/srv/wine_petka /some/games/
И уже у себя в системе (установочный диск (образ или папка) в моем случае в wine видна как E:, хотя можно прописать и unix путь, но тогда, кажется, в реестре wine у игры пропишется не правильная буква диска, но тут это не принципиально, так как игра всё равно не хотела запускаться с диском):
mkdir /some/games/wine_petka1
WINEPREFIX=/some/games/wine_petka1 wine_petka/bin/winecfg
WINEPREFIX=/some/games/wine_petka1 wine_petka/bin/wine ~/Загрузки/iv5setup.exe
WINEPREFIX=/some/games/wine_petka1 wine_petka/bin/wine E:\\SETUP.EXE

После установки игра, в отличии от прошлых попыток отказалась запускаться с ошибкой dsound.
Решается быстро через winetricks (но не факт, что правильно :-) )
WINEPREFIX=/some/games/wine_petka1 WINE=/some/games/wine_petka/bin/wine winetricks dsound
Опять копируем файлы для запуска без диска, заходим в папку с игрой и запускаем:
cd /some/games/wine_petka1/drive_c/Program\ Files/SKIF/Petka
WINEPREFIX=/some/games/wine_petka1 /media/WD1001FALS_1TB/games/wine_petka/bin/wine Petka.exe

Ииииииии....
И всё хорошо -

Wine сам сделает ярлык типо ~/.local/share/applications/wine/Programs/BUKA/S.K.I.F/Petka.desktop, можно его скопировать на рабочий стол и сделать исполняемым, в ярлыке уже прописан правильный Path, но надо поправить Exec, так как в моём случае путь к вайну не был абсолютным.

В идеале, было бы круто написать скрипт для playonlinux и попросить их ещё собирать wine у себя. Может, если будет время и желание ;-)

Будем надеятся, что для запуска скоро выходящего Red Comrades Save the Galaxy: Reloaded всё это не понадобится и он будет нативным, благодаря Unity (новость).

P.S.
На всякий случай - скомпилированный wine, для Петьки положил сюда. (Должен работать как минимум на Ubuntu 14.04)

Комментарии

Популярные сообщения из этого блога

Запуск "Петька 3: Возвращение Аляски" в Linux через wine

Очередная часть Петьки и Василий Ивановича - "Петька 3: Возвращение Аляски" тоже хорошо работает в linux под wine. В игре используется отличный от прошлых частей движок, так что патченный wine не нужен. Начало как обычно: $ WINEARCH=win32 WINEPREFIX=/some/games/wine_petka3 WINEDLLOVERRIDES=winemenubuilder.exe=d wineboot В игре используются видеоролики кодированные DivX, соответственно можно сразу поставить кодек, а потом запустить установку: $ WINEARCH=win32 WINEPREFIX=/some/games/wine_petka3 WINEDLLOVERRIDES=winemenubuilder.exe=d winetricks xvid $ WINEARCH=win32 WINEPREFIX=/some/games/wine_petka3 wine E:\\Setup.exe  Запускать как и раньше можно по ярлыку из ~/.local/share/applications/wine/Programs/Buka/Петька 3/Петька 3 - Возвращение Аляски.desktop, скопировав его на Рабочий стол и сделав исполняемым. Хотя в моём случае ярлык на Рабочий стол создался сам и правильным. В консоли лучше тоже запускать ярлык, ибо когда я запускал exe и полноэкранный режим - были а

isz-tool: конвертация .ISZ в .ISO

Если вдруг у вас есть образ .ISZ, то в linux его нечем примонторовать/открыть. Но зато добрый человек написал утилиту для конвертации .ISZ в .ISO -  https://github.com/oserres/isz-tool