Cedega: решение для запуска Windows игр под Linux

2

Часть статьи из журнала Хакер

Сегодня для Linux можно найти достаточно приложений предназначенных для решения большинства повседневных задач. Что же тебе мешает захлопнуть форточки и оставить одного пингвина? Правильно, игры. Именно игры привлекают пользователей в персоналках, но к сожалению большинство из них написаны исключительно под Windows. Но надеюсь, с сегодняшнего дня проблем с этим у тебя уже не будет. Для большинства французов слово cedega ассоциируется с сортом винограда, а для нас же с тобой это возможность запуска Windows игр.

Проект Cedega

Если гора не идет к Магомету, то как известно Магомет идет к горе. Так как завлечь разработчиков игр и программ в Linux тяжело, то исправить ситуацию пробуют путем эмуляции программного интерфейса. В среде 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, но до полного комфорта еще далеко.
Вероятно поэтому большей популярностью пользуются коммерческие решения позволяющие запускать многие приложения, написанные для Windows в Linux, построенные на основе исходных кодов Wine (www.winehq.com). Целые девять лет (до начала 2002 года) Wine выходил под лицензией MIT, которая разрешала одностороннее использование открытого кода без каких-либо обязательств публиковать изменения. Впоследствии разработчики Wine выбрали более жесткую в этом отношении GPL, но проектам стартовавшим в 2001 году этот шаг помешать уже никак не мог.
Главным отличием коммерческих решений от Wine, является наличие более понятного обычному пользователю графического средства настройки, хотя они и отличаются более узкой специализацией. Так основное направление CrossOver (раннее CrossOver Office, www.codeweavers.com) – поддержка наиболее затребованных офисных и иных приложений Windows, вроде Microsoft Office, Lotus Notes, Macromedia Dreamweaver и Flash MX, Adobe Photoshop, Apple iTunes и прочих, поддерживаются и некоторые игры (Half-Life, Counter-Strike, World of Warcraft). Со списком поддерживаемых приложений и качеством можно ознакомиться на странице www.codeweavers.com/compatibility/browse/rank. Кстати в январе этого года была представлена еще одна версия — Crossover Mac позволяющая запускать Windows приложения на компьютерах Apple с процессорами Intel. Специализация Cedega (ранее WineX, www.TransGaming.com) понятна даже из названия компании разработчика TransGaming Technologies – игры. Официальный список игр поддерживаемых Cedega еще три года назад перевалил за три сотни, сейчас же этот список насчитывает около 1300 игр, некоторые правда поддержаны лишь частично, но все равно в этой области Cedega вне конкуренции. Полный список игр приведен на странице transgaming.org/gamesdb, в числе которых есть и популярные он-лайн игры. Чтобы остаться на плаву, разработчики следят за новинками, тестируют и улучшают поддержку наиболее популярных игр. Отмечается что многие игры работают в Cedega также быстро, как и в родной ОС. Для этого добавлена более качественная поддержка API DirectX, знает Cedega и о некоторых технологиях защиты от копирования применяемых в современных играх. Начиная с версии 4.0 Cedega поддерживает технологии DirectX 9.0. В последней версии 6.0 появилась полная поддержка Shader Model 2.0 через GLSL, что позволяет увидеть многие эффекты; новый менеджер памяти; улучшена работа с ALSA, теперь Mmap и Dmix могут работать вместе, а значит можно играть и слушать музыку одновременно; решена куча проблем и естественно увеличился список официально поддерживаемых игр — Need For Speed: Carbon; Madden 2007; Battlefield 2142. Особо отмечается улучшенная поддержка старых игр.
Весь процесс установки, обновления и удаления игр осуществляется через единый центр управления с понятным интерфейсом. И кстати наличие установленной Windows для работы Cedega (и CrossOver) совершенно необязательно, но они умеют запускать уже установленные в этой ОС приложения. Официально поддерживаются дистрибутивы 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), отдавая должное Wine и привлекая сторонних программистов к написанию патчей.

cvs Cedega

Однако в нем ты не найдешь графического интерфейса и еще ряда разработок принадлежащих 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, иначе вся эта затея попросту не имела смысла. Для начала посмотрим, может все уже работает, и ничего делать не придется:

$ glxinfo | grep rendering
direct rendering: No

Если у тебя ATI, подробные инструкции по настройке смотри здесь http://www.tux.in.ua/articles/94

Устанавливаем 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/modules/wiwimod/index.php?page=HOWTO+INDEX+Wine&back=HOWTO+Cedega+CVS, мы же будем разбираться с файлом полученным по подписке. Для установки доступно несколько вариантов пакетов (RPM, DEB и TGZ), следует выбрать лишь подходящий для твоего дистрибутива. Для Debian/Ubuntu выбираем файл cedega-small_6.0_all.deb:

$ sudo dpkg -i 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», задача которого помочь в настройке, для чего потребуется пройти всего 5 шагов. На следующем шаге тебя попросят ввести учетные данные для доступа к сайту TransGaming. Это нужно для того чтобы установить движок cedega. Если у тебя уже есть локальная копия файла cedega-engine-6.0*.i386.cpkg, то просто нажми кнопку «Install Local Package» и укажи на него. Здесь опять попросят принять лицензию. В следующем окне будет проанализировано железо и выдан результат. В идеальном случае должно быть правильно определено все оборудование, иначе этот компонент, скорее всего работать не будет. Протестировать работоспособность всех компонентов можно на следующем шаге, отмечаем все флажки и жмем «Run Selected Test». Все тесты должны быть пройдены. Красный цвет хотя бы напротив одного теста означает, что вероятность дальнейшего успеха быстро стремится к нулю.

Ставим игры

По прошествии всех пунктов перед нами предстанет основное окно программы. Интерфейс Cedega по умолчанию сугубо английский, но его очень просто локализовать. Выбираем «Edit – Language Preferences» нажимаем кнопку Install и получаем с сервера TransGaming список доступных локализаций. Выбираем ту в поле locale которой стоит «ru». В моем случае эта запись стояла первой в списке. Нажимаем OK и перезапускаем Cedega. Теперь можно переходить к установке игр. Не смотря на все удобства интерфейса ставить игрушку часто бывает на порядок труднее, чем саму Cedega. Может повезти сразу и все заработает без какого-либо дополнительного вмешательства, а может выясниться, что именно эта игра именно с этими патчами, именно на этой видеокарте не запустится как не проси. К слову Cedega поддерживает аж три варианта запуска игр. Самый простой это если игрушка уже установлена. Тогда переходим в каталог с исполняемым файлом и запускаем:
$ cedega ./WolfSP.exe

вольфенштейн в пингвине

Вольфенштейн сдался сразу, без каких-либо других указаний и экзекуций. В некоторых случаях следует указать дополнительные параметры. Например -winver позволит указать эмулируемую версию Windows (win95, win98, nt40, win351, winme, win2k, winxp), некоторые игры очень привередливы к этому вопросу, нужную информацию можно взять на сайте проекта или попробовать подобрать вручную. Аналогично можно установить игру. Просто вводим cedega autorun.exe после чего начнется обычный для Windows процесс установки. В процессе тебя спросят куда следует установить игру и предложат что-то вроде С:\Program Files\Valve. Пугаться этого не стоит, это означает, что на самом деле игра будет установлена в ~/TransGaming_Drive/Program Files\Valve. Такая структура нужна для эмуляции важных для Windows каталогов, чтобы программа чувствовала себя в пингвине «как дома». Если сейчас перейти в каталог ~/TransGaming_Drive, то можно оказаться в маленькой винде. Здесь будет и подкаталог windows, My Documents и Program Files. Внутри которых найдешь установленные программы и библиотеки.

установка игры

Однако это еще не все. В особо конфликтных ситуациях можно добавить параметр install с указанием имени каталога. В этом случае программа будет установлена в ее собственную рабочую среду и исполняться в собственной копии эмулятора. После установки игру можно запускать из консоли или используя GUI. Да и главное, если программа установлена в раздел NTFS, а драйвер или параметры монтирования не позволяют запись в раздел с такой файловой системой, то при первой же попытке что-либо сохранить игра вывалится в error.
Но я отвлекся. Установку программ проще производить именно из GUI. Для начала следует создать отдельную папку с играми, чтобы они не размещались в одной большой куче. Выбираем Сервис – Папки с играми – Добавить и вводим название игры. Теперь выбираем Установить и начинаем заполнять параметры.

а вот и контра

В поле «Папка с игрой» выбираем созданную для этой игры папку. Очень повезет если игра будет в списке GDDB тогда для нее будут автоматически подобраны рабочие установки, а во вкладках Общие, Играть, Установить и All будут выведены подсказки (на английском естественно). Если установка производится с диска следует нажать кнопку «Монтировать» и «Определить диск с игрой». При установке с жесткого диска нажимаем кнопку «Найти» и указываем на установочный файл. Теперь можно нажимать на кнопку Продолжить. Если все прошло нормально, настраиваем игру и наслаждаемся. Иначе следует обратиться к подменю «Дополнительно». Нажимаем кнопку «Редактировать параметры установки» и приступаем к устранению проблем. Здесь 4 вкладки: Общие, Звук, Графика и Джойстики. В Общие указываем версию Windows, если не знаешь какую выбрать, ориентируйся по времени выхода игры. Для игр начала века смело выбирай Win98, для современных WinXP. Назначение остальных вкладок я думаю понятно.
Конечно Cedega не может полностью решить проблему игр в Linux, это произойдет только тогда когда игровая индустрия обратит внимание на эту ОСь. Но однозначно это все же лучше чем вообще ничего, пользователи Linux имеют возможность поиграть в свои любимые игры уже сейчас. Без Cedega у многих быстро пропадает охота копаться в настройках.

2 комментария

  1. Неважно2017
    // Ответить

    Steam объявляла что Linux станет игровой системой. Так что ждем

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *