Почему-то процесс установки немногочисленных игр для Linux получился таким сложным, что для каждой игры требует подробного описания! А так хотелось бы универсального способа установки игр, вроде «Далее > Далее > Принять > Изменить директорию для установки > Ввести серийный номер > Ввести пароль суперпользователя > Назад > Назад > Изменить директорию для установки > Далее > Посмотреть, хватает ли места > Готово > Начать игру!». Со свободными играми как-то проще... Распаковал - запустил. В крайнем случае - загрузил исходный код, потом «cd /path/to/game/source/ && ./configure -prefix=/usr && make && sudo make install && cd /usr/games/game». В репозитариях популярных дистрибутивов ещё проще - установка почти любой свободной игры одним нажатием на кнопку. В SuSE так же можно сделать прямо на странице игры в Интернете. Игры для систем Windows в окружении Wine устанавливаются так же, как в Windows: «Далее > Далее > Готово». Вот бы и установка несвободных игр упростилась! Чтобы выполнять её, оказывается, столько всего нужно знать, уметь, и учитывать для каждой игры индивидуально! На этот раз я расскажу вам в подробностях и с описанием разных нюансов, как установить DooM III.
DooM I и DooM II
У предыдущих версий игры DooM также есть нативные Linux-версии, однако нет абсолютно никаких проблем при запуске MS-DOS-версий этих игр в программе-эмуляторе DosBOX начиная с версии 0.70. В DosBOX также работает также и сетевая игра, MIDI, задействовано ускорение отрисовки с помощью ресурсов видеокарты через OpenGL 2 и 3.
Системные требования для игры DooM III
Операционная система GNU/Linux,
Процессор Pentium III или AMD Athlon 1 ГГц,
256Mb RAM
Ядро 2.4, рекомендуется 2.6
Библиотека glibc версии 2.2.4 и выше
Видеокарта на основе чипсетов NV10 либо R200 с 64 мегабайтами памяти
Возможность аппаратного ускорения трёхмерной графики
Звуковая карта, поддерживаемая OSS либо Alsa - поддерживаются режимы стерео и Dolby Surround.
Alsa версии 1.0.6 и выше
Всё ли готово для запуска игры? Существует ли 64-битная версия?
Обычно в любом Linux-дистрибутиве для рабочего стола беспокоиться не о чем, и можно смело переходить к следующему пункту руководства. Однако вдруг вам всё-таки интересно? Прежде чем начать игру, необходимо удостовериться, что у вас установлены видеодрайверы, поддерживающие аппаратное ускорение трёхмерной графики, а также какая-нибудь реализация библиотеки OpenGL 2.0 или выше (в теории подойдёт и первый OpenGL, улучшенный расширениями). Об остальных зависимостях можно даже не задумываться, если у вас новая версия дистрибутива Linux. Если же ваш дистрибутив не новый, но выпущен в 2003 году или позднее, или если установлены проприетарные драйверы от NVIDIA, ATi или S3 - вам не о чем беспокоиться! Иначе необходимо установить проприетарные драйверы или более новую версию библиотеки Mesa3D. Правда, в настоящий момент обеспечить достойный уровень скорости в DooM III могут лишь немногие свободные драйверы. Такие как ATi и Intel - желательно новейшая версия и не в самое высокое качество графики. Беспокоиться о том, что у вас слишком старая или слишком новая версия какой-любо библиотеки, не надо: в дистрибутив игры уже входят необходимые библиотеки libgcc_s.so.1 и libstdc++.so.6 (в руководстве игры по адресу http://zerowing.idsoftware.com/linux/doom/ рекомендуется не заменять эти файлы).
Этим Linux-версия игры DooM III отличается от Linux-версии игры Unreal Tournament. На этом сайте уже есть подробное руководство о том, как запустить 2004-ю версию этого шутера. В нём сказано, что в каталог игры необходимо положить libSDL, libopenal, а ещё там забыли упомянуть, что оказывается, если в системе нет старой версии библиотеки libstdc++, которая libstdc++.so.5, игра тоже не запускается! Я положил эту библиотеку в каталог с игрой, чтобы не устанавливать библиотеку в систему в каждый дистрибутив - но в случае использования проприетарного драйвера ATi эта библиотека уже должна быть установлена в систему.
А вот в плане 64-битной архитектуры Unreal Tournament 2004 лучше! В каталоге с игрой есть 64-битный файл запуска игры. Поначалу я очень удивился, не найдя способа запустить DooM III в 64-битной системе, кроме как установить в ней комплект 32-битных библиотек, после того, как Quake III и Unreal Tournament 2004 отлично запустились! С 32-битными библиотеками игра прекрасно работает, однако играя в 64-битной системе в 32-битном DooM III вы столкнётесь с проблемой активирования Dolby Surround звука. Чтобы он заработал, придётся «поработать напильником» - установить в систему модуль snd-ioctl32 и выполнить команду от имени суперпользователя modprobe snd-ioctl32. Проблема, скорее всего, будет решена после открытия исходного кода игры и появления 64-битной версии! У Rage, разрабатываемой iD Software сегодня, обязательно должна быть 64-битная версия игры для Linux сразу: ведь у новой онлайн-игры в окне браузера Quake Live она есть. Так что в том, что Rage будет в том числе и 64-битным, я уверен!
Нам необходимы установочные диски игры, или уже установленная в другой системе копия
Для того, чтобы выполнить установку нативной версии игры DooM III для Linux, понадобится установочный файл doom3-linux-1.3.1.1304.x86.run. Его можно загрузить с FTP-сервера:
ftp://ftp.idsoftware.com/idstuff/doom3/li....1.1304.x86.run
а также торрент-клиентом:
http://zerowing.idsoftware.com:6969/torren...899a213.torrent
В Интернете доступны и более старые версии игры (ftp://ftp.idsoftware.com/idstuff/doom3/linux/old/; ниже рассматривается проблема невозможности запуска новой, её решает установка старой версии). Этот файл занимает 20,2 мегабайта. Такой малый размер объясняется тем, что игра - коммерческая, за неё надо платить. Необходимо купить диск с теми самыми несколькогигабайтными файлами и серийным номером. Лично я без проблем нашёл ссылки на образы установочных дисков в Интернете, а также купил игру в фирменном отделе 1С этим летом. 1С владеет правами на издание игры DooM III в России и выполнила её высококачественный перевод.
Установка
Запускаем загруженный установочный файл. Вы можете открыть её в некоторых файловых менеджерах как обычную программу щелчками мыши, можете открывать при помощи средства «Выполнить...», а можете из консоли. Например, так:
Код: Выделить всё
sh doom3-linux-1.3.1.1304.x86.run
В том случае, если вы запустите программу установки от имени пользователя, вы можете установить игру только в каталог, доступный для записи пользователю. Чтобы выполнить установку в каталог /usr/games или /usr/local/games, необходимо запустить программу установки с правами суперпользователя. При помощи средства «Выполнить...» это можно сделать, например, такими командами:
Код: Выделить всё
kdesu sh /path/to/file/doom3-linux-1.3.1.1304.x86.run
kdesudo sh /path/to/file/doom3-linux-1.3.1.1304.x86.run # (в случае использования четвёртой версии KDE или дистрибутива Ubuntu)
gnomesu sh /path/to/file/doom3-linux-1.3.1.1304.x86.run
gksudo sh /path/to/file/doom3-linux-1.3.1.1304.x86.run # (в случае использования дистрибутива Ubuntu или последних версий Gnome)
Появится окно для ввода пароля суперпользователя. При помощи консоли подойдут команды su, sux root, а затем sh /path/to/file/doom3-linux-1.3.1.1304.x86.run, и exit. В случае, если используется дистрибутив Ubuntu, эти команды не сработают, надо sudo bash, или так:
Код: Выделить всё
sudo sh /path/to/file/doom3-linux-1.3.1.1304.x86.run
Если программа установки работает в текстовом псевдографическом режиме, скорее всего, вы используете новый дистрибутив. Если запускать программу из старого дистрибутива, интерфейс будет графический. Программа спросит у вас каталог, в который будет установлена игра, а также предлагает прочесть README-файл. К сожалению, программа установки не смогла самостоятельно найти и распаковать установочные файлы с моих установочных дисков русской версии игры в локализации 1С. В таких случаях в файле README предлагается взять нужные файлы, выполнив установку Windows-версии игры. От себя добавлю, что Макинтош-версия ничем не хуже, только если надо русскую версию проблема встаёт и для Макинтошей. После того, как копирование файлов программой установки Linux-версии игры будет завершено, в меню графической оболочки должна появиться кнопка запуска игры. Если она не появилась в меню игр, советую поискать её в меню «Прочие». Ну что ж, добавим в игру недостающие файлы, воспользовавшись советом. Если в 2004-м году в этом плане были проблемы с вариантом игры на трёх CD (тогда Wine не давал извлечь диск из привода, чтобы вставить следующий, если с него была запущена программа установки игры), теперь такой проблемы не существует (в крайнем случае есть команда wine eject). Любители острых ощущений могут воспользоваться виртуальной машиной. Если игра уже установлена в раздел Windows, проблема также отпадает.
Завершаем установку, добавив в каталог игры недостающие файлы
Установили Windows-версию игры? Загрузите с сайта games.1c.ru патч 1.3 и установите его. Если у вас английская версия игры, доступен патч версии 1.3.1 - но для английской версии нет необходимости в подобной химии: установочная программа содержит патчи и распознает и сама распакует английские диски. Теперь добавим в каталог игры необходимые файлы. В случае использования русской версии игры, необходимо перенести (скопировать или сделать символические ссылки) в каталог base игры файлы pak000.pk4, pak001.pk4, pak002.pk4, pak003.pk4, pak004.pk4, pak005.pk4, pak006.pk4, pak007.pk4. Файлы pak005.pk4, pak006.pk4, pak007.pk4 уже имеются, их необходимо заменить локализованными версиями (которые есть только в пропатченной версии). Файл pak008.pk4 трогайте!
Аналогично устанавливается дополнение Resident Evil, нужен файл pak000.pk4 из каталога игры d3xp. Установщик также может автоматически распознать английский диск дополнения.
Ну, теперь-то можно запускать?
Игру можно запускать! Убедитесь, что у вас есть свободное место в разделе пользователя, иначе скрытый каталог ~/.doom3, необходимый для игры, не будет создан! Места потребуется всего чуть-чуть, мегабайтов 5-20. Для игры в DooM III по Интернету может понадобится ещё 100-200 мегабайт свободного места для загрузки дополнений игры и карт игровой местности (поэтому я сделал символическую ссылку на раздел, где место есть. Иногда эта ссылка недоступна, игра первый раз не запускается, а второй раз удаляет эту ссылку). Если в будущем возникнут проблемы с запуском игры, этот каталог можно временно переименовать, или удалить (позаботьтесь о том, чтобы файлы сохранения игры уцелели) - причина может скрываться в неправильных настройках. Если после нажатия на значок игры игра всё-таки не запускается, выполните команду ./doom3, зайдя в каталог с игрой из консоли, либо запустите её при помощи средства «Выполнить...» командой /path/to/game/doom3. Но это если игра установлена не в главные каталоги системы, а, например, в пространство пользователя. В случае, если игра установлена в систему, нужно просто выполнить команду
Код: Выделить всё
doom3
Эта проблема касается только первого запуска игры с последующим созданием директории ~/.doom3.
Играем
После того, как вы запустите игру, она попросит ввести серийный номер. В случае отказа игра выключится. Пользователи локализованной Windows-версии игры могут ввести его ещё при установке патча (и даже обязаны сделать это). А первая версия игры (без патча) не спрашивает серийного номера (обойти ввод серийного номера можно, если ввести ключ пиратской версии игры из Интернета, но делая так, вы обязаны понимать, что делать так нехорошо - подробнее об этом 14 пункте приложения). Предлагаю перед началом игры изменить настройки графики и звука. Можно начать игру!
Приложение: тонкости, особые моменты
1. Почему-то в меню настроек игры картинка «Звуковой системы» не локализовалась. Вместо неё мы видим картинку с надписью «???Sound backend». Можно выбрать OSS или ALSA. Подозреваю, что в версии игры для Windows картинки просто нет, в локализации файла тоже нет, поэтому так и произошло... Но это не единственная проблема со звуком. При попытке включить опцию EAX нам сообщат, что включение этой опции недоступно на данной платформе. Ха, а это перевели! Возможно, в 2004-м году в дистрибутивах Linux не был реализован EAX. Надеюсь, что после открытия исходного кода игры этот недостаток исправят!
2. Зато Dolby Surround включается - но не работает... Хотя нет, работает только в 32-битном дистрибутиве, для которого и предназначена игра. Оказывается, в 64-битном дистрибутиве, как у меня, для того, чтобы работал Dolby Surround, надо предварительно включить модуль snd-ioctl32. Например, так:
Код: Выделить всё
modprobe snd-ioctl32
В моём дистрибутиве такого не оказалось - пришлось искать в Интернете. В общем, еле сделал, всё получилось. Эту особенность я нашёл в этом руководстве на сайте разработчика, там можно прочесть много интересного: http://zerowing.idsoftware.com/linux/doom/ . Например, в нём сказано про сбои в игре при работе с ядром Linux версии 2.6.9 и предоставлен патч, исправляющий их. Однако у меня случился сбой, не описанный в руководстве.
3. Тогда у меня был установлен Mandrake Linux 10. Я переустановил его поверх установленной системы, и DooM III запускаться перестал. Ошибка такая:
Код: Выделить всё
signal caught: Illegal instruction
si_code 2
Trying to exit gracefully..
Поиск ошибки не дал ничего, кроме жалоб многих людей на эту же ошибку! Никто не знает причин этого сбоя, но на одном заграничном форуме случайно нашли одно решение. Надо установить предыдущую версию игры. С ней у меня всё за работало снова...
4. Если вы попробуете включить опцию сглаживания, оно на самом деле не включится. Я подозреваю, что это может касаться лишь 64-битных систем, но не знаю точно. Игры, запускаемые в программе Wine, который тоже только 32-битный (64-битный в зачаточном состоянии), страдают тем же. Ещё я подозреваю, что это может касаться только проприетарных видеодрайверов. А со свободными включать сглаживание не пробовал. Для того, чтобы сглаживание заработало, запустите программу для работы с вашей видеокартой и включите его там (там также можно включить и другие полезные эффекты). Причём силу сглаживания при помощи этого средства иногда можно выставить даже больше, чем в настройках игры (там то можно выставить 16x, то нельзя - я не знаю, почему). Этот метод плох тем, что сглаживание включается для всех трёхмерных приложений системы - в том числе и для Beryl/Compiz, которые после этого начинают тормозить (хотя без сглаживания работают стабильно даже со старой видеокартой nVidia GeForce 2, с ним есть лёгкое притормаживание даже с nVidia 9800GT, а с 7600GT оно сильное). В некоторых играх, запускаемых при помощи Wine, могут проявиться сбои после включения сглаживания для всех трёхмерных приложений системы (например, в Morrowind в три раза ускоряется музыка), но обычно их нет.
5. Если вы используете проприетарный драйвер ATi, который fglrx, замечено, что игра DooM III не определяет всей видеопамяти, используя лишь 64 мегабайта. В случае, если видеокарта - очень новая и очень быстрая, вы можете этого даже не заметить. Однако проблему желательно решить, и решается она опцией
Код: Выделить всё
+set sys_videoRam 512
(где число 512 нужно заменить на имеющееся у вас количество видеопамяти в мегабайтах) во время запуска игры, дописав её после слова doom3 и пробела. Можно также отредактировать ярлык запуска игры.
6. Игра использует особые графические возможности видеокарт, которые есть только у определённого изготовителя. Какие именно - можно пронаблюдать в консольном выводе игры. Замечено, что как в Windows, так и в Linux, игра выдаёт лучший уровень графики с видеокартой nVidia (хотя пару дней назад на форуме кто-то сказал, что Джон Кармак в годы создания игры то любил особенности ATi, то nVidia, а потом появлялись новое - и процесс повторялся). Я придерживаюсь мнения, что в годы разработки этой игры nVidia и ATi просто ещё не конкурировали друг с другом на том уровне, на котором они начали конкурировать в момент её издания. nVidia была безоговорочным лидером. Поэтому упор при создании игры делался на особые возможности именно видеокарт nVidia. Однако всё это касается только процесса игры с проприетарными драйверами fglrx и nvidia, а не свободными драйверами для тех же самых видеокарт, использующих реализацию OpenGL Mesa3D.
7. Сохранённые игры могут работать только в той версии игры, в которой файлы сохранения были созданы - при обновлении или даунгрейде игры файлы сохранений игры работать перестанут. Поэтому прежде чем сделать обновление или даунгрейд, предлагаю доиграть до конца. Брать файлы сохранения из Windows, скорее всего, также не получится. Последняя версия локализованной версии игры - 1.3, в то время как для Linux - 1.3.1.1304... Если честно, мне известно лишь то, что сохранения первой версии игры не работают с версией 1.3, и заметил я это в Windows. Но уверен, что аналогичная ситуация будет между любыми версиями игры.
8. Следующий баг. В процессе игры одойдите к телевизору, на котором идёт видеоролик. Например, на локации EnPro. Выйдите из этого коридора немного назад и сохранитесь. Загрузитесь. Видео в телевизоре перекошено, оно расположено в маленьком прямоугольнике внизу экрана, а на остальном пространстве - странные полоски. У меня так случилось 2 раза.
9. Есть в игре моменты, когда можно посмотреть на мониторе какие-то отдалённые места, где установлены камеры. Глючит! Нет, изображение есть, но оно с монструзоным увеличением. Вы увидите только решётку пола или деталь стены.
Первым делом я подумал, что во всём виновата 64-битность моего дистрибутива и загрузил игру сначала с Ubuntu LiveCD 64-битном (версии 8.10), а затем в Sabayon Linux 3.3 (версия немного старовата). В первом глюк есть, во втором - нет. Я долго считал, что это - особенность 64-битного дистрибутива. Пока не запустил DooM III в 64-битном Ubuntu 8.04. Глюка нет! Значит, он проявляется либо в новых дистрибутивах, либо в новых 64-битных дистрибутивах, либо только в Ubuntu 8.10, 9.04 и 9.10.
10. Сбои 8 и 9 - мои личные наблюдения, упоминания о них я нигде не встречал. И не сообщал о них разработчику - потому что не знаю английский язык настолько хорошо. Может, вы попробуете тоже, и ваш опыт окажется более успешным... Буду очень благодарен, если вы найдёте правильные и безошибочные последовательности действий для того, чтобы активизировать эти сбои, и сообщите их в iD Software!
11. В терминале самой игры часто пишется ошибка, что не найден файл guisounds.wav - по-моему, этот! Хотя могу и перепутать... Также в последних уровнях написано, что в каталоге с видео (полный путь к файлу обрезан экраном) есть неправильные символы.
12. Мне кажется, что после открытия исходного кода все баги, описанные в этом руководстве, должны исчезнуть - а также появится, наконец, 64-битная версия! Но так ли это? В игре ioquake3, которая фактически тот же Quake III Arena, но улучшаемая свободным сообществом и базирующаяся на открытом исходном коде игры Quake III Arena версии 1.32, есть один сбой. Через несколько минут игры запускается скринсейвер - даже если активно нажимать на клавиши и двигать мышью! Из-за этого добавленная в настройках игры яркость тускнеет, экран на мгновение мерцает, герой встаёт на месте. Что очень обидно, если я, например, несу флаг в этот момент! Когда несёшь флаг, каждое мгновение дорого, как при пожаре. Не знаю, как обстоит дело в KDE - я тогда пользовался Gnome и тогда из-за этого скринсейвер вообще отключил.
Другое дело - DooM III. Несмотря на то, что у программы закрытый исходный код, в процессе игры нет никаких помех из-за скринсейвера! Даже на мгновение нет мерцания экрана или остановки героя во время движения. Кстати, в Unreal Tournament 2004 тоже наблюдаю этот глюк со скринсейвером несмотря на то, что он тоже закрыт!
13. Сетевая игра не заработала у меня ни разу. Ни в Windows, ни в Linux. Хоть у меня - лицензионная копия игры и серийный номер я ввёл и ввёл верно - играть не получается. Я допущен в меню сетевой игры, серийный номер не удаляется после этого из-за того, что им пользуется подозрительно много человек, но я не могу присоединиться к игре. В Quake III Arena могу, в DooM III - нет. Получилось лишь один раз - в Windows, с первой версией игры без патча. Нашлось 2 сервера и только с русскоязычными игроками. Я соединился, попробовал играть - но меня тут же удалили. Затем я игру пропатчил, появилось много разных серверов (российских среди них не оказалось), и ни с одним я не могу соединиться. Аналогично и в Linux. В руководстве по ссылке http://zerowing.idsoftware.com/linux/doom/ сказано, что наблюдаются проблемы по подключению игроков из Linux-систем к серверу игры на Windows, и способ её решения путём замены файла game01.pk4 версией для Linux - но мне кажется, проблема не в этом. Мой компьютер загружал именно Linux-версии карт судя по тому, что писала мне игра, но подключиться всё равно не удалось ни разу. Однако игра по локальной сети в пределах одной квартиры удаётся успешно.
14. А что делать тем, у кого серийный номер от пиратской версии игры (или пиратам, распространившим свою личную копию игры слишком многим игрокам)? Которые могут даже пожертвовать сетевой игрой ради того, чтобы пройти одиночную! Решение первое: перед игрой отключайтесь от Интернета. Однако это может создавать определённые неудобства... Решение второе: заблокировать доступ к сайту idnet.ua-corp.com. Например, так: открыть любимым текстовым редактором файл /etc/hosts и добавить в него строчку такого вида:
Код: Выделить всё
127.0.0.1 idnet.ua-corp.com
сразу после того места, где заканчивается перечисление хостов, начинающихся на 127 - обычно в самом начале документа. Разумеется, для того, чтобы сохранить изменения, вам потребуются права суперпользователя.
Делая подобные вещи, вы должны понимать, что делать так нехорошо.
15. В процессе игры вы обязательно столкнётесь с тем, что я называю мини-игрой по поиску трёхзначных кодов к шкафчикам. Однако к шкафчикам, на которых вместо инвентарного номера написано «Марсианский друг» (спам от «марсианского друга» вы можете иногда встречать в найденных КПК), кода нигде нет. Код, насколько мне известно, скрывается в рекламной кампании игры, и вроде бы его можно было обнаружить на сайте martian-buddy.com, настоящем сайте этой самой придуманной фирмы будущего, незадолго до релиза игры - однако я лично не проверял... К счастью или к сожалению, но персонажи игры сами поискать его там не додумались, поэтому содержимое этих шкафчиков может достаться игроку... В России код можно найти в коробке с лицензионной копией игры в рекламной листовке этой самой вымышленной фирмы (но не всегда: мой друг, например, купил коробку с игрой от 1С без этой самой второй листовки внутри). Это 0508 - во всяком случае, для версии игры от 1С. Для английской версии игры он может оказаться не 0508.