Игровая ретро приставка на raspberry pi

День добрый, пикабу. Сегодня мы собираем ретро-комбаин для игры в вашего любимого Mario и не только.


Нам понадобится:

* Raspberry Pi 3b (или 3b+)

* Карта памяти micro SD (желательно class 10, не меньше 8Гб)

* Корпус NESPi (можно и более дешевый и вообще без него)

* От одного до четырех геймпадов. «Ретроподобные» из дешевых, включая те, что на скрине, лучше не брать — им свойственно иметь не играбельную крестовину (лучше раскошелиться на что-то вроде 8bitdo)


Закупаемся:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

В сумме ~5000р. Немногим выше стоимости NES mini, но куда более круто. Получаем посылки, собираем:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Теперь надо установить ПО.


Есть несколько вариантов:

* RetroPie — самый «навороченный», с наибольшим количеством настроек, поддерживаемых тем, систем и портов. Так же на RetroPie можно накатить Attract-Mode (вместо EmulationStation)

* Recalbox — проще, чем RetroPie. Установил, закинул ROMы, играешь.  С недавних пор поддерживает русский язык оболочки.

* Lakka — Использует RetroArch фронтенд без изменений (RetroPie и Recalbox используют EmulationStation, а оболочку RetroArch можно увидеть в меню из игры). Самый простой вариант без лишних надстроек (по умолчанию включен драйвер меню PlayStation 3 XrossMediaBar — XMB).


Мы будем устанавливать RetroPie (как обещал в одном из предидущих постов базовые настройки будем делать вообще без использования дополнительно клавиатуры и терминала).


Скачиваем RetroPie, распаковываем архив (должен получиться .img файл). Вставляем microSD в ПК и устанавливаем на нее с помощью Win32 Disk Imager

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

После установки в системе появится два диска (отказываемся от форматирования).

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

На доступный из под Windows кидаем файл wifikeyfile.txt со следующим содержанием:

ssid="NETWORK_NAME"
psk="NETWORK_PASSWORD"

Это настройки вашего WiFi (ssid — название сети, psk — пароль).


Открываем файл config.txt и убираем # перед текстом в 10 строке. Должно получиться так:

disable_overscan=1

Эта настройка убирает черную рамку в интерфейсе EmulationStation.

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

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

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Настраиваем, сразу же подключаемся к WiFi:

CONFIG > WIFI

Import wifi credentials from /boot/wifikeyfile.txt

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Перезагружаемся. Уже можно сменить оформление на что-то более вменяемое.

CONFIGS > ES THEMES

Выбираем понравившуюся тему (у меня snes-mini)

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Выходим на главный экран, жмем Start

[MAIN MENU] UI SETTINGS > THEME SET > Theme

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Отлично. Осталось настроить RetroArch (далее скрины с ПК, но на малине все идентично):

CONFIG > RETROARCH


Ставим PlayStation 3 XrossMediaBar меню:

[RETROARCH] SETTINGS > DRIVER

Menu Driver > xmb


Можно сразу сохранить настройки ([RETROARCH] CONFIGURATION > Save Current Configuration) и перезайти в настройки RetroArch

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Далее все по аналогии:


Настраиваем графику для всех платформ:


[RETROARCH] SETTINGS > VIDEO

Aspect Ratio - 4:3 («растягиваем экран» для всех эмуляторов до 4:3)

Bilinear Filtering - Off (превращаем мутную дичь в кошерные квадратные пиксели)


Настраиваем горячии клавиши для сохранения\загрузки игры, перемотки, ускорения\замедления и т.д.

[RETROARCH] SETTINGS > INPUT

Input Hotkey Binds


Чтобы можно было отматывать назад игровой процесс — надо включить Rewind Enable:

[RETROARCH] SETTINGS > Frame Trottle > Rewind

Rewind Enable - On


Если ваш монитор\телевизор 16:9 и вас смущают черные рамки - их можно перекрыть оверлеем:

[RETROARCH] SETTINGS > Onscreen Display > Onscreen Overlay > Overlay Preset (выбираем понравившийся, или рисуем свой)

Overlay Opacity - 1.00 (убираем прозрачность оверлея)

Onscreen Notification > Notification X Position - 0.200 (смещаем вправо, чтобы оповещения не перекрывались рамкой)


И мое любимое. Включаем ачивки:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Регистрируемся на сайте Retroachievements и вводим логин\пароль в меню

[RETROARCH] SETTINGS > Achivements

Enable Achivements - On


Hardcore Mode - On (если включено - не будут работать перемотки, сохранения и пр., но к ачивкам будет добавлена метка хардкорной)


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


Основные настройки сделаны, сохраняем, выходим:

[RETROARCH] CONFIGURATION > Save Current Configuration

Готово.

Игры можно закидывать с любой флешки, или напрямую по сети WiFi. Для этого включаем SSH и перезагружаем малину:


CONFIG > RASPI-CONFIG

(5) Interfacing options > SSH > Enable

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Садимся за ПК, качаем WinSCP, запускаем и подключаемся к raspberry:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Host name: retropie (можно подключаться по IP)

User name: pi (по умолчанию)

Password: raspberry (по умолчанию)


Сейчас нас интересуют две директории:

home/pi/RetroPie/roms — сюда кидаем ROMы (поддерживаются папки, большинством эмуляторов поддерживаются архивы)

opt/RetroPie/configs — здесь хранятся все настройки


Например, все настройки выше можно было сделаать правками в файле:

/opt/retropie/configs/all/retroarch.cfg (Либо через CONFIGURATION EDITOR :)


А игры для "dendy" нужно кидать в папку:

home/pi/RetroPie/roms/nes

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Закидываем игры в соответствующую папку, перезагружаем raspberry.


Еще можно подгрузить обложки и описания игр. Жмем Start в основном меню:

[MAIN MENU] SCRAPER > SCRAPE NOW (выставляем нужные настройки сканирования) > START


Ждем окончания сканирования, наслаждаемся игрой!


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


Отключаем runcommand меню (плашка настроек при запуске игры). Находим файл:

/opt/retropie/configs/all/runcommand.cfg


Исправляем пункт disable_menu на:

disable_menu = "1"

Поставим бодрое видео на загрузку приставки. Для этого кидаем .mp4 по пути:

/home/pi/RetroPie/splashscreens


Выбираем его:

CONFIG > SPLASH SCREENS

(1) Choose splashscreen > (2) Own/Extra splashscreens (from /home/pi/RetroPie/splashscreens)


Правим файл:

/opt/retropie/configs/all/autostart.sh


Так:

while pgrep omxplayer >/dev/null; do sleep 1; done
emulationstation #auto

Теперь загрузка EmulationStation начнется только после того, как наше видео закончится.


Загрузим пару скринсейверов на простой приставки.

Создаем папку и кидаем в нее .mp4 видео:

/home/pi/RetroPie/screensavers


Открываем файл:

/opt/retropie/configs/all/emulationstation/gamelists/retropie/gamelist.xml


Сразу после тега <gameList> добавляем пути к видео:

<game>
<path />
<video>/home/pi/RetroPie/screensavers/screensaver_1.mp4</video>
<path />
<video>/home/pi/RetroPie/screensavers/screensaver_2.mp4</video>
</game>

В меню жмем Start:

[MAIN MENU] UI SETTINGS > SCREENSAVER SETTINGS > SCREENSAVER BEHAVIOR - RANDOM VIDEO


В зависимости от версии RetroPie правка файла gamelist.xml в папке retropie может не сработать — тогда добавьте пути в геймлист любого из эмуляторов.


По умолчанию проигрываются видео-превью игр, потому приходится так «изголяться» (на превью всех игр никакой памяти не хватит).


Для следующих настроек нужен терминал. Получаем root.


Жмем Ctrl+P в окне WinSCP (либо просто открываем Pitty). Он коннектится и запрашивает пароль:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Набираем raspberry (набора не видно), жмем Enter (Enter нажимаем после каждой команды).


Набираем:

sudo nano /etc/ssh/sshd_config

Листаем стрелками до строки:

PermitRootLogin without-password

Вторая часть может отличаться, а строка вообще быть закомментирована.


Меняем на:

PermitRootLogin yes

Нажимаем Ctrl+x, подтверждаем сохранение (жмем Y и Enter)


Набираем:

sudo passwd root

И дважды вводим пароль для root доступа.


После ввода всех команд окно будет выглядеть примерно так:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Перезагружаем малину.


Ура, теперь мы можем отключить непонятные надписи при загрузке приставки:


Заходим под root доступом через WinSCP:

/boot/cmdline.txt


Меняем console=tty1 на console=tty3 (перенаправляем сообщения). Добавляем loglevel=3 (скрываем не критические). В конец добавляем logo.nologo, чтобы скрыть логотип Raspberry Pi.


Содержимое файла:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty3 root=PARTUUID=f2d3cb4f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0 logo.nologo

Еще можно скрыть пункт CONFIG в меню. Комментируем блок retropie в файле:

/etc/emulationstation/es_systems.cfg

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-игры, Видео

Раз уж на то пошло, не забудьте включить UI MODE - Kiosk в основном меню)


Снятый на шакала видос прилагается:

Ну и напоследок:

* Залил на DropBox несколько оверлеев и шаблонов (чтобы можно было отрисовать свои)

* Ультимативный гайд по RetroPie на английском. Там же лежат конфиги на большинство известных геймпадов.

* Сначала берутся настройки из папок по пути /opt/retropie/configs/all потом из /opt/retropie/configs (т.е. если настройки джойстика на конкретной платформе не устраивают — кидаем файл с новыми по второму пути)

* BIOSы для ознакомления там же на DropBox (загружаем сюда: /home/pi/RetroPie/BIOS) — не все игры идут с универсальными.

* Вместо того, чтобы собирать кучу ROMов с разных сайтов, как делал я — проще скачать готовый образ сами знаете откуда и вытянуть оттуда ROMы (вместе с геймлистами и обложками) через Linux Reader (или вообще залить готовый образ — обновиться можно через меню CONFIG)

* Аркадные игры желательно качать под определенную версию оболочки. Если эмулировать будем с помощью lr-mame 3003 — игры качаем под MAME 0.78


На этом можно и закончить (данного гайда достаточно для понимания «что где лежит» и «что за что отвечает»). В следующий раз мы разберемся с XBOXDRV и установим Street Of Rage Remake на вашу приставку. Спасибо за ваше время.

Лига Геймеров

48.3K постов89.8K подписчиков

Правила сообщества

Ничто не истинно, все дозволено, кроме политоты, за нее пермач, идите на ютуб
Помни!
- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров



Нельзя:

Попрошайничать;

Рекламировать;

Оскорблять участников сообщества;

Нельзя оценивать Toki Tori ниже чем на 10 баллов из 10;

Выкладывать ваши кулвидосы с только что зареганных акков - пермач