Запуск directx игр под wine
Исправлено 20.01.2010
Неактуально для Fedora 13, т.к. поддержка directx включена в wine.
В общих словах:
Устанавливаем и проверяем драйверы видеокарт, поддерживающие 3D
Устанавливаем и настраиваем wine
Устанавливаем и проверяем directx9
Делаем копию ~/.wine
Устанавливаем и проверяем игру
Копируем (переносим) ~/.wine с установленной игрой в папку, где будут находиться игры
Запускаем игру с префиксом \«env WINEPREFIX\»
Удаляем содержимое ~/.wine и копируем туда сохранённую ранее конфигурацию wine с установленным directx (см. п/п 4)
Устанавливаем следующую игру
Установка игр (да и других программ) под wine вышеуказанным способом позволяет иметь различные конфигурации и не сваливать всё в одну кучу.
Подробнее:
Установку драйверов видеокарт здесь не рассматриваю. Эта тема уже не актуальна, по крайней мере для NVIDIA.
Устанавливаем wine из репозиториев. На x86_64 надо устанавливать 32-х разрядный wine. Если wine уже установлен, удаляем папку ~/.wine
Запускаем winecfg
Устанавливаем параметры:
<spoiler|Приложения>
</spoiler>
<spoiler|Графика>
</spoiler>
<spoiler|Звук>
</spoiler>
Эмуляция рабочего стола желательна при начальной настройке, впоследствии её можно отключить.
-
Запускаем winetricks и выбираем directx9 (вместо directx9 можно установить d3dx9). После чего начинается закачка последней рекомендуемой версии directx9.
Всё скачанное winetricks сохраняет в папку кэша - ~/.winetrickscache.
По окончании закачки запускается стандартный установщик directx.
Возможно, что directx можно установить и без winetricks…
Проверяем корректность работы directx - \«wine dxdiag.exe\» в папке ~/.wine/drive_c/windows/system32 (у меня наблюдалось не плавное вращение куба, а какое-то хаотичное, но это никак не влияло на работу игр).
Если directx работает, делаем копию папки ~/.wine где нибудь в сторонке, что-бы, в случае чего, не повторять вышеуказанное.
Также эта копия будет заготовкой для других игр.
Теперь можно установить какую-либо игру. Как правило, все игры ставлю в \«c:\game\» для упрощения запуска.
Если игра установилась и заработала, запускаем winecfg и отключаем эмуляцию рабочего стола и ещё раз проверяем работоспособность игры.
Копируем (переносим) содержимое ~/.wine в папку с играми, например, в /media/storage/games/wine/game1.
Для запуска можно сделать скрипт и положить его в папку с игрой:
#!/bin/bash
MAINPATH="/media/storage/Games/wine/" # Папка со всеми играми
GAMEFOLDER="serious-sam" # Папка с игрой
EXECUTEFILE="C:\\game\\Bin\\SeriousSam.exe" # Запускаемый файл
env WINEPREFIX=$MAINPATH$GAMEFOLDER wine $EXECUTEFILE
или
!/bin/bash
xrandr -s 1024x768
cd /media/storage/Games/wine/humans/drive_c/Program\ Files/Deep\ Silver/The\ Humans
env WINEPREFIX="/media/storage/Games/wine/humans" wine "C:\Program Files\Deep Silver\The Humans\Humans.exe"
xrandr -s 1280x1024
Некоторые вопросы, возникшие в процессе:
Владелец папки ~/.wine или её копии должен быть именно пользователь, от имени которого запускается игра. Таким образом, возможны трудности с запуском на NTFS или FAT.
Некоторые игры пытаются переключить разрешение экрана, вследствие чего, рабочее пространство располагается в центре, а по краям - толстый чёрный бордюр:
Перед \«env WINEPREFIX=$MAINPATH$GAMEFOLDER wine $EXECUTEFILE\» запускаем \«xrandr -s 800×600\», а после \«xrandr -s 1280×1024\», чтобы установить и потом вернуть назад необходимое разрешение экрана.
Для некоторых игр (ZUMA) пришлось устанавливать gecko через winetricks, для некоторых (Лунтик) xvid.
Пока не удалось заставить нормально работать игры, использующие OpenAL.
Игры, запустившиеся вышеуказанным методом:
Из серии Смешариков:
Мульт-мастерская, Праздники со Смешариками, В поисках Биби, Олимпиада, Круглая компания, Букварик, Параллельные миры, Собери страну Смешариков, Компьютер Ёжика, Правила дорожного движения, Калейдоскоп игр 1,2,3,4, Смешарики идут в поход.
Из серии Лунтика:
Лунтик учит буквы, Лунтик учит цифры, Математика, Русский язык, Задания - подготовка к школе ,Лунтик учится рисовать, Лунтик познаёт мир (для этих двух необходимо поставить wmp9 (Windows Media Player 9) из winetricks).
Другие:
Заработало!, Построй-ка, Собери грузовик, Euro Truck Simulator, Prey, Serious Sam, Zuma, Pain Killer, War Craft III, The Humans, Попугай Кеша: Вы не были на Таити?, Пчела Майя: Сюрприз ко дню рождения, 102 далматинца. Пятнистые спасатели, Элька. Мы спасем Антарктиду!, Рыбка Фредди 3, Снежная Королева, Normal Tanks, В гостях у Розовой Зебры, 18 стальных колёс, Chaser.
Наверх