Обновлено 25 марта 2018
Кравченко Виктор

Raspberry Pi 3 — Установка игры Quake 3

Радиотехника и электроника Цифровые устройства Умный дом Raspberry
01

У этой статьи есть видеоверсия:

02
Подписывайтесь на канал , чтобы быть в курсе обновлений!
03 На заметку:
Эту инструкцию можно открыть в браузере Raspberry Pi 3 и следовать инструкциям непосредственно с него.
04

Проверено — автор рекомендует:
http://ali.pub/wob8z Raspberry Pi 3 Model B (3 в 1)

Официальный корпус для Rasberry Pi 3 — http://ali.pub/kslog
Все одним комплектом — http://ali.pub/puqa9, http://ali.pub/wdsti
Как покупать на Aliexpress со скидкой от 5,5%

Видео-инструкция о покупке со скидками на Aliexpress
05

Настройка перед установкой

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

06

Во-первых, в терминале вызвать окно конфигурации:

07
1
sudo raspi-config
08

В разделе Advanced Options:

09
10

Выбрать первый пункт меню — Expand Filesystem, тем самым расширить раздел на всю область флешкарты.

11
12

В случае наличия черной рамки по периметру экрана, необходимо изменить режим Overscan:

13
14

Выделить половину (512 Мб) ROM-памяти графической подсистеме в разделе Memory Split:

15 На заметку:
Как показывает практика, увеличение графической памяти практически не влияет на производительность Quake 3 Arena — стандартных 64 Мб достаточно для полноценного функционирования.
16
17
18

Перезагружаем Raspberry Pi 3. И обновляем систему:

19
1
2
sudo apt-get update sudo apt-get upgrade
20

или

21
1
2
sudo apt-get update sudo apt-get dist-upgrade
22

Во втором случае, при вызове dist-upgrade, утилита apt-get будет использовать «умную» систему разрешения конфликтов для осуществления обновления, в отличие от upgrade.

23

После обновления, снова перезагружаемся и система готова к установке новых программ.

24

Установка Quake 3

Перед тем, как начать установку Quake 3, необходимо установить дополнительные пакеты:

25 ~ 6 мин
1
sudo apt-get install git gcc build-essential libsdl2-2.0-0
26

Устанавливаемые пакеты:

  • git — это система контроля версий Git, необходима для работы с репозиториями,
  • gcc — компилятор C от GNU, необходим для компиляции исполняемых файлов,
  • build-essential — пакет списка зависимостей,
  • libsdl2-2.0-0 — пакет для работы с SDL (Simple DirectMedia Layer) — библиотекой, реализующей программный интерфейс к графической подсистеме, звуковым устройствам и средствам ввода.

27 На заметку:
В Linux-подобных системах регистр имеет значение! В них pi/games и pi/Games — будут означать пути к разным папкам!
28

Создаем папку Games и переходим в неё:

29
1
2
mkdir ~/Games cd ~/Games
30

Далее, копируем исходный код из репозитория:

32

Переходим в папку quake3:

33
1
cd quake3
34

И открываем в редакторе файл build.sh:

35
1
sudo nano build.sh
36

Далее изменяем файл build.sh в соответствии с инструкцией:

37
1
2
3
4
Строку 8 привести к виду: ARM_LIBS=/opt/vc/lib Строку 16 привести к виду: INCLUDES="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads" Строку 19 закомментировать: #CROSS_COMPILE=bcm2708- В 31 строке удалить: -lvmcs_rpc_client
38

Сохраняем файл Ctrl+X, Y.

39

В файле build_rpi_raspbian.sh:

40
1
sudo nano build_rpi_raspbian.sh
41

... также удаляем вхождение -lvmcs_rpc_client. Сохраняем файл Ctrl+X, Y.

42

Далее запускаем процесс компиляции:

43 ~ 15-20 мин
1
./build.sh
44 На заметку:
По замечанию пользователя Вячеслава Золотухина:
В последних версиях ОС Raspbian при выполнении ./build.sh также могут наблюдаться сообщения об ошибках:

1
2
/usr/bin/ld: cannot find -lEGL /usr/bin/ld: cannot find -lGLESv2

Рекомендуется заменить упоминания на эти библиотеки -lEGL на -lbrcmEGL и -lGLESv2 на -lbrcmGLESv2 в файле build.sh
Дополнено 25.03.2018
45

Ждем завершения процесса. На Raspberry Pi 3 это занимает примерно 15-20 минут.

46

После компиляции, необходимо дополнить дистрибутив файлами библиотек игры pak0.pk3...pak8.pk3. Их необходимо поместить по адресу /quake3/build/release-linux-arm/. Для этого переходим в эту папку:

