RetroArch (com.libretro.Retroarch)
Популярный фронтенд для запуска эмуляторов. Адаптирован для Аврора ОС 5.х. Возможна сборка под Аврора ОС 4.х, собранная 32-битная версия под нее доступна в оригинальном репозитории.
Ядра эмуляторов, подходящих для Аврора ОС уже поставляются внутри пакета. Обновление невозможно, пожалуйста не пытайтесь обновить их вручную через Buildbot, это приведет к неработоспособности эмуляторов. В сборку уже включены следующие ядра эмуляторов:
- fceumm, Nestopia (NES)
- mGBA (GBA)
- Picodrive (Sega)
- snes9x (SNES)
- Gambatte (Gameboy Color)
- PCSX ReArmed (PS1)
Установка и запуск
Установка
- Скачайте подходящий RPM-пакет в разделе релизы.
*-armv7hl
подходит для 32-битных систем (устройства R570E, Т1100 и др.),*-aarch64
(Масштаб Т1, Квадра и др.) - Установите скачанный RPM-пакет обычным образом
Настройка
- Отмасшатибуйте интерфейс под свое устройство через меню “Настройки → Интерфейс пользователя → Оформление → Масштаб меню”
- Обновите профили контроллеров и оверлеев в меню “Главное меню → Онлайн-обновления”
- При игре с контроллером можно настроить кнопки под себя в меню “Настройки → Ввод → Порт 1 привязки”
- Поверните изображение во время игры в меню “Настройки → Видео → Вывод → Поворот изображения”
- Отмасштабируйте изображение во время игры в меню “Настройки → Видео → Масштабирование → Соотношение сторон”. Отключите целочисленное масштабирование и выберите “Соотношение сторон → Пользовательская” для тонкой настройки
Запуск
- Выберите “Главное меню -> Загрузить контент” и выберите ром с игрой. Эмулятор определится автоматически, если он доступен в списке установленных ядер.
- Игра запустится в режиме “Пауза”, который снимается касанием экрана или нажатием соотв. кнопки на оверлее или контроллере
Известные баги и ограничения
- Главное меню отображается только в портретной ориентации.
- Сенсорное управление с экрана без контроллера поддерживается (“Настройки → Индикация на экране → Оверлей → Показывать оверлей”), но не работает мультитач, что значительно сокращает возможности играть в игры без контроллера
- При игре с контроллером экран автоматически выключается в соответствии с настройками системы (“Настройки → Экран → Спящий режим через % минут”)
Поддержка контроллеров
Рекомендуется использовать популярные bluetooth-модели контроллеров. Модели с Type-C требуют отдельных доработок. Работоспособность проверена на:
- Gamesir X2S Bluetooth
- Контроллеры Sony
Сборка из исходников
Сборка RetroArch
- Склонируйте этот репозиторий
- В папке
./cores
распакуйте в нее саму интересующие вас ядра, после чего удалите все остальное (иначе будет ошибка при сборке) - Запустите
git submodule update --init --recursive
- В корне репозитория запустите
mb2 -t AuroraOS-%версия%-MB2-%архитектура% build --prepare
(например,mb2 -t AuroraOS-5.1.3.85-MB2-armv7hl build --prepare
). Предполагается, что у вас уже установлены и настроены инструменты сборки - После окончания сборки подпишите получившийся пакет
rpmsign-external sign --key /%путь_до_sdk%/.auroraos-regular-keys/regular_key.pem --cert /%путь_до_sdk%/.auroraos-regular-keys/regular_cert.pem ./RPMS/com.libretro.retroarch...rpm
Для сборки под aarch64 удалите флаги --enable-neon
и --enable-floathard
в ./rpm/retroarch.spec
.
В случае необходимости пересборки, например если сборка упала, удалите папку RetroArch (rm -rf RetroArch
) и запустите git submodule update --init --recursive
заново. В противном случае пересборка не запустится из-за уже накаченных патчей.
Сборка ядер
- Склонируйте репозиторий libretro-super
- Скачайте интересующее вас ядро, например
./libretro-fetch.sh nestopia
- Соберите ядро, пример -
mb2 -t AuroraOS-5.1.3.85-MB2-aarch64 ./libretro-build.sh nestopia
- Скопируйте собранное ядро из
./dist/unix
в папку с исходниками ретроарча в./cores
- Добавьте соответствующий ядру .info файл туда же. Найти .info файлы можно в
./dist/info
или скачать здесь
Поддержка
Поддержка по данному продукту не предоставляется. Можете завести issue или создать pull request в случае обнаружения/исправления проблем или необходимости обновить ядро эмулятора. Также можно попробовать задать вопрос в телеграм-канале @aurora_devs в разделе Games.
Благодарности
Особая благодарность автору оригинального порта xcode и сообществу разработчиков из канала Aurora Dev.