Для начала - список нативно работающих под Linux игр можно найти на [1], там же лежит Linux Gamers FAQ.
Для некоего числа старых игр (в том числе DOS'овых) существует многоплатформенный эмулятор ScumMVM.
Описание и большой список игр можно найти на сайте Пингвинус.
С помощью Wine. Несмотря на популярное заблуждение, что Wine — это эмулятор, это не так. Название Wine является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» (Wine не эмулятор). Имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows API.
Также есть коммерческие варианты Wine — Cedega и Crossover. Основное их преимущество в том, что если в них заявлена поддержка какой-либо игры, то в 90% случаев она будет работать.
Так же, как и в Windows - комбинацией Alt+Tab, работает если игра запущена как в оконном режиме, так и в полноэкранном. Проверено.
К сожалению, нет. Под Linux есть только сервер.
Попробовать включить поддержку full duplex.
С большой вероятностью игры не запускаются из-за внутриигрового оверлея (включен по умолчанию). Отключить можно через меню «Просмотр → Настройки → В игре → Включить сообщество Steam в игре»
Ссылка на обсуждение бага. В wine, собранном с gcc из ветки 4.5 и без omit-frame-pointer, оверлей работать должен.
Не знаю. Для начала стоит поискать игру в списке портированных на Linux. Если игры там не окажется, воспользуйтесь Wine или Cedega. Перед этим, загляните на сайт [4] и узнайте, насколько хорошо Wine поддерживает вашу игру. Обратите внимание, постоянно ведётся работа по улучшению поддержки множества приложений, поэтому ваша игра может не запуститься на одних версиях Wine (даже более новых) и прекрасно работать на других. Попробуйте воспользоваться поиском по форуму — наверняка кто-то уже сталкивался с подобной проблемой и, возможно, давно существует решение.
Очень старые игры (для ОС MSDOS) можно успешно запустить в DOSBOX. А совместимость можно проверить на сайте [5].
Прочитать эту статью.
На русском языке Linux-версия не издавалась. На западе же самая полная антология Postal называется Postal Fudge Pack и содержит обе части игры, а также дополнительные пользовательские модификации и установщик для Windows, MacOS и Linux. Можно заказать здесь или поискать где-нибудь ещё.
Инструкция по установке локализованного Postal2 от Акеллы.
Инсталлятор можно взять здесь.
Здесь все подробно расписано
А для настоящих линуксоидов :) имеется особый Quake - TEXTMODE QUAKE.
Процесс установки идентичен для всех игр от IDSoftware последних лет. Установщик можно взять отсюда [6].
А вот в Wolfenstein: Enemy Territory - чисто сетевую версию игры, созданную специально для командных сражений, можно поиграть совершенно бесплатно, скачав ее отсюда
В первую часть SOF поиграть очень просто — надо раздобыть диск с нативной Linux-версией. Отдельно бинарники не распространяются.
Вторая часть — Double Helix неплохо работает в wine.
Третья часть — Payback не работает в Linux никак и, скорее всего, не заработает.
Прочитать эту статью.
Начнем с того, что видеокарта должна аппаратно поддерживать OpenGL. Смотрите соответствующие вопросы по установке драйверов к картам ATI и Nvidia.
А запустите его можно так:
user@linux$ war3.exe -opengl
Проект называется pvpgn. Обязательно прочитайте FAQ, размещенный на сайте. Там все подробно описано.
Существует две проблемы:
Есть очень простой, хотя и неочевидный метод, который поможет нам решить данную проблему. Нужно прописать 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
Прочитать ответ на этот вопрос
Можно. Всё можно.
Любой патч или программа установки от loki games представляет собой некое подобие самораспаковывающегося архива - в начале идет скрипт, который проверяет наличие диска/правильной md5sum и т.п. Конечно, все это можно обойти.
Алгоритм простой:
Итак, файлы мы достали. Что делать дальше? Если у нас обновление к игре, значит там содержатся новые файлы вперемешку с файлами изменений бинарников. Последние всегда идут в формате xdelta. Если до этого уже выходили обновления к игре, то там будут содержаться файлы изменений для обновления любой версии игры - придется методом научного тыка поискать какой подойдет (это не страшно, потому что xdelta проверяет, можно ли обновлять файл или нет).
Значит проапдейтили бинарники, переписали библиотеки и можем пробовать запускать игру.
Не всегда удаётся проделать все с первого раза, но главное не отступать.
Если у нас сама игра - файлы, нужные для превращения windows-версии игры в linux-версии, то тут еще проще. Распаковали всё, взглянули как лежит, переписали куда-нибудь в /usr/local/games/mygame и потом копируете файлы с виндовой версии - скажем, паки графические. То же обычно решается методом научного тыка. Или анализом скрипта.
Поставить родные бинарники, если это возможно.
Данный патч накладывается на файл 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 идёт нормально и без вышеописанного патча.
Для начала — прочитать ответ на этот вопрос.
На самом деле, в этом нет ничего сложного. Если ваше оборудование поддерживается открытыми драйверами, все должно работать сразу и без проблем. Если же у вас используются проприетарные драйверы nVidia или ATI, то нужно установить соответствующие 32-битные библиотеки. К примеру в Debian они находятся в пакетах nvidia-glx-ia32 и fglrx-glx-ia32 для nVidia и ATI соответственно, а в Ubuntu они ставятся по умолчанию. Если предпочитаете ставить драйвера вручную, то соглашайтесь на предложение инсталлятора поставить 32битные библиотеки.
Да - аналог FRAPS есть. Он называется GLC. Проект доступен по адресу: http://nullkey.ath.cx/projects/glc/
Если не хочется читать много документации, имеется хорошая обзорная статья: http://zenux.ru/articles/12/
Некоторые полноэкранные игры блокируют работу хоткеи 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