47
1
cd build/release-linux-arm/
48

Взять их можно на диске с игрой, либо скачать в архиве:

Wget — свободная консольная программа для загрузки файлов по сети.
50

Распаковываем файлы:

51
1
unzip q3packs
52

После распаковки, в папке release-linux-arm должна появиться папка baseq3 с вышеуказанными файлами. Архив q3packs.zip можно удалить:

53
1
rm q3packs.zip
54

Теперь все необходимое для игры располагается в папке release-linux-arm. Её можно переименовать в quake3game и переместить в папку Games при помощи стандартного оконного менеджера файлов. Все остальное больше не понадобится и папку quake3 в папке Games можно удалить.

55

Запускать игру можно командой:

56
1
sudo ~/Games/quake3game/ioquake3.arm
57

А можно...

58

Иконка на рабочий стол

Для большего удобства создадим ярлык для запуска Quake 3 на рабочем столе. Перед тем, как создавать ярлык, необходимо скачать иконку quake3.png (28,4 KB) в папку Games/quake3game. Далее на рабочем столе создаем пустой файл следующего содержания:

1
2
3
4
5
6
7
8
9
[Desktop Entry] Type=Application Name=ioQuake III Arena Icon=/home/pi/Games/quake3game/quake3.png Exec=/home/pi/Games/quake3game/ioquake3.arm Path=/home/pi/Games/quake3game/ Terminal=false Name[en_US]=ioQuake III Arena x86 GenericName=Quake III Arena


quake3.png (28,4 KB)
59

Далее сохраняем этот файл с расширением .desktop, например quake_3_arena.desktop и можно запускать игру.

60
61

Настройка звука

При первом запуске, если Raspberry Pi 3 подключен по HDMI, очень вероятно, что звука в игре не будет. Для того, чтобы вернуть звук игре необходимо открыть файл boot/config.txt:

62
1
sudo nano /boot/config.txt
63

И раскомментировать строку hdmi_drive=2. Далее сохраняем файл Ctrl+X, Y, перезагружаемся и запускаем игру.

64

Текстуры высокого качества

Quake 3 — игра 1999 года, и по понятным причинам, немного морально устарела. Но в связи с тем что за время своего существования приобрела огромную армию поклонников, разработчики были вынуждены актуализировать игру, переработав текстуры.

65
1
2
3
4
cd ~/Games/quake3game wget https://www.dropbox.com/s/wslp6vt0wlf8yoq/q3packs_hires.zip unzip q3packs_hires rm q3packs_hires.zip
66

Этот блок команд скачает архив текстур высокого разрешения, распакует их в папку baseq3 и удалит все ненужное. После этого текстуры лучшего качества будут подхвачены автоматически:

67
68

Настройки в игре

Для изменения внутренних настроек игры, предусмотрена консоль — вызывается нажатием на кнопку тильда ~. После вызова консоли в ней можно выполнять команды, которые будут изменять настройки игры.

69

Во время игрового процесса, для того, чтобы сервер не воспринял вводимую команду общением с другими игроками, перед ней необходимо использовать обратный слеш \ .

70

При вызове консоли из главного меню, команды можно прописывать без обратного слеша. Например, для оценки производительности командой \cg_drawfps 1 можно отобразить частоту кадров, с которой исполняется игра. Убрать с экрана этот показатель можно, выполнив команду \cg_drawfps 0.

Подробнее об этом можно узнать по поисковому запросу Консольные команды Quake 3
71

Для того, чтобы изменить угол обзора можно использовать команду \cg_drawfps 105 (по умолчанию \cg_drawfps 90).

72
Слева — стандартный угол обзора — 90°, справа — 150°
73

Повышение производительности

В дистрибутив Raspbian включен экспериментальный OpenGL-драйвер vc4, который позволяет задействовать средства аппаратного ускорения GPU VideoCore IV. По умолчанию этот драйвер отключен. Для его активации необходимо в окне настроек (команда в терминале sudo raspi-config) выбрать раздел Advanced OptionsGL Driver:

74
75

И включить использование экспериментального драйвера с KMS:

76
KMS (Kernel Mode Settings) — настройка разрешения экрана и глубины цвета средствами ядра.
77 На заметку:
При включении OpenGL-драйвера Quake 3 Arena периодически отказывается запускаться.
79

Похожие запросы:

  • Quake3 на RaspberryPI
  • Quake 3 Arena at 60 FPS
  • Building Quake 3 in Raspbian
  • Поднимаем Quake III сервер на Raspberry.
comments powered by HyperComments