[Перевод] Raspberry Pi и RetroPie: делаем консоль для ретро-игр

Для того чтобы создать собственную консоль для ретро-игр, которую можно будет подключить к любому телевизору или монитору, поддерживающему HDMI, понадобится примерно $50 и немного времени. В этом материале представлено полное пошаговое руководство по сборке и настройке игровой системы, основанной на одноплатном компьютере Raspberry Pi и на операционной системе RetroPie. RetroPie — это замечательный проект, созданный специально для тех, кто хочет превратить Raspberry Pi или другие устройства в эмулятор для старых игр.

b430bf2c15f6d95c7e9e36b194fa49dc.png


Подробности о RetroPie


RetroPie — это программный комплекс, предназначенный для организации работы эмуляторов, необходимых для запуска старых игр на Raspberry Pi. Это — один из самых популярных Raspberry Pi-проектов и самая популярная система эмуляции для Raspberry Pi. RetroPie отличается дружелюбным интерфейсом и ещё более дружелюбным процессом установки и настройки.

В RetroPie используется EmulationStation — система, поддерживающая все основные эмуляторы ретро-игр. Это позволяет играть на Raspberry Pi в игры, рассчитанные на платформы NES, SNES, Genesis, Atari и на многие другие. Меня всегда интересовал вопрос о том, почему проект RetroPie назван именно так, а не RetroPi, но я, похоже, отклоняюсь от основной темы. Поэтому — продолжим разговор о нашей консоли.

Какой именно Raspberry Pi стоит использовать для запуска RetroPie?


RetroPie можно запустить на любом Raspberry Pi, но я порекомендовал бы использовать Raspberry Pi 4. Эта плата превосходит другие по быстродействию видеоядра, процессора, у неё больше памяти. А это расширяет диапазон игр, в которые можно будет комфортно играть. Рекомендую обратить внимание на Raspberry Pi 4 с 2 Гб оперативной памяти. Дело в том, что объём памяти, после достижения им определённого предела, не играет особой роли в деле эмуляции ретро-игр. Другими словами, если имеется достаточно памяти, возможности эмуляции ограничивают лишь мощность CPU и GPU.

Материалы и инструменты


Вот перечень материалов и инструментов, использованных в этом проекте.

1. Установка Raspberry Pi в корпус


2934e9aab912fa9518253a73918fd2ca.png


Тут показан прозрачный корпус, а не корпус Flirc из перечня материалов

В комплект поставки Raspberry Pi корпус не входит. Поэтому, чтобы не повредить плату во время работы с ней, рекомендуется приобрести корпус для неё. Для закрепления платы в корпусе достаточно отвёртки. А при использовании некоторых корпусов можно обойтись и вовсе без дополнительных инструментов. Правда, я предпочитаю те корпуса, в которых плата закрепляется винтами. Я думаю, что так вся конструкция получается немного надёжнее.

Если вы используете Raspberry Pi 3 или 4 — советую выбрать корпус с радиатором. В частности, могу порекомендовать корпус Flirc. В нём есть пассивная система охлаждения для Raspberry Pi. В сущности, весь корпус — это огромный радиатор, охлаждающий плату. Существуют версии этого корпуса для Raspberry Pi 3 и для Raspberry Pi 4.

Если вы планируете использовать корпус, не играющий ещё и роль пассивного радиатора, вам стоит подобрать такой корпус, в комплект которого входят радиаторы. А если вы создаёте игровую систему на базе Raspberry Pi Zero, то в качестве корпуса для платы можно использовать даже NES-картридж.

Обратите внимание на то, что ваша плата Raspberry Pi может выглядеть не так, как та, что показана на фотографиях. Тут, на самом деле, показан компьютер Raspberry Pi 3. А это руководство рассчитано на Raspberry Pi 4.

2. Загрузка образа RetroPie, предназначенного для записи на SD-карту


dccd65c66c3df3c3583c21cb66024ca4.png


RetroPie

RetroPie — это операционная система, основанная на Linux-дистрибутиве Raspbian OS. В ней имеется большой набор инструментов, позволяющих запускать на Raspberry Pi игры, созданные для самых разных платформ, представленные в виде ROM-файлов, используемых в различных эмуляторах.

