686

Ретро консоль на Raspberry Pi

Привет, пикабу) Зачесалось в одном месте сделать себе ретро консоль для игр nes, snes, sega etc., а заодно и пощупать raspberry pi(тоже очень давно хотелось). Заказал все что надо, три недели ожидания и наконец то все пришло:

1. Два геймпада GameSir G4s

2. Raspberry Pi 3 b+ Kit, который включает в себя:

-сам компьютер

-простой акриловый корпус

-3 радиатора охлаждения

-кулер 5v

-карта micro sd на 32 гига

-usb кардридер

-hdmi кабель

-блок питания 5v 3A

Сборка.

Ничего сложного из себя не представляет. Собирается легко как конструктор.

Клеим радиаторы. На них что то вроде двухстороннего скотча. Прикручиваем плату к днищу, кулер к крышке и собираем весь корпус. Подключаем вентилятор охлаждения к 4 пину(+5v) и к 6 пину(Ground). На правой нижней фотографии видно как он подключен.

На всякий случай вот выводы GPIO:

Установка ОС и Запуск.

Для начала нужно установить на микро сд карту OS. Сначала я выбрал RecalBox. Но при запуске на мониторе был темный экран и значок молнии в правом верхнем углу. При этом на самой плате мигал индикатор питания(pwr), а индикатор обращения к сд карте(act) не подавал никаких признаков. Сперва грешил на комплектный блок питания, но попробовав другие все было тоже самое. После некоторых поисков в интернете на каком то форуме нашел причину: recalbox банально не поддерживает пока что pi 3 model b+. Поэтому решил ставить RetroPie


Устанавливал через balenaEtcher. Все просто, вставляем карту памяти в кардридер, запускаем программу, выбираем наш образ(предварительно распакованный), нашу карту и жмем Flash!. Далее ждем. После завершения процесса карта будет не доступна в системе, вытаскиваем ее и вставляем обратно. Теперь доступна. Т.к. retropie основан на rasbian(а это линукс) и файловая система ext4(вроде бы), то в винде не будет видна основная часть нашей карты. В корень карты нужно закинуть файл wifikeyfile.txt с таким вот содержанием:

ssid="имя вашей WiFi сети"
psk="пароль от нее"

Это что бы сразу подключиться к WiFi сети без клавиатуры и подключится к "малинке" по SSH.

Извлекаем карту памяти из ПК и вставляем ее в Pi. Карта памяти вставляется без щелчка, просто до упора. Никаких защелок там нет. Вытаскивается так же. Подключаем hdmi кабель(у меня монитор vga 19", поэтому я использую переходник hdmi-vga), 3,5 мм аудио джек, контроллеры и питание. Если все сделано правильно, то индикатор pwr на плате должен гореть непрерывно, а индикатор act мигать пока загружается система.


Сперва система предложит настроить наши геймпады. Настраиваем их. Последний пункт "Hotkey Enable" это клавиша, которая будет использоваться для различных комбинаций типа сохранение/загрузка игры и тд. На моих геймпадах есть кнопка Home. Ее я и использую. Вот сами хоткеи:


Hotkey+Start Выход из игры (в EmulationStation)

Hotkey+Left Shoulder Загрузить

Hotkey+Right Shoulder Сохранить

Hotkey+→ Input State Slot Increase

Hotkey+← Input State Slot Decrease

Hotkey+X Вызов меню RetroArch (RGUI Menu)

Hotkey+B Перезапуск игры (Reset)


После этого жмем ОК и попадаем в главное меню со всеми консолями. Но их там нет) Только один пункт с настройками retropie. Это потому что в системе нет еще игр.

Подключаемся к сети. Заходим Retropie - WiFi. Система попросит выбрать страну. Соглашаемся.

Так же эти настройки доступны в RetroPie - Localisation Options


После выбора страны у вас должно открыться такое окно(если нет, то зайдите снова в Retropie - WiFi). Здесь выбираем вариант номер 3 и ждем. В случае успеха у вас появится ip адрес и ssid вашей сети.

Подключились.


Теперь надо включить SSH

CONFIG > RASPI-CONFIG Interfacing options > SSH > Enable

Далее устанавливаем WinSCP. Сразу можно установить терминал Putty. Запускаем WinSCP и вводим


Имя хоста: тут ip адрес вашей малинки. Его можно посмотреть в пункте меню Show Ip.

Имя пользователя: pi

Пароль: raspberry

Можно уже закинуть игры в директорию:

home/pi/RetroPie/roms

