Games

Материал из MediaWiki
Перейти к навигации Перейти к поиску

Также читайте Linux Gamers FAQ на icculus.org.

Во что можно поиграть под Linux?

Cм. список свободных игр, а также список свободных движков для классических игр.

Если интересуют не только свободные, но и проприетарные/коммерческие:

  • Воспользуйтесь поиском в Steam (на 17 августа 2015 в стиме 1395 линуксовых игр).
  • Посмотрите на GoG. Игры там без DRM.
  • Посмотрите в Humble Store (там же периодически проводятся акции Humble Bundle, где обычно есть версии и под Linux). Там указывается, имеется ли в игре DRM или нет.
  • Списки Linux-игр можно также найти на сайтах lgdb, Пингвинус и (несколько устаревший) www.icculus.org.
  • Под Linux работают практически все игры, написанные на Java, даже если официально Linux не поддерживается.
  • Под Linux работают многие игры на Unity3D (версий 4 и выше), если заменить бинарники на линуксовые.
  • Под Linux работают все игры, написанные на Flash или Adobe AIR, даже если официально Linux не поддерживается.

Какие есть эмуляторы старых игровых приставок и компьютеров?

Про них можно прочитать про эмуляцию в статье про Поиск ПО.

Какие Linux-установщики есть под Windows-игры (т. е. бинарники игр, которые работают с виндовыми ресурсами)?

Как запустить виндовую игру в Linux?

С помощью Wine. Несмотря на популярное заблуждение, что Wine — это эмулятор, это не так. Название Wine является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» (Wine не эмулятор). Имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows API.

Для упрощения установки можно воспользоваться программой PlayOnLinux — надстройкой для Wine с готовыми профилями для запуска большого количества Windows-игр.

Также есть коммерческий вариант Wine — Crossover. Основное его преимущество в том, что если в нём заявлена поддержка какой-либо игры, то в 90% случаев она будет работать.

Как узнать, насколько игра [...] совместима с Wine?

Воспользуйтесь поиском на appdb.

Как временно выйти из игры, запущенной в Wine?

Так же, как и в Windows — комбинацией для переключения на другое окно (Alt+Tab в большинстве WM), либо сворачивания окна, работает с большинством игр, как запущеных в оконном режиме, так и в полноэкранном.

А есть ли Counter Strike под Linux? Где взять сервер под CS?

Под Linux выпущены нативные версии Counter Strike 1.6, Counter Strike: Condition Zero, Counter Strike: Source и Counter Strike: Global Offensive. Все они доступны через Steam.

Также под Linux доступны dedicated servers для Counter Strike (в том числе и для Counter Strike: Global Offensive). Взять можно здесь https://developer.valvesoftware.com/wiki/SteamCMD

Что делать, если не запускается ни одна игра в Steam под Wine?

С большой вероятностью игры не запускаются из-за внутриигрового оверлея (включен по умолчанию). Отключить можно через меню «Просмотр → Настройки → В игре → Включить сообщество Steam в игре».

Ссылка на обсуждение бага. В wine, собранном с gcc из ветки 4.5 и без omit-frame-pointer, оверлей работать должен.

Как поиграть под Linux в ...?

Как поиграть под Linux в %mygamename%?

Не знаю. Для начала стоит поискать игру в списке портированных на Linux. Если игры там не окажется, воспользуйтесь Wine. Перед этим, загляните на сайт [1] и узнайте, насколько хорошо Wine поддерживает вашу игру. Обратите внимание, постоянно ведётся работа по улучшению поддержки множества приложений, поэтому ваша игра может не запуститься на одних версиях Wine (даже более новых) и прекрасно работать на других. Попробуйте воспользоваться поиском по форуму — наверняка кто-то уже сталкивался с подобной проблемой и, возможно, давно существует решение.

Очень старые игры (для ОС MSDOS) можно успешно запустить в DOSBOX. А совместимость можно проверить на сайте.

Как поиграть под Linux в Doom (1, 2, Final Doom, Doom3/RoE)?

Прочитать эту статью.

Как поиграть под Linux в Postal 1/2?

В нативный Postal Plus можно поиграть только раздобыв установочный диск или его образ.

На русском языке Linux-версия Postal 2 не издавалась. На западе же самая полная антология Postal называется Postal Fudge Pack и содержит обе части игры, а также дополнительные пользовательские модификации и установщик для Windows, MacOS и Linux. Можно заказать здесь или поискать где-нибудь ещё.

Нативные версии доступны через Steam и Desura. Steam-версия Postal 2 содержит только Postal 2, Share the Pain и Apocalypse Weekend и не поддерживает модификации из Fudge Pack. Однако их можно установить вручную.

Инструкция по установке локализованного Postal2 от Акеллы.

Как поиграть под Linux в Prey?

Инсталлятор можно взять здесь.

Как поиграть в Quake под Linux? Где взять Quake (1, 2, 3, 4, ETQW) под Linux?

Здесь все подробно расписано.

А для настоящих линуксоидов :) имеется особый Quake — TEXTMODE QUAKE <ref name="broken-site" />.