Мы собираемся установить RetroPie из образа, предназначенного для записи на SD-карту, то есть, фактически, даже не установить ОС, а воспользоваться снимком полностью работоспособной системы, не занимаясь её ручной установкой и настройкой.

В Raspberry Pi нет жёсткого диска. Для хранения данных используется microSD-карта. Там будут размещены файлы операционной системы и другие данные.

Для того чтобы приступить к процессу установки RetroPie, нужно скачать свежий образ. Существует три версии таких образов:

  • Для Raspberry Pi Zero, Zero W, A, B, A+ и B+
  • Для Raspberry Pi 2 и Raspberry Pi 3
  • Для Raspberry Pi 4


Вам нужно лишь выбрать образ, который подходит для вашего Raspberry Pi.

В Raspberry Pi A и B используются полноразмерные SD-карты. В Raspberry Pi B+, 2, 3 и Zero — microSD-карты. Рекомендую использовать карту объёмом 32 Гб, что даст вам много места для ROM-файлов с играми, но подойдёт и карта меньшей ёмкости. Обратите внимание на то, что Raspberry Pi для работы требуется, как минимум, карта размером 4 Гб.

3. Подготовка SD-карты к работе с Raspberry Pi


7d10e0295245bc5ff46fba4346154f86.png


Форматирование карты

Сначала нужно отформатировать карту, используя файловую систему FAT или ExFat. Для этого достаточно поместить карту в кард-ридер и воспользоваться системными инструментами для форматирования носителей информации.

▍Выбор формата карты


Если размер вашей карты — 32 Гб или меньше — её можно отформатировать с использованием файловой системы MS-DOS (FAT). Для карт размером от 64 Гб подойдёт файловая система ExFAT.

▍Форматирование в Windows


В Windows надо открыть Проводник, найти SD-карту, щёлкнуть по ней правой кнопкой мыши и выбрать в появившемся меню команду Форматировать. В появившемся окне нужно указать формат карты и запустить процесс форматирования.

▍Форматирование в macOS


Тем, кто пользуется macOS, нужно запустить Дисковую утилиту (Приложения > Утилиты > Дисковая утилита). В левой панели надо выбрать SD-карту, нажать на кнопку Стереть, выбрать желаемый формат карты, задать ей имя и запустить форматирование. В OS X Yosemite и в более старых версиях системы нужно сначала перейти на вкладку Стереть.

Обратите внимание на то, что при форматировании карты все данные, хранящиеся на ней, будут уничтожены.

4. Запись образа RetroPie на карту


7835ef1ec26e27b7cf2aede434764bd8.png


Работа с Etcher

Для установки RetroPie мы будем пользоваться утилитой Etcher. Она работает и на Windows, и на Mac.

Загрузим её, установим, запустим, выберем SD-карту и загруженный образ, а после этого запишем образ на карту.

5. Подключение карты и периферии к Raspberry Pi


a40e464940b6dcb29595a5f93a46982c.png


Подключение различных устройств к Raspberry Pi

Безопасно извлечём карту из кардридера и вставим её в Raspberry Pi.

Теперь подключим к Raspberry Pi игровой контроллер и телевизор или монитор. Подключим к плате питание. Рекомендуется всегда подключать к Raspberry Pi питание после подключения периферии. Благодаря этому плата сможет правильно распознать подключённые к ней устройства при загрузке.

Теперь Raspberry Pi готов к загрузке!

Если у вас есть USB-клавиатура — можете подключить к плате и её. Ей можно пользоваться в процессе настройки системы (подробнее об этом — ниже).

6. Подключение Raspberry Pi к интернету


34d94a6e2091afa08d058df3b828be2d.png


Wi-Fi-меню RetroPie

Рекомендую подключить Raspberry Pi к интернету — это облегчит добавление в систему игровых ROM-файлов и позволит узнавать дополнительные сведения об играх, вроде их рейтингов и описаний. Кроме того, подключение Raspberry Pi к домашней сети позволит удалённо работать с платой через SSH. Это пригодится для настройки системы без использования клавиатуры.

Если вы пользуетесь Raspberry Pi Zero W, 3 или 4, это значит, что в вашем распоряжении уже имеется Wi-Fi-адаптер, встроенный в плату.

Для подключения Raspberry Pi к сети достаточно войти в меню RetroPie и выбрать там пункт WIFI.