Для каждой приставки своя папка. Для денди - nes, для сеги - megadrive  итд. После загрузки нужно перезапустить EmulationStation. Жмем Start, затем Quit-Restart EmulationStation и подтверждаем перезагрузку. После этого игры будут доступны. Но продолжим настраивать дальше..


Нужен root. Получаем root.


Жмем Ctrl+P в окне WinSCP. Он коннектится и запрашивает пароль. При наборе пароля не видно никаких символов.

Вводим эту строку:

sudo nano /etc/ssh/sshd_config

Далее ищем вот эту строку:

PermitRootLogin without-password - yes

И приводим ее к такому виду:

PermitRootLogin yes

Далее жмем Ctrl+X. Затем Y и нажимаем Enter.

Устанавливаем пароль:

sudo passwd root

И дважды вводим пароль для root доступа. Если все правильно, то появится строка

passwd: password updated successfully


Теперь зайдем через WinSCP под root доступом.

Начинаем Новое соединение. Так же вводим ip адрес, имя и пароль. Но нажимаем на кнопку "Еще", слева выбираем из списка "SFTP" и справа в "Параметры протокола - Сервер SFTP" пишем это:

sudo /usr/lib/sftp-server

Нажимаем Ok в этом окне. И Сохранить в окне настроек соединения. Все. Вошли под рутом.

Теперь можно отключить лог загрузки приставки:

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

/boot/cmdline.txt

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


Скрыть пункт CONFIG в меню.

Комментируем блок retropie в файле:

/etc/emulationstation/es_systems.cfg

Отключаем runcommand меню.

Это вот такая плашка при запуске игры. Для каких то настроек. Честно, даже не смотрел.

Находим файл:

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

Меняем disable_menu = "0" на disable_menu = "1"


Настройки отображения и шейдеры.

Configuration Editor - Configure basic libreto emulator options-Configure default options for all libreto emulators

Video Smoothing false. Сглаживание. Я отключил. С ним не понравилось

Aspect Ratio 16:9

Render Resolution 800x600 Среднее разрешение поставил. Меньше нагрузки. Тем более использую шейдер, а картинка все равно растягивается на весь экран.

Video Shader Enable true. Включить/выключить шейдер.

Video Shader File. Если в предыдущем пункте включили шейдеры, то здесь надо выбрать из списка какой шейдер использовать.

Overlay Enable. Включить/выключить оверлей. Это что бы закрыть черные полосы вокруг изображения.

Overlay File. Соответственно файл оверлея.

Настройки оверлея пока не трогал. Не сильно то и мешают эти полоски)


Некоторые шейдеры:

Темы.

Что бы сменить тему нужно зайти в пункт ES Themes, затем выбрать из списка тему и скачать ее. Вернуться стартовое окно, затем Start - UI Setting - Theme Set. Можно либо листать вправо/влево, либо открыть список доступных тем(ранее скачанных)

По умолчанию системе недоступно все дисковое пространство. Для того чтобы это изменить, нужно "развернуть" всю доступную память нашей карты. Raspi-Config - Advanced Options - Expand Filesystem. После нужно перезагрузить всю систему.

Загрузка обложек.

Встроенный в EmulationStation Scraper почему то не заработал. Пытался найти ответ - не нашел. Но зато нашел альтернативу ему. scraper by steven selph

Retropie Setup - Manage packages - Manage optional packages - scraper - Install from source

Далее нужно закрыть EmulationStation, иначе настройка не запустится. Закрываем его Start - Quit - Quit EmulationStation. В терминале пишем

sudo ~/RetroPie-Setup/retropie_setup.sh

Далее Configuration/Tools - Scraper

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

Жмем ок. В следующих окнах жмем Cancel/Back пока не попадем обратно в терминал. В нем пишем emulationstation для ее запуска. Затем, как она запустится, перезагружаем всю систему. А иначе, при закрытии терминала, закроется и emulationstation)


Если вы скачивали видео-превью, то нужно включить поддержку видео в темах

Start - Ui Setting - Gamelist View Style - Video

Start - Other Setting - Use Omx Player - On


Можно подключить как сетевой диск.

Мой компьютер - подключить сетевой диск

адрес

\\retropie\roms

так еще удобнее закидывать игры

Ну, думаю, хватит на этом. Хотя можно было еще написать про видео заставку при загрузке и видео при простое приставки. Но я пока с этим не разбирался

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

54.8K постов91.7K подписчик

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

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



Нельзя:

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

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

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

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

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

За неэтичное использование сообщества - тоже бан. Если ты выкладываешь пост в наше сообщество и получаешь стартовые плюсы от наших подписчиков, не думай, что вытаскивать потом пост в своё личное сообщество будет умным поступком.