Донецкий техникум промышленной автоматики

Ігри в Linux

  1. Запуск linux версії гри в Linux
  2. Установка гри зі сховищ
  3. Установка гри з пакета
  4. Установка гри з початкових кодів
  5. Установка гри через Desura
  6. Запуск windows версії гри в Linux
  7. Запуск windows версії гри з викликом OpenGL
  8. Запуск windows версії гри з викликом DirectX
  9. Запуск DOS версії гри в Linux

Людей, які переходять з MS Windows на Linux, цікавить питання про ігри. Чи можна грати в знайомі гри зі світу MS Windows в Linux або тільки в рідні для Linux гри? Ось і давайте розберемося ...

Зміст
Запуск linux версії гри в Linux
Установка гри зі сховищ
Установка гри з пакета
Установка гри з початкових кодів
Установка гри через Desura
Запуск windows версії гри в Linux
Запуск windows версії гри з викликом OpenGL
Запуск windows версії гри з викликом DirectX
Запуск DOS версії гри в Linux

Запуск linux версії гри в Linux

Це як ви зрозуміли це найпростіший варіант і найбажаніший. «Рідне в рідному», що може бути краще і простіше.

Установка гри зі сховищ

Краще хорошого, може бути тільки відмінне. Якщо гра є в репозиторії, то найкраще буде встановити гру через репозиторій. Наприклад, в Ubuntu Linux є такі ігри як OpenTTD і QuakeArena та інші ігри.



Опоненти можуть заперечити, це «дрібниця», там немає «потужних» ігор. Але можу заперечити так, у тій же Canonical є партнерська програма і якщо у вас є репозиторій
deb archive.canonical.com/ubuntu ваш_реліз partner,
то можлива ситуація, коли ви зможете отримати гру через даний репозиторій і, отримавши після оплати гри ключ до неї, встановити ключ в потрібній директорії. Це не така вже й фантастична ситуація. Так само в Інтернеті можуть бути доступні репозиторії з потрібною грою, варто тільки пошукати за ключовими словами типу «repository НУЖНАЯ_ІГРА». Встановлена ​​гра через репозиторій, зможе надалі оновлюватися, що вельми зручно. Тобто рада перший: «підключити і пошукати в репозиторіях»
Якщо після пошуків репозиторіїв з потрібною грою не увінчалися успіхом, то переходимо до ...

Установка гри з пакета

В принципі непоганий варіант, варто знайти потрібний пакет з грою і встановити. Зазвичай легко відшукати через пошукові системи із запитом «deb НУЖНАЯ_ІГРА», для пошуку deb пакета з грою для дистрибутивів Linux, похідних від Debian Linux, таких як Ubuntu. Якщо у вас пакетна система на базі RPM, тоді шукаєте по фразі «rpm НУЖНАЯ_ІГРА».
На допомогу вам кілька посилань на ресурси в Інтернеті, які допоможуть дістати потрібний пакет з грою:

  • linuxgames.ru/
  • ualinux.com/index.php/ubuntu-gamepack На двох DVD дисках зібрані 160 найяскравіших ігор і розважальних програм. Установка будь-якої з них проходить шляхом всього одного кліка кнопки "мишки". Для володарів 64-бітових систем, доведеться встановити 32-бітові гри на DVD через термінал за допомогою dpkg -i --force-architecture імя_пакета.deb
  • happypenguin.org
  • libregamewiki.org/
  • lg.ip4.ru/
  • whylinuxisbetter.net/

Що робити якщо пакет з грою є, але не для нашої системи? Розглянемо варіант, що після пошуків ви знайшли тільки 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

Desura - пропріетарна (надалі планують відкрити під GPL) платформа поширення цифрового контента, аналог Valve Steam, що спеціалізується на іграх від невеликих груп індивідуальних розробників. На сьогоднішній день Desura пропонує Linux-користувачам більше 65 комп'ютерних ігор. Серед ігор є як платні, так і безкоштовні і загальна кількість ігор буде збільшуватися.

Для установки клієнта потрібно завантажити архів з desura.com і розпакувати в зручну папку. Запустити від звичайної облікового запису файл desura і оновитися через Інтернет.



Запустити оновлений клієнт Desura і за допомогою кнопки New Account створити обліковий запис.





В Settings змініть мову на Російський і заповніть бажані поля та встановіть свій аватар. Знайдіть вподобану гру і встановіть кнопкою Install Game.

Запуск windows версії гри в Linux

Буває ситуація коли линукс версію гри ви на поточну дату не знайшли і тоді вам доведеться запускати гру через 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, а не саму вінду так таку.

Запуск windows версії гри з викликом OpenGL

OpenGL (Open Graphics Library - відкрита графічна бібліотека) - специфікація, що визначає незалежний від мови програмування крос-платформний програмний інтерфейс для створення програмного забезпечення, що використовують двовимірну і тривимірну комп'ютерну графіку.



Якщо віндового гра написана з використанням для ігрової логіки OpenGL, то це кращий варіант з тієї поганої ситуації, що ми запускаємо віндового версію гри в Linux. А чим же линуксоидов краще від OpenGL? OpenGL кроссплатформенную і починав своє народження не в світі MS Windows. Щоб було остаточно зрозуміло, погляньте на схему, яка пояснює як відбуваються виклики віндового версії гри в MS Windows
віндового версія гри - Windows - OpenGL - драйвер відеокарти

а тепер те ж саме, але в Linux
віндового версія гри - WINE - OpenGL - драйвер відеокарти

як видно, у всій схемі віндового залишається тільки гра, ну це і зрозуміло. Інша частина у вигляді WINE, OpenGL, драйвер відеокарти є в Linux в рідній лінуксячьей формі. У будь-якій сучасній грі викликів саме до WinAPI набагато менше, ніж до ігровій платформі в даному випадку до OpenGL.

Висновки з цієї ситуації такі:
1. Запускаючи віндового гру через WINE, більше працює не скільки сам WINE, скільки linux версія OpenGL у вашій системі і це радує!
2. З пункту 1 випливає той факт, що перенести OpenGL гру з MS Windows в Linux відносно просто, так як основна логіка гри в OpenGL, який кроссплатформенную і є в Linux, залишається переписати відносно малу частину викликів WinAPI і все. Це підтверджується практикою, досить згадати фірму idSoftware і серію ігор Quake.

Запуск windows версії гри з викликом DirectX

DirectX - це програма API-функцій, розроблених для вирішення завдань, пов'язаних з ігровим відеопрограмуванням під Microsoft Windows. Найгірший для нас варіант, так як WINE не підміняє DirectX, а якісно працюючи замість MS Windows, обробляє DirectX як і будь-яке інше віндового додаток.
Щоб було остаточно зрозуміло, погляньте на схему, яка пояснює як відбуваються виклики віндового версії гри в MS Windows
віндового версія гри - Windows - DirectX - драйвер відеокарти

а тепер те ж саме, але в Linux
віндового версія гри - WINE - DirectX - драйвер відеокарти



Висновки з цієї ситуації такі:
1. DirectX НЕ емулюється WINE'ом. Ви встановлюєте рідної DirectX і WINE викликатиме його для роботи ігрового програми.
2. Переписати гру під Linux написану під MS Windows і Microsoft DirectX вкрай важко і простіше «з нуля» написати аналог.

Запуск DOS версії гри в Linux

Якщо ви хочете пограти в стару 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.

Чи можна грати в знайомі гри зі світу MS Windows в Linux або тільки в рідні для Linux гри?
Як то кажуть рідне, але не в зручному вигляді, що ж робити?
І що ж все вище описане значить?
А чим же линуксоидов краще від OpenGL?