Потом можно подключиться к Raspberry Pi по SSH, открыв терминал (в Mac) или командную строку (в Windows) и выполнив следующую команду:

ssh pi@retropie
# по умолчанию используется пароль raspberry


Если вы используете достаточно старый вариант Raspberry Pi, или если в вашей плате нет встроенного Wi-Fi-адаптера — ROM-файлы можно переносить на устройство с использованием USB-диска. Но если вы хотите оснастить ваше устройство интернет-функционалом — подключите его к сети по Ethernet или воспользуйтесь Wi-Fi-адаптером с интерфейсом USB.

7. Настройка SD-карты для использования всего доступного на ней объёма памяти


053b6388c2472a4eabf10447ed1d09cf.png


Настройка SD-карты на Raspberry Pi

Если размер вашей SD-карты превышает 4 ГБ, вы должны её особым образом настроить, иначе Raspberry Pi не сможет пользоваться всем её пространством. Для этого нужно запустить средство конфигурирования Raspberry Pi — paspi-config.

Для того чтобы это сделать, можно воспользоваться интерфейсом RetroPie, открыв меню и выбрав там пункт RASPI-CONFIG.

Затем нужно выбрать пункт Expand Filesystem или expand_rootfs (то, как именно будет называться соответствующая команда, зависит от используемого дистрибутива RetroPie). После этого нужно перезагрузить Raspberry Pi. Тут вы можете обнаружить отсутствие на Raspberry Pi кнопки перезагрузки (если только вы не оснастили устройство такой кнопкой).

8. Подключение к Raspberry Pi


Теперь нам надо подключиться к Raspberry Pi с компьютера для того чтобы получить возможность загружать на устройство ROM-файлы с играми и редактировать конфигурационные файлы.

Это — необязательный шаг, так как переносить ROM-файлы на Raspberry Pi можно с помощью USB-диска, да и без редактирования конфигурационных файлов тоже можно обойтись.

Есть разные способы подключения к Raspberry Pi с компьютера. Мне больше всего нравится подключение по SSH/SFTP с использованием FTP-клиента. Среди бесплатных FTP-клиентов я посоветовал бы FileZilla. Он отлично документирован, его хорошо поддерживают, есть его версии и для Mac, и для Windows.

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

Обратите внимание на то, что, так как в свежих версиях Raspbian Jessie SSH, по умолчанию, в целях повышения безопасности, отключён, вам, для подключения к Raspberry Pi по SSH, нужно будет SSH на плате включить. Но это очень просто.

Используйте следующие учётные данные для подключения к Raspberry Pi. По умолчанию используются имя pi и пароль raspberry.

Host:  (смотрите ниже)
Username: pi
Password: raspberry
Port: 22


Я, ради повышения безопасности системы, рекомендую сменить стандартный пароль на что-нибудь другое. Много времени это не займёт.

Для того чтобы выяснить IP-адрес Raspberry Pi, выполните (в терминале на Mac-компьютере, или в командной строке в Windows) следующую команду:

ping retropie


Если вы используете не самую свежую версию RetroPie — примените такую команду:

ping raspberrypi


Эта команда проверяет доступность устройства, попутно давая сведения о его IP-адресе. Опрос Raspberry Pi может занять некоторое время. Но если вы, в итоге, увидели сообщение Request timeout, это значит, что успешно выполнить команду вам не удалось. Если у вас под рукой есть USB-клавиатура — можно подключить её к Raspberry Pi, загрузиться, нажать F4 для получения доступа к командной оболочке и выполнить следующую команду:

ifconfig


Эта команда немедленно выведет сведения об IP-адресе платы (inet addr: в разделе eth0).

9. Настройка игрового контроллера


9a57450b9fec1f129a7d78c6295f6251.png


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

Теперь пришло время настроить игровой контроллер. Рекомендую Buffalo Classic USB Gamepad. Это — недорогое устройство, которое хорошо стыкуется с Raspberry Pi и продаётся в приятной упаковке.

На самом деле, вы можете воспользоваться самыми разными контроллерами, включая USB-контроллер для NES. Но при таком подходе играть можно будет в меньшее количество игр, чем при использовании более продвинутого контроллера, так как на контроллере для NES просто не хватит кнопок для некоторых игр.

