Как превратить Raspberry Pi в ретро-игровую консоль
Теперь вы можете превратить свой Raspberry Pi в универсальную ретро-игровую консоль! Благодаря проекту RetroPie вы сможете играть во множество игр со старых консолей, таких как SNES, NES, SEGA Mega Drive, Atari и многих других, на вашем Raspberry Pi.
Это руководство проведёт вас через базовую настройку, чтобы вы могли начать использовать RetroPie с двумя USB-контроллерами. Для того чтобы превратить ваш Raspberry Pi в ретро-игровую консоль, вам понадобятся:
Raspberry Pi
SD-карта объёмом 4 ГБ или больше
USB-мышь и клавиатура (для первоначальной настройки)
USB-контроллеры (я использовал простой USB-контроллер в стиле SNES)
Компьютер с Windows/Mac/Linux для переноса ваших ROM-файлов
Для того чтобы играть в ретро-видеоигры, вам нужен ROM-файл игры и эмулятор для его запуска. Эмулятор — это приложение, которое имитирует определённую консоль (например, SNES) и позволяет запускать ROM-файлы для этой консоли. ROM — это просто цифровая копия игры. В RetroPie уже установлено множество эмуляторов, но для того чтобы играть в игры, вам придётся самостоятельно найти и скачать конкретные ROM-файлы.
Шаг 1. Запись образа RetroPie на SD-карту
Безусловно, самый простой способ быстро запустить RetroPie на вашем Raspberry Pi — это записать скачанный образ на SD-карту.
Для начала скачайте образ RetroPie отсюда. Файл весит около 1,6 ГБ, так что скачивание может занять некоторое время. Также я бы хотел, чтобы вы поддержали проект RetroPie пожертвованием.
После того как файл скачается, извлеките файлы и «прошейте» образ на чистую SD-карту. Инструкции о том, как это сделать, можно найти здесь.
Теперь, когда образ RetroPie записан на вашу SD-карту, вставьте её в ваш Raspberry Pi и загрузите его.
Шаг 2. Первоначальная настройка
Для начала, чтобы настроить все параметры, вам понадобятся мышь и клавиатура, подключённые к Pi.
При первой загрузке скрипт настройки Raspberry Pi должен запуститься автоматически, и перед вами появится меню конфигурации. Если по какой-то причине меню конфигурации не загрузится автоматически и вы попадёте сразу в emulationstation RetroPie, нажмите F4, чтобы вернуться в терминал, затем введите следующую команду для перехода в меню конфигурации:
sudo raspi-config
Меню конфигурации должно выглядеть следующим образом:
Расширьте корневую файловую систему, выбрав первый пункт «Expand Filesystem». Это должно занять несколько секунд.
Вернитесь в главное меню raspi-config. Далее мы изменим распределение памяти, чтобы изменить объём памяти, доступный для GPU. Распределение 50/50 хорошо подходит для работы RetroPie. В меню выберите вкладку «Advanced options».
Далее выберите пункт «Memory split».
Если у вас модель A с 256 МБ, введите здесь 128, а если модель B с 512 МБ — введите 256 и нажмите Ok. После этого вы вернётесь в главное меню. Выберите «finish», используя клавишу Tab на клавиатуре.
Теперь перезагрузите ваш Raspberry Pi с помощью команды:
sudo reboot
На этот раз при загрузке запустится emulationstation. Emulationstation — это графический интерфейс, установленный RetroPie, и он предназначен для того, чтобы позволить вам использовать Pi как ретро-консоль — только с контроллером, без необходимости в клавиатуре.
При первом запуске emulationstation вам будет предложено настроить элементы управления. Если у вас уже подключён контроллер, вы можете настроить навигационные элементы управления для него, в противном случае настройте управление на клавиатуру. Система должна распознать подключённый контроллер; если нет, вам может потребоваться установить драйвер для работы вашего контроллера. Вам также будет предложено настроить управление для второго контроллера. Если у вас подключён второй контроллер — настройте его, если нет — удерживайте любую кнопку на первом контроллере, чтобы пропустить этот шаг.
Обратите внимание, что это настраивает элементы управления только для навигации по меню emulationstation, а не для управления в самих играх в эмуляторах. Мы настроим их позже.
Если вы когда-нибудь захотите перенастроить эти элементы управления, например для другого контроллера, нам нужно будет сначала удалить файл .cfg. Для этого вернитесь в терминал, нажав F4 из emulationstation. Оттуда введите следующую команду:
cd .emulationstation
затем
sudo rm es_input.cfg
Теперь снова загрузите emulationstation, набрав следующие команды:
cd
emulationstation
Теперь вам снова будет предложено настроить навигационные элементы управления, как и раньше.
Итак, первоначальная настройка завершена. Далее нам нужно настроить контроллер для использования в эмуляторах.
Шаг 3. Настройка контроллера
Для этой настройки я использовал USB-контроллер в стиле SNES. Из emulationstation нажмите F4, чтобы вернуться в терминал. Оттуда введите следующие команды для настройки вашего контроллера:
cd RetroPie/emulators/RetroArch/tools
затем
./retroarch-joyconfig >> ~/RetroPie/configs/all/retroarch.cfg
Это запустит процесс настройки:
Следуйте подсказкам на экране, чтобы назначить кнопки вашего контроллера. Ближе к концу вас попросят назначить кнопки, которых у вашего контроллера может не быть, например L2 и R2 и аналоговые стики. Я использовал USB-контроллер в стиле SNES, поэтому просто использовал кнопку select для назначения оставшихся элементов управления. Просто нажмите любую кнопку для них, а потом мы их отредактируем.
Теперь мы рассмотрим, как настроить второй контроллер, а также как удалить те лишние кнопки.
Примечание. Эта настройка второго контроллера будет работать только в том случае, если второй контроллер идентичен первому, который вы уже настроили.
Вернитесь в терминал (если вы ещё не там), нажав F4 из emulationstation.
Оттуда введите следующую команду, чтобы загрузить графический интерфейс:
startx
Перед вами появится рабочий стол в стиле Windows. Перейдите в меню LXDE в левом нижнем углу, затем перейдите в accessories (стандартные), затем file manager (файловый менеджер).
Перейдите в папку RetroPie/configs/all. Оттуда откройте файл retroarch.cfg.
Если вы прокрутите до конца файла, вы найдёте назначения кнопок для первого контроллера, который вы только что настроили на предыдущем шаге.
Теперь мы можем удалить строки, которые назначают элементы управления для кнопок, которых у нас нет. Если вы назначили все дополнительные элементы управления на одну кнопку, как я делал ранее, то входные данные для них будут иметь одинаковый номер. Удалите строки кода, которые выделены выше.
Это удалит назначения для кнопок L2, L3, R2 и R3 и конфигурации аналоговых стиков, поскольку на моём контроллере этих кнопок нет.
После того как вы удалите эти строки, скопируйте и вставьте оставшиеся строки (которые назначают используемые кнопки) в конец файла. Теперь у вас должно быть 2 идентичных блока кода. Мы сейчас отредактируем второй блок, чтобы он назначил элементы управления для второго контроллера.
Нам нужно изменить индекс джойпада, чтобы определить второй контроллер, поэтому измените верхнюю строку второго блока кода с:
input_player1_joypad_index = "0"
на
input_player2_joypad_index = "1"
В оставшихся строках второго блока кода везде, где вы видите player1, замените на player2. После этого ваш код должен выглядеть так:
Настройка второго контроллера завершена.
Вы также можете повторить этот метод для добавления нескольких контроллеров. Просто создайте ещё одну копию кода и замените имена на player3, а индекс джойпада измените на «2».
Когда вы запускаете ROM, для сохранения и выхода из игры нужно нажать ESC на клавиатуре. Если мы хотим иметь возможность делать это без клавиатуры, нам нужно добавить ещё немного кода, чтобы мы могли делать это с помощью контроллера.
Поскольку мы уже назначили все наши кнопки, нам нужно установить горячую клавишу, которую необходимо удерживать (например, select), и затем клавишу выхода (например, start), которая теперь будет работать только при удержании горячей клавиши. Добавьте следующую строку в конец файла, чтобы установить горячую клавишу:
input_enable_hotkey_btn = '8'
Здесь я установил горячую клавишу на select, которая является моей кнопкой номер 8. Замените это на номер, соответствующий кнопке select на вашем контроллере (вы можете узнать это, посмотрев на код назначений контроллера, который мы только что настроили). Далее добавьте следующую строку:
input_exit_emulator_btn = '9'
Снова замените номер на тот, который соответствует кнопке start на вашем контроллере.
Добавление этого означает, что теперь вы можете выходить и сохранять игры, нажимая кнопку start, одновременно удерживая select.
После этого сохраните файл и выйдите.
Примечание. Мы настроили элементы управления для всех эмуляторов, отредактировав файл retroarch.cfg в папке RetroPie/configs/all. Также можно настроить элементы управления для отдельных эмуляторов. Это можно сделать, открыв папку config для конкретного эмулятора и отредактировав найденный там retroarch.cfg. Любые назначения контроллера, размещённые здесь, будут переопределять конфигурации, записанные в файле configs/all.
Шаг 4. Копирование ROM-файлов на ваш Pi
Теперь, когда контроллеры настроены, следующее, что нужно сделать — это загрузить несколько ROM-файлов на ваш Raspberry Pi, чтобы вы могли начать играть в старые добрые игры!
Сначала вам нужно скачать несколько ROM-файлов. Разумеется, вы будете скачивать только непиратские официальные ROM-файлы, верно? Откуда бы вы ни взяли ROM-файлы, обязательно проверьте их антивирусом.
Простой способ перенести файлы на ваш Pi с компьютера — использовать программу WinSCP. Вы можете скачать программу отсюда. Скачайте и установите последний установочный пакет:
Убедитесь, что ваш компьютер и Raspberry Pi подключены к одной сети через LAN-кабель или беспроводной адаптер.
Для подключения к вашему Raspberry Pi с помощью WinSCP вам нужно знать IP-адрес вашего Pi. Перейдите в терминал на вашем Pi и введите следующую команду:
ifconfig
Запишите число после «inet addr:». Оно будет выглядеть примерно как «192.168.1.80».
Откройте WinSCP на вашем компьютере.
Для этой сессии выберите File protocol: SCP. «Host name» — это IP-адрес вашего Pi (который вы только что записали). Username и Password — это данные вашего Pi, которые по умолчанию установлены как username: pi и password: raspberry. Нажмите «Login», и должно открыться окно, подобное этому:
Вы можете просматривать файлы на вашем компьютере слева и файлы на вашем Raspberry Pi справа.
На правой стороне откройте папку RetroPie, затем папку roms.
Для того чтобы скопировать ROM на ваш Pi, просто перетащите его с его местоположения на вашем компьютере в соответствующую папку ROM на Raspberry Pi, например если это игра NES — скопируйте её в папку NES.
Перед копированием ROM-файла на Pi убедитесь, что он уже извлечён на вашем компьютере, иначе эмулятор его не распознает. Однако некоторые эмуляторы, такие как MAME, требуют, чтобы ROM оставался в архиве для их работы.
После этого вы будете готовы начать играть!
Теперь, когда вы загружаете Pi и заходите в emulationstation, вы сможете играть в ROM-файлы, которые только что скопировали. Вы можете перемещаться между различными эмуляторами в emulationstation, прокручивая влево и вправо. Обратите внимание, что эмулятор не «появится» до тех пор, пока вы не скопируете ROM для этого конкретного эмулятора на Pi.
Опционально: обложки и описания для ваших ROM-файлов
Существует возможность скачать и установить обложки и описания игр для всех ваших ROM-файлов. Хотя это совершенно не обязательно, это приятное дополнение, которое сделает вашу emulationstation RetroPie немного красивее.
Для этого вам нужно быть подключённым к интернету. Убедитесь, что у вас подключена клавиатура, и перейдите в терминал (нажав F4 из emulationstation). Сначала нам нужно скачать инструмент es-scraper, который найдёт, скачает и установит обложки для наших ROM-файлов. Введите следующие команды, чтобы получить инструмент es-scraper:
cd RetroPie/supplementary
затем
git clone http://github.com/elpendor/ES-scraper
Теперь, когда es-scraper установлен, мы можем перейти в меню настройки RetroPie, чтобы использовать его. Введите следующее:
cd
cd RetroPie-Setup
sudo ./retropie_setup.sh
Это откроет меню, подобное показанному ниже:
Здесь выберите третью вкладку «Setup»
Для того чтобы es-scraper заработал, нам нужно отключить «Start Emulation Station on boot» — это 4-й пункт вниз.
Выберите «Original boot behaviour», и вы должны вернуться в меню «Setup». Оттуда выберите 12-й пункт меню «Run ES-Scraper».
Выберите первый пункт «(Re-)scrape of the ROMs directory». Инструмент es-scraper теперь найдёт обложки и описания игр для всех ваших ROM-файлов и установит их в вашу RetroPie.
Если вы добавите ещё игры позже, просто запустите это снова, чтобы скачать обложки для ваших новых игр.
Когда процесс завершится, вы вернётесь в меню настройки RetroPie. Снова включите «Start Emulation Station on boot», а затем выйдите из меню, выбрав Cancel (используя клавишу Tab на клавиатуре). Вернувшись в терминал, перезагрузите ваш Raspberry Pi с помощью команды sudo reboot.
Теперь, когда emulationstation загрузится, обложки и описания игр для ваших ROM-файлов будут отображаться.
Вот и всё — базовая первоначальная настройка RetroPie завершена! Теперь идите играть в ретро-игры!
Если у вас возникли проблемы с настройкой RetroPie, в интернете доступно множество ресурсов с советами по устранению неполадок и более продвинутой информацией по настройке RetroPie:
PetRockBlock — официальная страница проекта RetroPie