Как стать автором
Обновить

Win-игры под Linux: миф или реальность?

Время на прочтение 5 мин
Количество просмотров 5.3K
Топик написан под влиянием множества заявлений (в том числе в хабрасообществе) о том, что игр под Linux почти нет, соответственно последний не является десктоп-системой, способной конкурировать с Windows. Используется данный аргумент, в паре с другим — «под ваш линукс нет нужного для работы софта» — в качестве последней линии обороны, когда говорить об «удобстве», «простоте освоения» или «безопасности» уже бесполезно. Любая домохозяйка без проблем освоит Ubuntu, особенно если обучать её именно на этой системе, а не переучивать с винды. Да и вирусы под эту ОС пока что приходится собирать вручную, с чтением мануала. И вот тут-то выступает некто, заявляющий примерно следующее: «Но ведь у домохозяйки есть дети, которые хотят погонять в игрушки, а их-то на вашей красноглазой недооси и нету! Ха-ха-ха! (здесь смех киношного злодея)».


Важное уточнение. Я не являюсь Linux-евангелистом, не пиарю эту ОСь или какой-либо из её дистрибутивов, также мне нет дела до популярности проекта Wine. Я просто долгое время занимался обзором игр из-под линукса, запуская стоящую параллельно винду лишь в случае крайней необходимости. А потому знаю, о чём говорю. И да, линукс рассматривается на примере Ubuntu, для всех остальных что-то может незначительно меняться.

Вообще-то игры именно под линукс существуют. Большинство — бесплатные. Некоторые даже пытаются конкурировать со своими коммерческими аналогами. Но они редко могут сравняться по качеству исполнения с коммерческими, а потому чаще всего мы либо имеем портированную версию (World of Goo, например), либо запуск из-под не-эмулятора Wine. А что вы хотите, если разработчикам сейчас просто невыгодно адаптировать свои игры для ещё одной ОС? Они и без того прижаты двойной разработкой: приставки+PC. Приходится вертеться.
Но всё не так уж и плохо. Попробуем разобраться на практике. Большого количества игр в пример приводить не буду, для этого существует winehq, всё, что там отмечено «платиной» или «золотом» можно смело ставить и пользоваться. А вот возможные варианты развития событий после установки опишу.

Для начала — собственно процесс установки. Ставим Wine из репозиториев (если ещё не установлен). Запускаем конфигуратор из меню или winecfg из консоли. Настраиваем, если нужно, или сразу нажимаем ok. Запускаем установщик игры, как обычно. Всё. Дальше с каждой игрой потребуется повторять только последний пункт. Сложно?
Важный момент: никогда не запускайте wine и виндовый софт из-под суперпользователя/через sudo. Чревато непредсказуемыми последствиями.
Второй важный момент: если что-то поставилось неправильно, тупит, глючит или вы вообще умудрились запустить какой-нибудь виндовый вирус (да, и такое бывает...) — не бойтесь потереть полностью домашнюю папку вайна. Следующий запуск конфигуратора снова её создаст.
Ну и третий: проверьте, нет ли для игры, которую вы хотите поставить, линуксовой версии? Сэкономит кучу сил и времени.

ПОсле этого возможны три варианта. Итак, первый: игра помечена высшей оценкой на winehq, а соответственно проблем при её установке и в процессе игры быть не должно. Как правило, их и нету. Главный косяк, с которым вы можете столкнуться в таком случае — проблема с правами доступа. Какие-то папки могут неведомым образом оказаться read-only или доступными только для суперпользователя, и если они нужны игре не только для чтения — она будет вылетать с ошибкой или странно себя вести. Такая проблема точно существует в Ubuntu 9.04, проявляется совершенно рандомно. Лечится ручной установкой прав.

Второй: это игра, помеченная «золотом» или «серебром». Тут возможны нюансы. Например, может потребоваться включить или отключить аппаратное ускорение звука в настройках вайна. Или потребуется насильное переключение в OpenGL-режим. Все эти проблемы, как и их решения, описываются в комментариях к игре на том же appdb. Как правило, игры всё равно запускаются, но без выполнения рекомендаций случаются казусы вроде заикающегося звука или битой графики. Редко. Но случаются. А OpenGL — это почти гарантированно неработающий аппаратный курсор, тоже неприятная мелочь.

