Игровая ретро приставка на raspberry pi
День добрый, пикабу. Сегодня мы собираем ретро-комбаин для игры в вашего любимого Mario и не только.
Нам понадобится:
* Raspberry Pi 3b (или 3b+)
* Карта памяти micro SD (желательно class 10, не меньше 8Гб)
* Корпус NESPi (можно и более дешевый и вообще без него)
* От одного до четырех геймпадов. «Ретроподобные» из дешевых, включая те, что на скрине, лучше не брать — им свойственно иметь не играбельную крестовину (лучше раскошелиться на что-то вроде 8bitdo)
Закупаемся:
В сумме ~5000р. Немногим выше стоимости NES mini, но куда более круто. Получаем посылки, собираем:
Теперь надо установить ПО.
Есть несколько вариантов:
* 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
После установки в системе появится два диска (отказываемся от форматирования).
На доступный из под Windows кидаем файл wifikeyfile.txt со следующим содержанием:
ssid="NETWORK_NAME"
psk="NETWORK_PASSWORD"
Это настройки вашего WiFi (ssid — название сети, psk — пароль).
Открываем файл config.txt и убираем # перед текстом в 10 строке. Должно получиться так:
disable_overscan=1
Эта настройка убирает черную рамку в интерфейсе EmulationStation.
С локальными установками все. microSD вставляем в приставку, включаем. При первой же загрузке будет предложено настроить джойстик.
Настраиваем, сразу же подключаемся к WiFi:
CONFIG > WIFI
Import wifi credentials from /boot/wifikeyfile.txt
Перезагружаемся. Уже можно сменить оформление на что-то более вменяемое.
CONFIGS > ES THEMES
Выбираем понравившуюся тему (у меня snes-mini)
Выходим на главный экран, жмем Start
[MAIN MENU] UI SETTINGS > THEME SET > Theme
Отлично. Осталось настроить RetroArch (далее скрины с ПК, но на малине все идентично):
CONFIG > RETROARCH
Ставим PlayStation 3 XrossMediaBar меню:
[RETROARCH] SETTINGS > DRIVER
Menu Driver > xmb
Можно сразу сохранить настройки ([RETROARCH] CONFIGURATION > Save Current Configuration) и перезайти в настройки RetroArch
Далее все по аналогии:
Настраиваем графику для всех платформ:
[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 (смещаем вправо, чтобы оповещения не перекрывались рамкой)
И мое любимое. Включаем ачивки:
Регистрируемся на сайте 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
Садимся за ПК, качаем WinSCP, запускаем и подключаемся к raspberry:
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.
Еще можно подгрузить обложки и описания игр. Жмем 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 (набора не видно), жмем Enter (Enter нажимаем после каждой команды).
Набираем:
sudo nano /etc/ssh/sshd_config
Листаем стрелками до строки:
PermitRootLogin without-password
Вторая часть может отличаться, а строка вообще быть закомментирована.
Меняем на:
PermitRootLogin yes
Нажимаем Ctrl+x, подтверждаем сохранение (жмем Y и Enter)
Набираем:
sudo passwd root
И дважды вводим пароль для root доступа.
После ввода всех команд окно будет выглядеть примерно так:
Перезагружаем малину.
Ура, теперь мы можем отключить непонятные надписи при загрузке приставки:
Заходим под 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
Раз уж на то пошло, не забудьте включить 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;
Выкладывать ваши кулвидосы с только что зареганных акков - пермач