Как поиграть под Linux в Return to Castle Wolfenstein?

Процесс установки идентичен для всех игр от IDSoftware последних лет. Установщик можно взять отсюда [2].

А вот в Wolfenstein: Enemy Territory - чисто сетевую версию игры, созданную специально для командных сражений, можно поиграть совершенно бесплатно, скачав ее отсюда

Как поиграть под Linux в Soldier of Fortune (Double Helix, Payback)?

В первую часть SOF поиграть очень просто — надо раздобыть диск с нативной Linux-версией. Отдельно бинарники не распространяются.

Вторая часть — Double Helix неплохо работает в wine. Третья часть — Payback тоже.

Как поиграть под Linux в Unreal (1, 2, UT99, UT2k3/4, UT3)?

Прочитать соответствующую статью.

Где поиграть под Linux в ...?

Если есть желание поиграть в компании, то на форуме есть ветка для этого.

Где взять PvP сервер под Warcraft 3? Diablo 2? Сервер Battle.net? Они вообще есть?

Проект называется pvpgn<ref name="broken-site">Сайт не работает на момент написания.</ref>. Обязательно прочитайте FAQ, размещенный на сайте. Там все подробно описано.

Многие игры выводят изображение с частотой 60Гц. Как это исправить?

Существует две проблемы:

  • Игры показывают изображение с частотой 60Гц.
  • При прописывании разрешения в конфигурационном файле X-сервера все равно остается частота в 60Гц.

Есть очень простой, хотя и неочевидный метод, который поможет нам решить данную проблему. Нужно прописать modline под каждое разрешение. Как рассчитывать modeline - смотрите соответствующий вопрос.

Метод поможет, например, любителям HoMM-III.

Разделы, ответственные за развертку, выглядят у меня так:

 
Section "Monitor" 
        Identifier   "Monitor0" 
        VendorName   "Monitor Vendor" 
        ModelName    "CTX5378" 
        DisplaySize  330        250 
        HorizSync    30.0 - 72.0 
        VertRefresh  50.0 - 130.0 
        ModeLine     "1152x864" 108.0 1152 1200 1328 1528 864 865 868 904 +hsync +vsync 
        ModeLine     "1024x768" 94.5 1024 1076 1172 1372 768 769 772 812 +hsync +vsync 
        ModeLine     "800x600" 56.3 800 832 896 1032 600 601 604 619 +hsync +vsync 
        ModeLine     "640x480" 36.0 640 712 768 808 480 485 488 525 -hsync -vsync 
        ModeLine     "400x300" 28.1 400 412 444 508 300 304 306 327 +hsync +vsync doublescan 
        ModeLine     "320x200" 15.8 320 360 392 396 200 204 206 222 -hsync +vsync doublescan 
        Option      "dpms" 
EndSection 

Section "Screen" 
        Identifier "Screen0" 
        Device     "Videocard0" 
        Monitor    "Monitor0" 
        DefaultDepth     24 

        SubSection "Display" 
                Depth   8 
                Modes   "1152x864" "1024x768" "800x600" "640x480" "400x300" "320x200" 
        EndSubSection 

        SubSection "Display" 
                Depth   16 
                Modes   "1152x864" "1024x768" "800x600" "640x480" "400x300" "360x200" 
        EndSubSection 

        SubSection "Display" 
                Depth   24 
                Modes   "1152x864" "1024x768" "800x600" "640x480" "400x300" "360x200" 
        EndSubSection 
EndSection 

Некоторые игры после завершения не восстанавливают разрешение экрана. Как мне восстановить разрешение не перезапуская X-сервер?

Прочитать ответ на этот вопрос

Скачал патч/установщик под игру (в основном выпущенное loki games), но не ставится. Можно оттуда как-нибудь файлы достать?

Можно. Всё можно.

Любой патч или программа установки от loki games представляет собой некое подобие самораспаковывающегося архива - в начале идет скрипт, который проверяет наличие диска/правильной md5sum и т.п. Конечно, все это можно обойти.

Алгоритм простой:

  • Делаем бэкап на случай, если ничего не выйдет.
  • Отрезаем скрипт по строчку, с которой начинается архив (такая смесь символов) и сохраняем файл.
  • Переименовываем получившийся файл в tar.gz (один раз попался tar.bz2, но это редкость).
  • Распаковываем его как нам нравится.

Итак, файлы мы достали. Что делать дальше? Если у нас обновление к игре, значит там содержатся новые файлы вперемешку с файлами изменений бинарников. Последние всегда идут в формате xdelta. Если до этого уже выходили обновления к игре, то там будут содержаться файлы изменений для обновления любой версии игры - придется методом научного тыка поискать какой подойдет (это не страшно, потому что xdelta проверяет, можно ли обновлять файл или нет).

Значит проапдейтили бинарники, переписали библиотеки и можем пробовать запускать игру.

Не всегда удаётся проделать все с первого раза, но главное не отступать.