Третий: — оценка ниже «серебра». Тут уже всякое бывает, начинается стандартная для Linux история, которую попробую изобразить в лицах:
(форум)
(истеричный вопль новичка) — Аааа, у меня ничего не работает, помогите!!!
(ехидный голос гуру-1) — А у меня всё работает. ЧЯДНТ?
(ехидный голос гуру-2) — Мальчик, а ты с какими параметрами ядро собирал?
(новичок) — Чиго?
(гуру-2) — А, всё понятно… *многозначительное молчание*
(голос из зала) — Да он даже не знает, что такое ядро, чего вы с ним церемонитесь?
(благородный рыцарь) — Уважаемый, вам стоит сделать *рекомендация-1* и *рекомендация-2*, а также почитать мануалы.
(голос из зала) — Да он даже не знает, что такое мануалы!
(уже-не-новичок) — О, спасибо, всё получилось!
(новичок-2) — Зато у меня ничего не работает, советы не помогли…
(все хором) — Аргх!..

Проще говоря, либо всё заработает сразу, либо не сразу, либо вообще не заработает. Игры, использующие DX10 в обязательном порядке, а также кое-что ещё, скорее всего сразу отметается. Проще сразу перезагрузиться в винду, чем с ними мучаться. Но вообще стоит почитать форумы, вдруг вашу проблему уже решили?

Помимо взаимодействия игр с Wine, неприятности также может генерировать hardware. Например, видеокарты ATI/AMD. С ними всё до сих пор сложно, хоть и не у всех. Как и всегда, находятся люди, у которых проблем нет даже с самым капризным железом.
Некоторые контроллеры (джойстики, геймпады, рули, клавиатуры Zboard) неспособны нормально взаимодействовать с линуксом, некоторые экземпляры работают неправильно, другие не работают совсем. Нет драйверов. Дружное спасибо производителям.
Внешний звук, особенно в формате usb/firewire-коробочек, тоже может вызывать проблемы.

Ну и наконец, в случае глюков стоит проверить установленный софт. В крайне редких случаях что-то может конфликтовать. Как пример — Pulseaudio в Ubuntu вызывает очень неприятный эффект «рваного» и «заикающегося» звука. Ну и драйвер на видео всё-таки должен быть установлен, а то были случаи…

Напоследок — несколько примеров из собственного опыта. Выбраны почти случайно.
Stalker, S:Clear Sky. Всё работает нормально. Больше добавить нечего.
World of Warcraft. «Платина» в appdb, работает без проблем, иногда быстрее, чем в Windows. Иногда медленнее, раз на раз не приходится, но и прирост и снижение производительности в пределах 5-10 fps (насколько могу судить). Пинг стабильно ниже. Из багов могу припомнить только два: отсутствие аппаратного курсора в OpenGL-режиме и не всегда срабатывающий ping timeout (игрока не всегда выбрасывает на экран логина в случае разрыва связи — так и оставляет в «зависшем» мире).
Starcraft: Brood War. Работает отлично, хотя в appdb почему-то получил «серебро». Ни единой проблемы мной лично не замечено.
Diablo 2. При выходе из игры выбрасывает табличку с ошибкой, но реальных проблем не замечено.
Red Alert 3 и дополнение. Проблем бы не было, если бы не отсутствие воды. В смысле, движок из-под wine отказывается отрисовывать воду как таковую. В результате можно наблюдать забавные казусы вроде плывущих по воздуху танков-амфибий. Возможно, это правится какой-то настройкой.
Painkiller Overdose. Заработал без проблем, ничего править не пришлось.
Warhammer 40k Dawn of War, все дополнения к нему и Dawn of War 2. Запускаются, работают, fps чуть ниже, чем на аналогичной конфигурации под виндой.
Freelancer. Работает. Не работает аппаратный курсор, что в режиме free flight может доставить ряд проблем. FLMM работает. DS не проверял.
TES: Oblivion. Всё работает без проблем.
Half-Life/HL2/TF2 итд. Работает. В Cedega вообще заявлена поддержка всего этого хозяйства «искаропки», но зачем нам платный продукт, когда есть бесплатный и /dev/hands?
Heroes of Might and Magic 3, HoMM 5, аддоны к ним. Как ни странно — работают. А что ещё нужно для счастья?
А вот Settlers, начиная со второй версии и заканчивая пятой, у меня не запустились. Жаль.

Конфигурация, на которой всё тестировалось: Athlon64 3500+/2gb/Asus M2N-X/GeForce 8500 GT 256mb. ОС — Ubuntu 8.10 -> Ubuntu 9.04. Wine всегда последней стабильной версии.

В общем, особых проблем у детей линукс-домохозяйки не будет, и скучать им не придётся. В крайнем случае нужно будет повозиться с настройками да почитать форумы… Мне не кажется это такой уж большой проблемой. Те, у кого в детстве был «Спектрум» или его аналоги, поймут. В конце концов, современных детей не заставляют писать игры самостоятельно, чтобы в них поиграть, правда?
Теги:
Хабы:
+52
Комментарии 229
Комментарии Комментарии 229

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн