Я кое, что откопал. Вот почитайте
Cedega: решение для запуска Windows-игр под Linux
Сейчас для Linux существует достаточно приложений, чтобы решить львиную долю повседневных задач. Что же тебе мешает захлопнуть форточки и оставить на компе одного пингвина? Правильно, игры. Именно игры привлекают многочисленную армию пользователей, но, к сожалению, большинство из них написано исключительно под Windows. Но, надеюсь, с сегодняшнего дня проблем с этим у тебя уже не возникнет. У французов слово cedega ассоциируется с сортом винограда, а нам с тобой оно открывает возможность запуска Windows-игр.
Проект Cedega
Если гора не идет к Магомету, то, как известно, Магомет идет к горе. Так как непросто завлечь разработчиков игр и программ в мир Linux, то исправить ситуацию пробуют путем эмуляции программного интерфейса. Сегодня известно множество эмуляторов, распространяемых по лицензии GPL: dosemu – MS DOS; Cygwin, Wine – Windows; A64 – Amiga; Snes9x - Super Nintendo; Spectemu - ZX Spectrum и т.д. К сожалению, настройка большинства из них - дело нетривиальное, требующее правки конфигурационных файлов и чтения документации до полного просветления. Не каждый решится на такой подвиг, особенно когда нет полной уверенности в том, что любимая контра вообще сможет запуститься.
По прошествии вот уже 14 лет разработок Wine хотя и оброс большим количеством возможностей, но так и не стал панацеей. Да, чудеса случаются: чтобы установить Battlefield 1942, мне было достаточно выбрать в меню Konqueror пункт «Запустить с помощью» и указать Wine. Игра инсталлировалась без проблем, но на этом все приятные моменты, в общем-то, закончились. Запускалась она минут 10, а игровой процесс напоминал охоту за человеком-невидимкой, так как по экрану двигались какие-то тени. Кстати, в KUbuntu 7.04, в подменю Advanced центра «Настройки системы», появился новый пункт «Программы Windows», являющийся по сути еще одним вариантом winecfg. C его помощью можно указать некоторые настройки Wine, но до полного комфорта еще далеко.
Вероятно, поэтому большей популярностью пользуются коммерческие решения, которые построены на основе исходных кодов Wine (www.winehq.com) и позволяют запускать в Linux многие приложения, написанные для Windows. Целых 9 лет (до начала 2002 года) Wine выходил под лицензией MIT, которая разрешала одностороннее использование открытого кода без каких-либо обязательств публиковать изменения. Впоследствии разработчики Wine выбрали более жесткую в этом отношении GPL, но проектам, стартовавшим в 2001 году, этот шаг помешать уже никак не мог.
Коммерческие решения отличаются более понятным обычному пользователю графическим средством настройки и более узкой специализацией. Так, основное направление CrossOver (ранее CrossOver Office, www.codeweavers.com) – поддержка наиболее востребованных офисных приложений, вроде Microsoft Office, Lotus Notes, Macromedia Dreamweaver и Flash MX, Adobe Photoshop, хотя поддерживаются и некоторые игры (Half-Life, Counter-Strike, World of Warcraft). Кстати, в январе этого года была представлена еще одна версия - Crossover Mac, позволяющая запускать Windows-приложения на компьютерах Apple с процессорами Intel. Специализация Cedega (ранее WineX, www.TransGaming.com) понятна даже без упоминания названия компании-разработчика TransGaming Technologies – игры.
Официальный список игр, поддерживаемых Cedega, еще три года назад перевалил за три сотни. Сейчас он насчитывает около 1300 игр (transgaming.org/gamesdb), некоторые, правда, поддерживаются (какой синоним здесь лучше использовать, чтобы не повторяться? Понятия не имею. Здесь нету вариантов. Чуть ниже можно зато скзать не поддержка, а «работа» или «работу с») лишь частично, но все равно в этой области Cedega вне конкуренции. Чтобы остаться на плаву, разработчики следят за новинками, тестируют и улучшают работу с наибоее популярными играми. Отмечается, что многие игры работают в Cedega так же быстро, как и в родной ОС. Для этого добавлена более качественная поддержка API DirectX. Знает Cedega и о некоторых технологиях защиты от копирования, применяемых в современных играх. В последней версии 6.0 появился новый менеджер памяти, улучшена работа с ALSA (теперь Mmap и Dmix могут работать вместе, а значит, можно играть и слушать музыку одновременно), решена куча проблем, и, естественно, увеличился список официально поддерживаемых игр: Need For Speed: Carbon; Madden 2007; Battlefield 2142.
Весь процесс установки, обновления и удаления игр осуществляется через единый центр управления с понятным интерфейсом. И, кстати, для работы Cedega (и CrossOver) наличие установленной Windows совершенно необязательно. Официально поддерживаются дистрибутивы Red Hat/Fedora, SUSE, Mandriva, Debian, Ubuntu, Knoppix, Mepis, Lindows, Gentoo и Slackware.
Cedega распространяется по подписке, которая, помимо возможности получения новых версий программы и права на суппорт (в течение времени действия подписки), позволяет участвовать в голосовании, определяющем, над поддержкой каких игр в дальнейшем следует работать разработчикам. Стоимость ежемесячной подписки - 5 у. е., годовая подписка обойдется в 55 у. е. По окончании подписки программой можно пользоваться неограниченное время, но обновлять ее уже нельзя. Кстати, Cedega доступна и в некоторых дистрибутивах максимальной оснащенности, например в Mandriva Linux 2007 Discovery и PowerPack.
Есть еще один вариант получения Cedega (о Рапиде и подобных сервисах я уже не говорю). Дело в том, что TransGaming открывает часть исходного кода, выкладывая его в свободный доступ через CVS (transgaming.org/cvs), таким образом привлекая сторонних программистов к написанию патчей. Однако в CVS-версии ты не найдешь графического интерфейса и еще ряда разработок, принадлежащих TransGaming. Лицензия Aladdin Free Public License (AFPL), на условиях которой опубликованы исходники, не разрешает использование исходных текстов с целью извлечения какой бы то ни было выгоды. Причем условия подобной лицензии могут в любой момент измениться, в свое время это стало причиной того, что разработчики Gentoo и Debian отказались включать пакеты с CVS Cedega в репозитарии своих дистрибутивов.
Настраиваем 3DДля работы Cedega 6.0 потребуется ОС Linux с ядром 2.4 и выше, видеокарта класса nVidia GeForce, 60 Мб свободного места на жестком диске плюс дополнительное место для установки игр. Поддерживаются как 32-, так и 64-битные версии систем. В последнем случае сначала нужно установить 32-битные версии библиотек для совместимости. В некоторых дистрибутивах Linux можно сразу приступать к установке Cedega. Но в KUbuntu мне предстояла настройка поддержки direct rendering для своего RADEON X800 GTO, иначе вся эта затея попросту не имела смысла. Вот так можно проверить работоспособность:
direct rendering: No
Как я упоминал выше, мне не повезло. Нельзя сказать, что ситуация с драйверами для Радеона в Linux тяжелая, она, скорее, запутанная. Дело в том, что в списке на странице ati.amd.com/support/driver.html ты найдешь драйвер только для самых последних видеокарт, а он по известному всем закону может взять и не установиться. Но не стоит унывать. Во-первых, попробуй запустить одну из более ранних версий драйвера (доступны на ati.amd.com/support/drivers/linux/radeonprevious-linux.html). Например, поддержка карт Radeon 8500-9250, Mobility Radeon 9000/9100/9200 и Radeon IGP 9000/9100/9200 имеется в версии 8.28.8, поэтому в данном случае версии с большим номером бесполезны. Если у тебя еще больший раритет, то придется обратиться к open source проектам. Так, для своего прежнего Радеона 7000 я использовал драйверы проекта DRI (dri.freedesktop.org), благо их включают в репозитарии практически всех дистрибутивов, поэтому выполнять сборку вручную, скорее всего, не понадобится. Кроме карт ATI разрабатываются драйверы и для старых версий Matrox, nVidia SiS и 3dfx; полный список всех поддерживаемых карт доступен по адресу users.erols.com/chare/video.htm. Ну а для All-in-Wonder сразу идем на GATOS (gatos.sf.net).
Со вступлением закончили, переходим к настройкам. Сначала следует отключить пару параметров в xorg.conf:
Section "Extensions"
Option "Composite" "Disable"
EndSection
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Для установки свободных драйверов в /etc/apt/sources.list должен быть подключен restricted репозитарий. Теперь обновляем список и устанавливаем нужные пакеты:
Код: Выделить всё
$ sudo apt-get install linux-restricted-modules-$(uname -r) xorg-driver-fglrx
Переконфигурируем сервер, выбрав драйвер fglrx:
$
С сайта ATI (или с прилагаемого к журналу диска) забираем драйвер под свою карточку (в моем случае это ati-driver-installer-8.38.6-x86.x86_64.run) и загружаем пакеты, необходимые для сборки модуля ядра:
$ sudo apt-get install module-assistant build-essential fakeroot \
dh-make debhelper debconf libstdc++5 linux-headers-generic
Выполняем сборку:
$ sudo bash ati-driver-installer-8.38.6-x86.x86_64.run \
--buildpkg Ubuntu/feistyВ текущем каталоге появится несколько deb-пакетов, устанавливаем все:
Чтобы не было конфликтов со свободным драйвером, вносим следующее изменение:
$ sudo mcedit /etc/default/linux-restricted-modules-common
DISABLED_MODULES="fglrx"
Теперь можно собирать модуль:
С ядром
2.6.20-15 модуль собираться
отказался. Дело пошло, только когда я его обновил до 2.6.20-16. Теперь настраиваем драйвер:
Эта команда также не имела успеха, а прибегать к варианту с '--force' не было никакого желания. Поэтому пришлось открыть xorg.conf и в секции Device поменять ati на fglrx (driver "fglrx").
После этого убиваем X (<Ctrl-Alt-Backspace>), загружаем модули:
И проверяем:
direct rendering: Yes
Отлично, а еще:
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON X800 GTO
OpenGL version string: 2.0.6474 (8.38.6)
Теперь со спокойной душой можно приступать к установке Cedega.
Устанавливаем Cedega
Получить CVS-версию Cedega довольно просто (нужен пакет cvs):
Код: Выделить всё
$ cvs -d:pserver:cvs@cvs.TransGaming.org:/cvsroot login
На запрос пароля вводим cvs, после этого создаем локальную копию проекта:
Код: Выделить всё
$ cvs -z3 -d:pserver:cvs@cvs.TransGaming.org:/cvsroot co winex
Как выполнить сборку, описано на www.linux-gamers.net. Мы же будем разбираться с файлом, полученным по подписке. Для установки доступно несколько вариантов пакетов (RPM, DEB и TGZ), следует лишь выбрать подходящий для своего дистрибутива. Для Debian/Ubuntu это cedega-small_6.0_all.deb:
Команда sudo apt-cache depends cedega-small выдает список зависимостей и рекомендаций, причем в Ubuntu, с ее мягкой системой зависимостей, устанавливаются не все из них. Поэтому обязательно посмотри наличие следующих пакетов: libc6, xlibmesa3 (или libgl1), python, python-gtk2, python-glade2, wget, python2.4-dbus.
Но это еще не все, что требуется для работы Cedega. Мы установили только графическую оболочку, которая сама по себе бесполезна. Запускаем Cedega, выбрав пункт TransGaming Cedega в меню или введя «cedega» в консоли. Принимаем лицензионное соглашение и попадаем в объятия Cedega Setup Wizard, задача которого - помочь нам в настройке. Чтобы установить движок Cedega, тебя попросят ввести учетные данные для доступа к сайту TransGaming. Если у тебя уже есть локальная копия файла cedega-engine-6.0*.i386.cpkg, то просто нажми кнопку Install Local Package и укажи на него. Здесь опять попросят принять лицензию. В следующем окне будет проанализировано железо и выдан результат. Протестировать работоспособность всех компонентов можно на следующем шаге, для этого отмечаем все флажки и жмем Run Selected Test. Все тесты должны быть пройдены. Красный цвет напротив хотя бы одного теста означает, что вероятность дальнейшего успеха быстро стремится к нулю.
Ставим игры
По прошествии всех пунктов перед нами предстанет основное окно программы. По умолчанию интерфейс Cedega сугубо английский, но его очень просто локализовать. Выбираем «Edit –> Language Preferences», нажимаем кнопку Install и получаем с сервера TransGaming список доступных локализаций. Выбираем «locale - ru». В моем случае эта запись стояла первой в списке. Нажимаем OK и перезапускаем Cedega. Теперь можно переходить к установке игр.
Несмотря на все удобства интерфейса, ставить игрушку часто бывает на порядок труднее, чем саму Cedega. Может повезти сразу, и все заработает без какого-либо дополнительного вмешательства, а может выясниться, что именно эта игра именно с этими патчами именно на этой видеокарте не запустится, как не проси. К слову, Cedega поддерживает аж 3 варианта запуска игр. Самый простой - если игрушка уже установлена. Тогда переходим в каталог с исполняемым файлом и запускаем:
Return to Castle Wolfenstein сдался сразу, без каких-либо других указаний и экзекуций. В некоторых случаях следует указать дополнительные параметры. Например, '-winver' позволит указать эмулируемую версию Windows (win95, win98, nt40, win351, winme, win2k, winxp). Некоторые игры очень привередливы в этом вопросе, нужную информацию можно почерпнуть на сайте проекта или попробовать подобрать настройки вручную.
Аналогично можно установить игру Counter Strike. Просто вводим «
cedega autorun.exe», после чего начнется обычная для Windows процедура установки. В процессе тебя спросят, куда следует установить игру, и предложат что-то вроде
С:\Program Files\Valve. Беспокоиться не стоит, это означает, что на самом деле игра будет установлена в
~/TransGaming_Drive/Program Files\Valve. Такая структура нужна для эмуляции необходимых для Windows каталогов, чтобы программа чувствовала себя в пингвине как дома. Если перейти в каталог
~/TransGaming_Drive, то можно оказаться в маленькой Винде. Здесь будут каталоги Windows, My Documents и Program Files, внутри которых ты найдешь установленные программы и библиотеки. Однако это еще не все. В особо конфликтных ситуациях можно добавить параметр install с указанием имени каталога. В этом случае программа установится в ее собственную рабочую среду и будет исполняться в собственной копии эмулятора. После установки игру можно запускать из консоли или используя GUI. Да, и главное: если программа установлена в раздел NTFS, а драйвер или параметры монтирования не позволяют запись, то при первой же попытке что-либо сохранить игра вывалится с ошибкой.
Установку программ проще производить именно из GUI. Для начала следует создать отдельную папку с играми, чтобы они не размещались в одной большой куче. Выбираем
«Сервис –> Папки с играми –> Добавить» и вводим название игры. Теперь выбираем «Установить» и начинаем заполнять параметры. В поле «Папка с игрой» указываем созданную для этой игры папку. Очень повезет, если игра будет в списке GDDB. Тогда для нее будут автоматически подобраны рабочие установки, а во вкладках «Общие», «Играть», «Установить» и All выведены подсказки (естественно, на английском). Если установка производится с диска, следует нажать кнопки «Монтировать» и «Определить диск с игрой». При установке с жесткого диска жмем кнопку «Найти» и указываем на установочный файл. Теперь можно давить на кнопку «Продолжить».
Если все прошло нормально, настраиваем игру и наслаждаемся. В противном случае следует обратиться к подменю «Дополнительно». Нажимаем кнопку «Редактировать параметры установки» и приступаем к устранению проблем. Здесь 4 вкладки: «Общие», «Звук», «Графика» и «Джойстики». Во вкладке «Общие» указываем версию Windows. Если не знаешь, какую выбрать, ориентируйся по времени выхода игры. Для игр начала века смело выбирай Win98, для современных - WinXP. Назначение остальных вкладок, думаю, понятно.
Конечно, Cedega не может полностью решить проблему игр в Linux. Это произойдет, только когда игровая индустрия обратит внимание на эту ось. Но то, что использование эмуляции все же лучше, чем вообще ничего, - это факт. Линуксоиды имеют возможность поиграть в свои любимые игры уже сейчас.