Людей, переходящих с MS Windows на Linux, интересует вопрос об играх. Можно ли играть в знакомые игры из мира MS Windows в Linux или только в родные для Linux игры? Вот и давайте разберёмся ...
Оглавление
Запуск linux версии игры в Linux
Установка игры из репозитория
Установка игры из пакета
Установка игры из исходников
Установка игры через Desura
Запуск windows версии игры в Linux
Запуск windows версии игры с вызовом OpenGL
Запуск windows версии игры с вызовом DirectX
Запуск DOS версии игры в Linux
Это как вы поняли это самый простой вариант и самый желанный. «Родное в родном», что может быть лучше и проще.
Лучше хорошего, может быть только отличное. Если игра есть в репозитории, то самое лучшее будет установить игру через репозиторий. Например, в Ubuntu Linux есть такие игры как OpenTTD и QuakeArena и другие игры.
deb archive.canonical.com/ubuntu ваш_релиз partner
,В принципе неплохой вариант, стоит найти нужный пакет с игрой и установить. Обычно легко отыскать через поисковые системы с запросом «deb НУЖНАЯ_ИГРА», для поиска deb пакета с игрой для дистрибутивов Linux, производных от Debian Linux, таких как Ubuntu. Если у вас пакетная система на базе RPM, тогда ищете по фразе «rpm НУЖНАЯ_ИГРА».
В помощь вам несколько ссылок на ресурсы в Интернете, которые помогут достать нужный пакет с игрой:
dpkg -i --force-architecture имя_пакета.deb
Что делать если пакет с игрой есть, но не для нашей системы? Рассмотрим вариант, что после поисков вы нашли только rpm пакет, а у вас Ubuntu Linux и нужен deb пакет. Программа alien может сделать из rpm пакета deb пакет и наоборот. Установите программу alien через Синаптик или в терминале sudo apt-get install alien
. Теперь вы можете с конвертировать из rpm в deb следующим способом alien --to-deb игра.rpm
. Когда у вас будет deb пакет с игрой вы сможете установить корректно его в вашу систему, в дальнейшем сможете корректно удалить игру из системы и все это благодаря пакетной системе. Но что если не нашли даже пакета, а нашли не понятный tar.gz и вам сказали страшные слова — это исходники!
Как говорится родное, но не в удобном виде, что же делать? Будем ставить правильно из исходников.
Первый совет, забудьте о ./configure && make install
. У вас пакетная система в вашей Ubuntu Linux и ей будет неприятно, когда вы будете что либо ставить и удалять в обход её, тем более это может быть чревато поломкой системы. Правильно будет поступить так:
1. Поставьте пакет auto-apt через Синаптик или в терминале sudo apt-get install auto-apt
2. Сделайте в терминале однократно sudo auto-apt update
3. Распакуйте ваш архив исходников игры tar.gz любым удобным для вас способом. Можно в терминале перейти в директорию с архивом cd /путь/к/архиву и скомандовать tar zxvf игра.tar.gz
4. Перейдите в терминале в только что распакованную папку с исходником игры и командуйте auto-apt -y run ./configure
. Программа auto-apt будет стараться на лету до устанавливать пакеты, содержащие нужные программе заголовочные файлы и библиотеки. Вам меньше придется пытать людей в Интернете по вопросам: что такое «stdio.h NOT
FOUND» и с чем его едят?
5. Когда auto-apt закончит, вам остается скомандовать в этой же директории checkinstall -D и получить готовый deb пакет, который вы корректно установите в свою систему удобным для вас способом.
Вам пришлось проделать некоторые телодвижения для того, чтобы из исходников получить deb пакет, поэтому большая просьба поделится им с остальным миром, выложите его на популярном доступном ресурсе. Сегодня - вы помогли, завтра - вам помогут. Еще раз напомню, забудьте о ./configure && make install
в системах типа Ubuntu Linux с пакетной системой установки программ.
Desura — проприетарная (в дальнейшем планируют открыть под GPL) платформа распространения цифрового контента, аналог Valve Steam, специализирующаяся на играх от небольших групп индивидуальных разработчиков. На сегодняшний день Desura предлагает Linux-пользователям более 65 компьютерных игр. Среди игр есть как платные, так и бесплатные и общее количество игр будет увеличиваться.
Для установки клиента нужно скачать архив с desura.com и распаковать в удобную папку. Запустить от обычной учётной записи файл desura и обновиться через Интернет.
Запустить обновлённый клиент Desura и с помощью кнопки New Account создать учётную запись.
В Settings смените язык на Русский и заполните желаемые поля и установите свой аватар. Найдите понравившуюся игру и установите кнопкой Install Game.
Бывает ситуация когда линукс версию игры вы на текущую дату не нашли и тогда вам придется запускать игру через WINE. Многие не понимают «принцип действия» WINE и следовательно выводят ошибочные суждения. Давайте отделим мух от котлет.
Название Wine является рекурсивным акронимом (это такая компьютерная шутка вида "рекурсия" - смотри подробнее "рекурсия") и расшифровывается «Wine Is Not an Emulator» — «Wine — не эмулятор». Имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows API. Wine воспринимает системные вызовы Windows-приложений к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе MS Windows. Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.
И что же все выше описанное значит?
1. А то, что в мире MS Windows программы если хотят что либо сделать, то вызывают функции WinAPI (application programming interfaces — интерфейс программирования приложений). WINE налету подменяет вызываемую функцию и выполняет своей функцией.
2. WINE ваше аппаратное обеспечение не заменяет ничем. Поэтому те кто считает, что купленная мощная видеокарта только в MS Windows будет отрабатывать свои вложенные деньги ошибаются! Если игра запускается и работает через WINE, то вы получите сглаженную трилинейной фильтрацией картинку так же как и в винде.
В мире игростроения есть две популярные платформы на которых строятся современные игры — это OpenGL и Microsoft DirectX . Запуская игру через WINE в Linux, многие и не знают, что большая часть игры использует игровые API OpenGL или Microsoft DirectX, а не саму винду так таковую.
OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
а теперь тоже самое, но в Linux
виндовая версия игры - WINE - OpenGL - драйвер видеокарты
как видно, во всей схеме виндовой остается только игра, ну это и понятно. Остальная часть в виде WINE, OpenGL, драйвер видеокарты есть в Linux в родной линуксячьей форме. В любой современной игре вызовов именно к WinAPI намного меньше, чем к игровой платформе в данном случае к OpenGL.
Выводы из этой ситуации следующие:
1. Запуская виндовую игру через WINE, больше работает не сколько сам WINE, сколько linux версия OpenGL в вашей системе и это радует!
2. Из пункта 1 вытекает тот факт, что перенести OpenGL игру из MS Windows в Linux относительно просто, так как основная логика игры в OpenGL, который кроссплатформенен и есть в Linux, остается переписать относительно малую часть вызовов WinAPI и всё. Это подтверждается практикой, достаточно вспомнить фирму idSoftware и серию игр Quake.
DirectX — это программа API-функций, разработанных для решения задач, связанных с игровым видеопрограммированием под Microsoft Windows. Самый худший для нас вариант, так как WINE не подменяет DirectX, а качественно работая вместо MS Windows, обрабатывает DirectX как и любое другое виндовое приложение.
Чтобы было окончательно понятно, взгляните на схему, поясняющая как происходят вызовы виндовой версии игры в MS Windows
виндовая версия игры - Windows - DirectX - драйвер видеокарты
а теперь тоже самое, но в Linux
виндовая версия игры - WINE - DirectX - драйвер видеокарты
Если вы хотите поиграть в старую DOS игрушку, то лучше будет установить эмулятор DOSBox и запускать игры через него.
Полный список поддерживаемых DOS игр можно получить на сайте dosbox.com/
Основная ошибка пользователей - использовать WINE для запуска DOS игр. WINE подменяет WinAPI функции, то есть работает аналогом MS Windows, а DOS - это другая операционная система от фирмы MicroSoft. В пакете WINE есть программа wineconsole, которая поможет с запуском виндовых консольных программ, но не путайте консоль винды с DOS.
Вообщем, алгоритм прост:
1) узнаёте сначала виндовая или DOSовая игра
2) Если DOS, то используйте DOSBox
3) Если MS Windows игра использует OpenGL или DirectX, то применяете WINE
4) Маловероятная ситуация, но, если вам требуется запустить консольную виндовую программу, то используйте wineconsole. Игр в виндовой консоли мало, если они вообще есть и этот случай крайне маловероятен. То есть через wineconsole чаще запускают какие-нибудь древние финансовые программы, чем игры.
Подарок за Яндекс. Деньги: 500 игровых рублей для 11x11, Королей льда, Гладиаторов. Поздравляем! У вас есть код на сумму, эквивалентную 500 рублям. Обменяйте код на 10 бустеров (в игре 11x11.ru или icekings.ru) или на 33 бонуса (в игре gladiators.ru).
Как активировать код
* Начните регистрацию в нужной игре.
* В поле Промокод укажите код 5TC-2H6-F5S
* Нажми на кнопку Зарегистрироваться.
* Готово! На вашем игровом аккаунте появится сумма, эквивалентная 500 рублям. Вы можете обменять их на что-нибудь из раздела Платное.
Активируйте код до 15 ноября 2015 года. Об играх
* 11x11.ru Бесплатный футбольный менеджер: развивайте собственный клуб и опережайте соперников.
* icekings.ru Бесплатный хоккейный менеджер: великолепная пятерка, вратарь и вы за главного.
* gladiators.ru Бесплатный гладиаторский менеджер: ведите отряд древнеримских бойцов к победам на аренах.
Дополнительные материалы:
Репозитории Ubuntu.
Установка программ в Ubuntu.
Запуск игр в префиксах WINE.