В світлі такої події в нашій спільноті як Real Cyber Games, для мене постало питання запуску комп'ютерних ігор з-під Linux, а саме Quake III Arena від компанії id Software®. Отож ця невеличка стаття буде присвячена саме реалізації комфортної гри в третю кваку під лінухом.
Основна проблема з якою стикаються користувачі вільної ОС коли пробують перетворити свою систему на ігрову - це відсутність Linux-версій улюблених ігор, внаслідок чого щоб запустити той же Star Craft треба використовувати емулятори на кшталт Wine/Cedega, що призводить до значного зниження продуктивності системи. До того ж, ці емулятори ще дуже далекі від ідеалу, тому на стабільність при їх використанні розраховувати не доводиться.
Натомість зі збільшенням популярності пінгвіноподібної системи, все частіше зустрічаються Linux-версії найновітніших ігор і не останнє місце в цій тенденції посідає саме компанія id Software - усі ігри з лінійок Doom та Quake доступні як у Windows- так і у Linux-версіях.
Отож, що нам необхідно для комфортної гри:
Операційна система Linux з ядром версії не нижче 2.2
Windows-версія гри (необхідна, оскільки в ній знаходяться основні файли гри - моделі, текстури тощо)
Linux-версія(~30Мб) (власне всі виконавчі модулі, що є архітектурно залежними)
glibc версії не нижче 2.1
Налаштований драйвер відеокарти з ввімкненим glx
Налаштований звук (ALSA чи OSS)
Для користувачів 64-розрядних систем - пакети linux32, ia32-libs, lib32stdc++6
Отож щойно діставши Linux-версію іграшки, в папці з файлом під root'ом виконуємо команду:
sh ./linuxq3apoint-1.32b-3.x86.run
І на цьому кроці виявляється єдина відмінність в процесі встановлення між користувачами 32 та 64-розрядних систем - під ia64 інсталятор не розпізнає нашу версію glibc:
Verifying archive integrity... All good. Uncompressing Quake III Arena Point Release 1.32b ......................................................................... ........................................................................ This installation doesn't support glibc-2.0 on Linux / unknown (tried to run setup) Please contact Id software technical support at bugs@idsoftware.com, or ttimo@idsoftware.com The setup program seems to have failed on unknown/glibc-2.0
Please contact Id software technical support at bugs@idsoftware.com, or ttimo@idsoftware.com
Тому для успішного продовження установки інсталятор необхідно запускати під wrapper'ом:
linux32 sh ./linuxq3apoint-1.32b-3.x86.run
Наступним кроком є копіювання всього дерева каталогів з папки Windows-версії в папку куди ми щойно встановили гру - за замовчуванням це /usr/local/games/quake3.
Найважливішими є файли з каталогу baseq3 з розширенням pk3
Отже після виконання всіх вищезазначених операцій ми отримуємо повністю працездатну гру:
Треба також зазначити, що звук в Quake 3 працює через OSS, тому перед початком гри треба вбивати artsd (якщо у когось він використовується).
Фінальним штрихом є додання файлу quake3.desktop з наступним вмістом:
[Desktop Entry] Version=1.0 Encoding=UTF-8 Name=Quake 3 Comment=Quake III Arena Game Exec=/usr/local/bin/quake3 Icon=/usr/local/games/quake3/quake3.xpm Terminal=false Type=Application Categories=Application;Game;ArcadeGame;
в папку /usr/share/applications (ця дія впринципі лише для краси - тепер натиснувши KMenu->Виконати команду... і ввівши quake3 ліворуч від поля вводу відображатиметься іконка гри )
Отже здавалося що все - гра встановлена, працює як треба, продуктивністю нічим не відрізняється від Windows-версії, але польот думки нічим не зупиниш. Чи не доводилося вам під час гри в Linux-і завершувати гру через певні події що відбулися на комп'ютері, але відреагувати на які ви не можете, адже комбінація Alt+Tab в OpenGL іграх не працює?
Цю проблему можна вирішити - варто запускати Quake на віртуальній консолі, відмінній від тієї на якій запущений ваш віконний менеджер.
Реалізується це командами:
cd /usr/local/games/quake3/ xinit ./quake3.x86 $* -- :1
Але запускаючи ці команди не як root, X-сервер матюкатиметься на Вас, мотивуючи це тим, що Ви не авторизовані до цієї дії.
Вирішенням є правка файлу /etc/X11/Xwrapper.config, де треба змінити стрічку
allowed_users=console
на
allowed_users=anybody
(детальніше про те що ви щойно зробили можна почитати в man-pages цього файлу).
Отож жертвуючи певною кількістю оперативної пам'яті (ви ж впринципі запускаєте ще один X-Server, хоча і без важезних довісок, таких як віконний менеджер) - ви отримуєте працюючу гру на восьмій віртуальній консолі (tty8) і можете перемкнутись до робочого столу стандартним скороченнями: Ctrl+Alt+F7 - і назад до гри - Ctrl+Alt+F8.
Також треба зазначити що виконавчий файл quake3.x86 треба запускати лише попередньо встановивши корінь гри як поточний каталог - цього для нормальної роботи потребує сама програма.
Власне це все що я хотів розповісти, сподіваюсь що ця інформація стане комусь у пригоді.