Начнём с самого главного: под linux'ом можно запускать windows программы,
игры в том числе. Сушествует большое количество
инструментов для этого... VMWare - мощная система виртуальных машин: эмулируется сам компьютер, внутри
которого и запускается другая ОС. Win4Lyn - это тоже эмулятор виртуального
компьютера, но он создан и оптимизирован специально для запуска Windows в Linux. Уже не
плохо, выше перечисленные программы используют для эмуляции саму Windows, так
что нужноиметь устано вленную ось (да, чуть не забыл, в игры ни под VMWare, ни
под Win4Lyn вы всё равно не поиграете...).
WINE - это не совсем эмулятор, так как не
нужно никаких виндушных файлов и представляет из себя самостоятельную
программу. А благодаря проекту WineX от TransGaming
позволяет поиграть в DirectX игры !!!
Подготовка
Сначала нужно проверить работоспособность OpenGL:
$ glxinfo
Уделите особое внимание строчке: 'direct rendering: Yes', это аппаратное
ускорение, соответственно, если 'Yes' оно включено, если 'No' то будет
использовано только программный рендеринг в итоге 1 FPS в любой игре 🙁
Если используется аппаратное ускорение, то вы можете оставить как
есть, т.к. всё работает, в другом случае, если рендеринг отключен или вы
просто хотите поставить свежие дрова и новую версию реализации OpenGL для вашей
видео карты, то об этом ниже.
Для счастливых обладателей XFree86 4.2.0 настоятельно рекомендую сделать
символьный линк с /usr/X11R6/include/GL на /usr/include/GL для этого:
$ cd /usr/X11R6/include/GL
$ ln -s /usr/include/GL
Теперь проверьте, что в этой папке лежат glu_mangle.h, gl_mangle.h,
glx.h, glext.h, glx_mangle.h, glu.h, glxext.h. Если ваша карточка от
nVidia, то возьмите с www.nvidia.com
последние драйвера: нужно скачать два пакета
NVIGIA_kernel (модуль для ядра) и NVIDIA_GLX (openGL для вашей
карточки), лучше скачивать исходники. Для сборки драйверов:
$ cd /usr/src/NVIDIA_kernel-1.0-3123
$ make && make install
$ cd /usr/src/NVIDIA_GLX-1.0-3123
$ make && make install
Каких либо проблем с установкой драйверов не наблюдается, правда при
установке собранного модуля для ядра, он (модуль) будет прикручен к ядрышку,
которое запушено на этот момент, а при загрузке другого ядра при старте иксов
будет мигать экран (так ругается на отсутствие дров для карточки), нужно
дождаться появления консоли и собрать дрова уже из под этого ядра.
Если ваша карточка от 3dfx, настоятельно рекомендую купить новую видюшку
:), хотя во что-то вы ещё поиграете... Установите последнюю версию Glide с
www.linux.3dfx.com. Для установки openGL нужно собрать Mesa - это
свободная реализация openGL. На www.mesa3d.sourceforge.net
скачивай последние версии исходников MesaLib и MesaDemos.
Далее:
$ tar -xvzf MesaLib-5.0.tar
$ tar -xvzf MesaDemos-5.0.tar
$ cd Mesa-5.0
$ /configure --without-svga --without-ggi
$ make && make install
Для карточек других производителей смотрите
www.dri.sourceforge.net.
Теперь можно посмотреть сколько выдаёт FPS:
$ glxgears
Ну что, потресён результатами =) Вполне возможно
придётся
покопаться с файлом настройки иксов (/etc/X11/XF86config-4).
Собираем WINEX
WineX - библиотеки DirectX для WINE, а не самостоятельная программа,
т.е. сейчас мы будем собирать обычный wine с библиотеками directx. Сначала нужно
выкачать исходники из CVS репозитория:
$ cd /usr/src
$ su (если вы не root)
$ cvs -d:pserver:anonymous@cvs.winex.sourceforge.net:/cvsroot/winex
login
На запрос ввода пароля, жмем ENTER и далее набираем другую команду:
$ cvs -z3 -d:ext:developername@cvs.winex.sourceforge.net:/cvsroot/winex
co wine
(!!! WINE а не WINEX)
После загрузки исходников, при обновлении версии winex, вы с помощью CVS
можете сделать синхронизацию и у вас новая версия без лишних проблем
(подробнее о CVS можно прочитать в Х за 08.02 (44) статья 'Хакеры выбирают
CVS'). Теперь в каталоге, где лежит последняя версия wine выполняем:
$ /configure --with-x --enable-opengl --without-trace --without-debug
Уделите внимание строкам:
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glx.h usability... yes
checking GL/glx.h presence... yes
checking for GL/glx.h... yes
checking for GL/glext.h... yes
Если всё хорошо, осталось только скомпилировать:
$ make depend && make
Поздравляю! Всё уже практически готово к работе, осталось только всё
проинсталировать и настроить, для установки в каталоге wine наберите:
$ /tools/wineinstall
и ответьте на несложные вопросы, после чего
уже сможете обнаружить в корневой директории папку 'c' - ваш псевдо диск с:\...
Внутри и того смешнее: папки windows и Programs Files 😉
Так же можно проверить работоспособность wine в процентах!!!
$ /tools/winecheck
Правда сильно доверять результату не надо, разве что поможет найти
конфликты, например, у меня 72,25%, а все нижеописанные игры работают...
В вашем домашнем каталоге есть скрытая папка '.wine' в которой лежит
файл config, там содержаться настройки с которыми тоже
придётся
поработать...
Нужно проверить, что в секции [x11drv] установлен
"DesktopDoubleBuffered" = "Y". Вполне возможно, все русские буквы будут отображать аброй-кадаброй,
для исправления данного бага нужно 'default cyrillic bitmap X fonts' в
том же файле конфигурации изменить, т.е:
"Default" = "-cronyx-helvetica-";
"DefaultFixed" = "fixed";
"DefaultSerif" = "-cronyx-times-";
"DefaultSansSerif" = "-cronyx-helvetica-";
Заменить на
"Default" = "-adobe-helvetica-";
"DefaultFixed" = "fixed";
"DefaultSerif" = "-adobe-times-";
"DefaultSansSerif" = "-adobe-helvetica-";
В дальнейшем программы с помощью wine придёться запускать не только
от обычного пользователя, но и от root, примите во внимание, что в /root/.wine тоже
лежит файл config, который тоже нужно изменить... В разделе support сайта
www.winehq.org есть всё, что нужно при
возникновении проблем.
У меня дистрибутив ASP Linux 7.3 'Восток' (основан на RedHat) в котором
используется ядрышко 2.4.18-5asp на котором есть security patch, а wine
с ними НЕ РАБОТАЕТ !!! Единственное возможность поиграть это пересобрать ядро,
но это совсем другая история...
Играем в Half-Life и CS
http://www.transgaming.com/gamepage.php?gameid=1
При возникновении проблем со звуком/картинкой/самим_wine
рекомендую ознакомиться с howto на http://lhl.linuxgames.com. Старый
добрый халф...
$ cd /mnt/cdrom
$ wine setup.exe
После установки на псевдо диск с:\
$ cd /c/Half-Life
$ wine hl.exe -- hl.exe -console -gl -gldrv Default -w 1024
А для старта CS:
$ wine hl.exe -- hl.exe -console -game cstrike -gl -gldrv Default -w 1024
Запускать халф нужно из-под root, а то будет вылетать при первой же
надписи "Loading...", но можно играть и с правами обычного пользователя: для
этого измените права на каталог Half-Life так, чтобы другие пользователи могли
изменять список файлов и поставте галочку "применить изменения ко всем
подкаталогам и их содержимому". Вполне возможно при старте игры вас могут попросить
перейти в 16 битный цвет, для этого отредактируйте файлик
/etc/X11/XF86config-4 и измените секцию screen в соответствии с нужными параметрами и
перезагрузите иксы
Играем в Max Payne
http://www.transgaming.com/gamepage.php?gameid=29
На сайте TransGaming это единственная (надеюсь пока) игра, которая
поддерживается на 5 баллов, это значит что всё работает без особых проблем 🙂 Здесь
ничего нового...
$ cd /mnt/cdrom
$ wine setup.exe
$ cd /c/MAXPAYNE/
$ wine MaxPayne.exe
Запускать как и в халфе нужно с правами суперпользователя или изменить
права на запись в каталог, иначе игра не
будет сэйвиться (не может создать файл с сохранёнкой из-за отсутствия прав). При возникновении проблем, прежде
чем мучить всевозможные форумы, установите последний патч к игре.
Вполне возможно игра будет вылетать при загрузке уровня, для устранения
этого нужно стартовать макса сл. образом:
$ wine MaxPayne.exe -- -disable3dpreloads
Всё работает.
Играем в WarCraft III
http://www.transgaming.com/gamepage.php?gameid=556
$ cd /mnt/cdrom
$ wine -winver win98 install.exe
При инсталяции пропустите установку DirectX, после инсталяции в каталоге
W3 переименуйте папку Movies в что нить:
$ mv Movies bak.Movies
Кстати, это обычный DivX, который замечательно просматривается
mplayer'ом. Для запуска набираем:
$ wine War3.exe -- War3.exe -opengl
Ссылки:
http://www.3drealms.com/max/downloads.html
- патч для MaxPayne
http://dri.sourceforge.net
http://transgaming.com
http://winehq.org