Инструкция по настройке RetroPie.


Данный мануал актуален для RetroPie версии 4.1 - 4.3


Запись/перезапись образа. Восстановление флешки.


Запись - тривиально. Качаем Win32 disk imager и с помощью него извлекаем .img образ на SD карту. Все. В интернете куча инструкций, как им пользоваться.

Если вы по каким-то причинам напортачили, и хотите записать образ на флешку заново, или просто вернуть ее в прежнее состояние, то нужно провернуть следующее:

Открываем коммандную строку от имени администратора (пуск-поиск-ввести cmd, клик правой кнопкой, выбрать "запустить от имени администратора)

Убеждаемся, что флешка установлена в кардридер. Далее последовательно вводим комманды, и после каждой жмем Enter.

diskpart
list disk
select disk %
вместо % указывается номер вашей флешки
clean
attributes disk clear readonly
create partition primary
format fs=fat32 QUICK
exit

После этой операции, флешка вернется в прежнее состояние.


Первоначальная настройка.


Втыкаем SD карту в порт на плате, подключаем геймпад, клавиатуру и патчкорд в сетевой порт (если не хочется работать через WiFi). Я настоятельно рекомендую использовать LAN соединение, тк по WiFi все ощутимо медленнее. Подключаем HDMI и питание.

При первом запуске малина перезагружается, после чего откроется окно с настройками геймпада. Удерживаем кнопку A геймпада, после чего поочередно назначаем кнопки.

После настройки открывается основное меню. На данный момент будет доступен только раздел с настройками, туда и заходим. Внутри выбираем WiFi. Далее подключаемся к нашей точке доступа (компьютер так же должен быть подключен к ней) и вводим пароль. Все, после подключения выходим из мастера настройки WiFi, но питание малины не отключаем. Клаву от малины теперь можно отключить.

Отложим малину в сторону и сядем за пк. Сначала устанавливаем WinSCP (sftp клиент). После установки открывается окно, в котором вводим следующее:

Имя хоста: RETROPIE
Имя пользователя: pi
Пароль: raspberry

Протокол и порт оставляем как есть. Подключаемся. Во всех окнах жмем Да/ОК и тд.

*В retropie 4.2 и выше SSH сервер по умолчанию отключен. Чтобы подключаться к малине по winscp его надо включить в настройках.
Как это сделать показано в этом видео.


Первоначальная настройка WinSCP.


В первую очередь заходим в корень программы, находим там папку Putty. В эту папку копируем putty.exe. Далее в самой проге заходим в настройки, переходим в раздел интеграция->программы. Указываем местоположение putty.exe, который только что скопировали в корень. Так же ставим галку на "помнить пароль". Жмем ок.

Сейчас желательно настроить все так, чтобы в следующие разы подключаться к малине с root правами. Для этого находим в панели инструментов значок putty (удаленный терминал). Жмем, и если в прошлый раз все сделали правильно, то он автоматически залогинится и вы увидите привественный экран с информацией используемого пространства, температуры и тд. Теперь можно использовать консольные команды прямо с вашего пк, не подключая клавиатуру к самой малине.

Далее про root права:

Вводим

sudo nano /etc/ssh/sshd_config

и жмем ввод.

В открывшемся файле находим строку PermitRootLogin и добавляем после нее yes.
Должно получиться так:

PermitRootLogin yes

Если в этой строке будет что-то вроде without password, то удаляем, оставив все так, как в примере выше. Жмем ctrl+x, далее y, далее Enter.
Следующий шаг - установка пароля для root. Вводим:

sudo passwd root

После чего дважды вводим пароль (во время ввода знаки не отображаются).
Рекомендую установить пароль из символов без цифр. Например - root.
Далее проверяем, изменился ли пароль. Вводим в консоль:

su

затем пароль (при вводе его так же не видно)

Если зашли, то все получилось. Если нет - гуглите. Вряд ли ваша проблема уникальная. Если вам не нужны root права, то пропустите этот абзац.

После всего этого вводим:

sudo reboot

Малина перезагрузится и изменения вступают в силу.


Создаем root подключение в winscp.


Заново открываем WinSCP. Теперь используем тот же хост, но имя и пароль root. Перед подключением имеет смысл сохранить подключение и добавить его ярлык на рабочий стол. Если все сделали правильно - вы зайдете в малину с root правами. Теперь вам можно все.

Для тех, кто планирует подключаться по WiFi:

По каким-то неизвестным мне причинам, WiFi иногда отваливается. Чтобы заново не подключать клавиатуру к малине для ввода пароля, делаем вот что.

Заходим в winscp с root правами. Переходим в каталог boot. Создаем в нем текстовый файл wifikeyfile.txt Внутри прописываем следующее:

ssid="RouterName"
Имя вашей точки доступа
psk="12345678"
Пароль

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

Наконец, переходим непосредственно к настройке.

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


Вызываем из под WinSCP putty (далее терминал). Вводим:

sudo nano /boot/config.txt

В открывшемся файле вводим разрешение вашего тв/монитора, меняем режимы HDMI, задаем частоту процессора и прочее. Расшифровку параметров легко найти в гугле. Если я начну описывать все эти параметры, то проще писать отдельный гайд, а оных уже и так достаточно в сети.
Так же в этом файле можно отключить отсупы по краям экрана, для этого ищем строку:

#disable_overscan=1

и удаляем в ней #.
Если при запуске малины вы не хотите видеть радужный квадрат на весь экран, то добавьте строку

disable_splash=1

После всех изменений выходим из файла комбинацией ctrl+x и подтверждаем изменения.



Отключаем строки кода и текста во время загрузки.


Если вы эстет, и вам не нравится все это безобразие во время загрузки, то давайте его спрячем.

Выполняем в терминале:

sudo nano /boot/cmdline.txt

Удаляем все, что там есть, и вводим следующее одной строкой (это очень важно):

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty3 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet loglevel=3 consoleblank=0 logo.nologo plymouth.enable=0

сохраняем, перезагружаемся.

Если вы применили это изменение, то советую выполнить еще один маленький квест. Штука в том, что этот трюк отлично работает, пока малина подключена к WiFi или к пк по LAN.
Представьте ситуацию - вы принесли свою готовую консоль к другу ли на выставку, где уже другая точка доступа, или вообще нет WiFi. Включаете, но после экрана заставки она вам выдает долгую задержку, строки текста, и только потом главное меню. Этот квест поможет отключить эту задержку. Так что ваша консоль будет запускаться всегда быстро и без строк кода. Так, будто это законченная и качественная вещь.

Короче, уже в самой малине открываем raspi-config. Выбираем boot option, далее выбираем второй пункт, выбираем no. Все.


Установка заставки (Splashscreen).


По дефолту стоит картинка (кексик), но эту картинку можно легко заменить, или даже установить видеозаставку. Для картинки формат должен быть jpg или png. Для видео - mp4 в кодеке h264. Видео скачанные с ютуба, например, проигрываются хорошо (вплоть до 1080p).

Насчет длительности видео - оно может быть любым. Но если вы хотите скрыть белый экран Emulation Station, то длительность видео должна составлять от 18 до 25 секунд (скорость загрузки не всегда одинаковая).

Итак, представим, что у вас уже есть видео для заставки. Копируем его в home/pi/RetroPie/splashscreen
Далее, в самой малине, переходим к настройкам и выбираем соотвествующую опцию. Там выбираем Choose splashscreen->Own splashscreen. Выбираем добавленный файл и перезагружаемся.


Установка тем оформления.


В настройках выбираем ES THEMES, тут можно скачать готовые темы по отдельности, либо скачать галерею (скриншоты) всех доступных тем. А-ля предпросмотр. Если вы хотите добавить любительские или собственные темы, то достаточно скопировать их в etc/emulationstation/themes.

Настройка эмуляции.


Для начала стоит определиться с тем, что мы хотим эмулировать. Затем приготовить свой пак ромов (или скачать готовый) к выбранным системам.
Я опишу пример настройки для нескольких простых систем, с которыми имел дело. NES SNES GB GBC GBA MEGADRIVE PSX.

Каждый из приведенных эмуляторов имеет общую оболочку, настройки и принцип работы. GBA и PSX не работают без биоса. Если вы планируете эмулировать GBA или PSX, то сейчас самое время закинуть эти биосы в каталог home/pi/RetroPie/bios

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

home/pi/RetroPie/roms

В данном каталоге уже созданы папки для ромов всех систем. Соответсвенно, ромы от NES копируем в home/pi/RetroPie/roms/nes, и тд.

Так же есть возможность настроить хранение ромов на внешнем накопителе (Для меня более предпочтительный вариант). Об этом сразу и по порядку:

В первую очередь нужно отключить usbromservice.

В меню настроек малины выбираем Retropie-Setup. Далее заходим в Configurations / tools->usbromservice->disable usb rom.

Во вторую очередь - удалить или переименовать папку roms из каталога RetroPie, там-же создать ярлык с именем roms, который ссылается на /media/usb0/ (корень вашей флешки).

Далее - создать в корне флешки папки с именами систем, которые вы собираетесь эмулировать, и заливать ромы игр непосредственно в эти папки.

Настройки в эмуляторах.


Как я писал ранее, все эмуляторы имеют общий принцип действия и GUI с настройками. Следовательно, я опишу все настройки для PSX, с остальными системами все тоже самое, и разобраться самостоятельно не составит труда.

Итак, после того как мы закинули ромы и перезагрузили малину, выбираем Playstation и запускаем любую игру. Во время запуска на секунду появляется окно с предложением открыть настройки запуска. Его можно легко скрыть, но пока оставим - позже обьясню зачем оно. После этого окошка начинается непосредственно эмуляция, теперь при помощи комбинации горячих клавиш (SELECT+X, если используете X BOX подобный геймпад) попадаем в меню настроек. Если по каким то причинам вам не удалось выйти в это меню с геймпада, то цепляем клавиатуру и жмем F1 (или ESC). Опишу его содержание. Не все, только более менее важные стороны.

Основное меню:

  • Quick menu - быстрое меню
    • Resume - возобновить эмуляцию
    • Restart - аппаратная перезагрузка игры
    • Close - закрыть игру и вернуться в меню
    • Take Screenshot - сделать скриншот
    • State slot - выбор слота сохранения, всего доступно 10.
      То есть, для каждой игры можно создавать до 10 сохранений.
    • Save state - сохранить игру в выбранный слот
    • Load state - Загрузить игру из выбранного слота
    • Options - в этой опции содержатся уникальные настройки для каждого эмулятора.
      В основном там можно настроить региональную защиту, особенности управления и тд.
      В PSX из этого меню можно включить шейдер, сглаживающий полигоны в hi-res текстуры.
    • Cheats - здесь можно вводить, активировать, сохранять и загружать читы. Можно использовать game-genie коды.
    • Shaders - настройка шейдеров, комбинирование пресетов.
      Если, например, выбрать шейдер stock и установить ему значение linear 2x, то на выходе получим сглаживание более менее походящее на работу оригинальной консоли. К нему можно прикрепить еще один фильтр, crt-pi, отвечающий за полосы. Но имейте в виду, использование даже таких простых шейдеров ощутимо съедает FPS.
  • Settings - основные настройки
    • Video - настройка отображения. Много разных параметров, из которых самый полезный изменение соотношения стороны.
    • Audio - настройка вывода звука. Многие настройки лучше не трогать, если не разбираетесь в этом. Единственное чем может быть полезен - настройка громкости.
    • Input - настройки ввода. Управление + горячие клавиши. В основном все настройки будут проходить тут, если вас не устраивает стандартное расположение кнопок.
      • Max Users - кол-во игроков.
      • Input Hotkeys - настройка горячих клавиш.
      • Input User - настройка управления.
    • Onscreen Display - настройка отображения текста с информацией. Тот самый, который отображается при запуске игр, сохранении и загрузке сейвов.
    • Onscreen Overlay - настройка оверлеев.
  • Configurations - тут можно и нужно сохранять конфигурацию, после каждого измения в настройках. Иначе при следующем запуске все будет по дефолту.

И так, с настройками разобрались. Настроили каждую систему под себя, управление, шейдеры и прочее. Сохранили все настройки в меню Configurations и консоль вашей мечты почти готова. Осталось разобраться с прямоугольником, который мы видим каждый раз при запуске игры. Эта штука называется run command. Прикаждом запуске игры она дает нам время выйти в меню преднастроек, в котором можно изменить разрешение рендера, и главным образом - выбрать через какой эмулятор открывать все игры или конкретную игру. Дело в том, что стоковые эмуляторы поддерживают не 100% игр. Если вы столкнулись с тем, что при запуске какой либо игры она тут-же вылетает, то просто выбираем в этом меню другой эмулятор для этой игры. Все.

После всего этого меню run command можно отключить, чтобы при запуске игра стартовала сразу, без каких либо задержек. Идем в меню опций retropie, выбираем run command, и там выбираем disabled.


Обложки и метаданные.


Чтобы придать вашей библиотеке больше деталей, в меню Emulation Station встроен скрипт, который позволяет искать в сети обложки и описания к играм. Для этого жмем start и выбираем SCRAPER. Но предупреждаю, что данный скрипт работает довольно медленно, а к некоторым, вроде бы известным играм ничего не находит. Поэтому вместо него можно использовать сторонние утилиты. Например, Universal XML Srapper который работает аналогичным образом, но уже из под десктопа. Его отличием является более гибкая настройка, возможности и скорость. Однако он тоже имеет не полную базу. Решением в этом вопросе будет утилита Retropie Metadata Editor. В ней можно уже вручную присвоить любое изображение и описание, а так-же редактировать другие.

BACKUP/Резервное копирование.


Представим, что вы все настроили настолько удачно, что настало время создать резрвную копию, дабы заново не проходить весь этот квест. Решений несколько.

1. Создание образа вашей карточки - самый простой. При помощи того-же Win 32 Diskimager. Для этого втыкаем карточку в картридер ноута/компа, запускаем утилиту, в поле Device выбираем букву присвоенную вашей флешке, далее жмем на значек папки (browse), и выбираем место, куда будем сохранять наш образ. Вводи любое имя (например - backup.img) и жмем открыть. Теперь в окне утилиты стала активной кнопка READ. Жмем на нее и ожидаем, когда все будет готово. После, этот самый образ можно записать на флешку того-же размера, и смело пользоваться без всяких настроек. Стоит отметить, что размер готового образа будет размером с вашу флешку, не зависимо от того, насколько она заполнена.

2. Ручное резервное копирование отдельных файлов. Мало ли кому это будет полезно. Тут я просто опишу где и что хранится.

Метаданные, обложки, настройки эмуляторов и управления хранятся тут

opt/retropie/configs

Просто копируете всю папку configs.

Темы оформления и настройка отображения систем (их порядок и пути к ромам).

etc/emulationstation

Из этой директории копируем все. Папку themes и файл es_systems.cfg

Так же имеет смысл сбэкапить файл wifikeyfile.txt, который мы создавали в директории boot. А вот при бэкапе из этой директории config.txt и cmdline.txt графическая оболочка крашится, что говорит о том, что менять их нужно непосредственно вручную.

В каталоге home/pi/RetroPie можно сбэкапить папки BIOS, retropiemenu (в этой папке хранятся иконки для списка настроек retropie, которые можно заменять на любые другие) и splashscreen.

Вот и все. Коротко, но думаю более менее ясно.

Данная инструкция не претендует на истину, все что здесь описано - исключительно личный опыт чайника, который до этого никогда не имел дел с linux'ом и sftp клиентами. Автор не несет никакой ответственности и не исключает, что есть более простые и универсальные решения.