Если у нас сама игра - файлы, нужные для превращения windows-версии игры в linux-версии, то тут еще проще. Распаковали всё, взглянули как лежит, переписали куда-нибудь в /usr/local/games/mygame и потом копируете файлы с виндовой версии - скажем, паки графические. То же обычно решается методом научного тыка. Или анализом скрипта.

Запуск 32-битных игр на 64-битной системе

На самом деле, в этом нет ничего сложного. Если ваше оборудование поддерживается открытыми драйверами, все должно работать сразу и без проблем. Если же у вас используются проприетарные драйверы nVidia или ATI, то нужно установить соответствующие 32-битные библиотеки. К примеру в Debian они находятся в пакетах nvidia-glx-ia32 и fglrx-glx-ia32 для nVidia и ATI соответственно, а в Ubuntu они ставятся по умолчанию. Если предпочитаете ставить драйвера вручную, то соглашайтесь на предложение инсталлятора поставить 32-битные библиотеки.

Как записать игру на видео? Есть ли аналог FRAPS?

Да - аналог FRAPS есть. Он называется GLC. Проект доступен по адресу: http://nullkey.ath.cx/projects/glc/

Если не хочется читать много документации, имеется хорошая обзорная статья: http://zenux.ru/articles/12/

Доступна программа для записи и потокового вещания OBS-Studio, имеющая возможности композитинга и переключения сцен, хромакея, захвата отдельных окон и других возможностей, полезных для летсплеера.

Также можно записывать с экрана при помощи ffmpeg.

Как переключиться на рабочий стол из полноэкранных игр?

Некоторые полноэкранные игры блокируют работу хоткеи Window Manager и утилит горячих клавиш (например xbindkeys) и невозможно временно переключиться на рабочий стол по Win+D (или Alt+Tab).

Есть программа actkbd. Эта программа работает независимо от иксовых программ и узнаёт о нажатии клавиш из /dev/input.

Создать группу devinput. Назначить группу devinput всем файлам в папке "/dev/input/*" . Это надо делать каждый раз при загрузке ОС. Надо добавить в стартовые скрипты в /etc/.

Своего юзера добавить в эту группу.

Для actkbd нужный клавиатурный /dev/input/event? который можно узнать по /dev/input/by-id, /dev/input/by-path или в /proc/bus/input/devices. Нужно найти слова kbd или keyboard.

В конфигурационный файл actkbd добавить команду (эти коды хоткея "Win + D" для клавиш для моей простой 105 кнопочной клавиатуры) :

32+125:rel:all:wnckprop --show-desktop

Коды для вашей клавиатуры можете узнать по команде

actkbd -s -c actkbd.conf -d /dev/input/тут_ваш_event

Для тестирования запускайте так

actkbd -s -x -c actkbd.conf -d /dev/input/тут_ваш_event

Решение проблем с конкретными играми

Как исправить задержку перемещения курсора в Neverwinter Nights?

Поставить родные бинарники, если это возможно.

Как избавиться от черного экрана в Worms: Armageddon и увидеть меню в Diablo II на старых версиях Wine?

Данный патч накладывается на файл dlls/ddraw/surface_user.c:

 
--- surface_user.c.old 2006-04-08 19:04:24.000000000 +0600 
+++ surface_user.c 2006-04-08 19:04:03.000000000 +0600 
@@ -385,6 +385,7 @@ 

if (This->ddraw_owner->cooperative_level & DDSCL_FULLSCREEN) 
{ 
+ return GetDesktopWindow(); 
#ifdef OWN_WINDOW 
USER_PRIV_VAR(priv, This); 
#if 1 

На Wine 1.3.3 игра Diablo 2 Patch 1.13c идёт нормально и без вышеописанного патча.

В Counter Strike не работает микрофон. Что делать?

Попробовать включить поддержку full duplex.

Тормозит/виснет WarCraft3 под Wine, как запустить?

Начнем с того, что видеокарта должна аппаратно поддерживать OpenGL. Смотрите соответствующие вопросы по установке драйверов к картам ATI и Nvidia.

А запустить его можно так:

user@linux$ wine war3.exe -opengl 

Изображение в Heroes Of Newerth замирает, на короткое время высвечивается иконка разрыва соединения

При потере связи игра записывает данные об этом событии в файл на жестком диске, если это происходит часто (микролаги), отрисовка графики тормозится вводом-выводом. Чтобы этого избежать, просто выносим файл, в который идет запись, в оперативную память:

rm ~/.Heroes\ of\ Newerth/game/reconnect.cfg; ln -s /dev/shm/reconnect.cfg ~/.Heroes\ of\ Newerth/game/reconnect.cfg 

Также, хорошее влияние на латентность интерфейса оказывает использование ядра с BFS

Heroes Of Newerth падает после старта лобби

Если игра пишет в stdout следующее:

Assertion 'b' failed at pulsecore/memblock.c:454, function pa_memblock_acquire(). Aborting.

То шлем авторам pulseaudio лучи чего-нибудь нехорошего. После чего просто выпиливаем (в очередной раз!) бяку из системы. Для Убунты:

sudo aptitude purge pulseaudio

И наслаждаемся игрой.

Примечания