Для того чтобы настроить контроллер так, чтобы им можно было бы пользоваться и в играх, и при работе с меню Raspberry Pi, достаточно загрузить систему при подключённом контроллере. Система предложит его настроить. Необязательно выполнять эти настройки сразу же — к ним вполне можно вернуться и позже, нажав кнопку Start в меню RetroPie.

Некоторые игры нуждаются в дополнительных настройках контроллеров, выполняемых средствами самих этих игр. А именно, речь идёт о сопоставлении кнопок контроллеров с игровыми функциями. Большинству игр, правда, такие настройки не нужны.

10. Поиск ROM-файлов с играми


32d2ec0564804457654c2282213204cd.png


Duke Nukem 3D

ROM-файлы содержат всё необходимое для запуска игр. В RetroPie установлена система EmulationStation, которая, с одной стороны, даёт пользовательский интерфейс нашей ретро-консоли, а с другой, помогает работать с ROM-файлами. В RetroPie имеется несколько предустановленных игр — Quake, Duke Nukem 3D, Cave Story. Правда, в эти игры лучше играть, пользуясь клавиатурой, а не контроллером, так как у контроллера просто не хватает кнопок для игр, которые создавались для ПК. С помощью эмуляторов, встроенных в RetroPie, можно играть практически в любые консольные игры.

▍Правовое примечание


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

Хотя ROM-файлы для RetroPie можно найти на любом торрент-трекере, не стоит загружать файлы, размещённые там с нарушением авторских прав.

▍ROM-файлы, которыми можно пользоваться совершенно законно


К нашему счастью, в мире существуют и ROM-файлы с играми, которыми можно пользоваться, не нарушая чьих-либо прав. Например, множество таких файлов можно найти на MAMEdev.org. В следующих примерах мы будем пользоваться именно такими файлами. Это — Gridlee и Super Tank. 

11. Копирование игровых ROM-файлов


dd7558953457f408012936de1cc75d7d.png


Копирование ROM-файлов через SFTP

Установить игровые ROM-файлы на нашу консоль можно через SSH/SFTP (то есть — по сети), или воспользовавшись USB-диском. Есть и другие методы работы с такими файлами.

Вот моё руководство по работе с ROM-файлами с использованием USB-диска. Если ваш Raspberry Pi подключён к сети — вы можете воспользоваться нижеприведёнными инструкциями.

Подключитесь к Raspberry Pi с помощью FileZilla и откройте папку /home/pi/RetroPie/roms.

Распакуйте ROM-файлы и скопируйте соответствующие папки в системные папки, предназначенные для игр с той платформы, на которую рассчитаны ваши ROM-файлы. Например, если вы хотите установить на консоль ROM-файл игры Super Mario Bros 3, то папку с игрой нужно поместить в директорию nes.

Игры Gridlee и Super Tank нужно скопировать в директорию mame, так как именно MAME поддерживает эмуляторы аркадных автоматов, которые не относятся к домашним игровым системам вроде NES, SNES или Atari.

После того, как копирование файлов завершено, Raspberry Pi надо перезагрузить.

12. Пришло время поиграть!


2d79dbd975af26eb2e3e0ec4aeb7b1ec.png


Игра Cave Story

Интерфейс RetroPie загрузится автоматически, вам достаточно найти в нём нужную игру и запустить её. Возможно — это поможет вам вспомнить давние времена, когда простоту графики компенсировал до ужаса увлекательный геймплей.

13. Выход из игры


Для того чтобы выйти из игры, достаточно одновременно нажать на кнопки START и SELECT. После этого вы вернётесь в главное меню RetroPie.

14. Сохранение игр


Вот мой материал, посвящённый тому, как сохранять и загружать игры в RetroPie

15. Создание резервной копии SD-карты Raspberry Pi


Теперь, когда всё настроено и работает как надо, я посоветовал бы вам создать резервную копию образа, записанного на SD-карту. Так вы, если слишком далеко зайдёте в деле настройки RetroPie, всегда сможете вернуться к работоспособной конфигурации. Вот мой материал об этом.

Итоги


Надеюсь, это руководство помогло вам достичь цели и сделать именно такую консоль для ретро-игр, которая вам нужна.

В какие игры вы поиграли бы на ретро-консоли?

oug5kh6sjydt9llengsiebnp40w.png

3piw1j3wd_cgmzq9sefgferaumu.png

© Habrahabr.ru