RetroArch (Русский)
RetroArch — это эталонная реализация libretro API. Это модульный фронтенд для эмуляторов видеоигровых систем, игровых движков, видеоигр, медиаплееров и других приложений, который предлагает несколько необычных технических возможностей, таких как поддержка многопроходных шейдеров, перемотка в реальном времени и запись видео (с помощью FFmpeg), а также имеет управляемый геймером пользовательский интерфейс поверх полнофункционального интерфейса командной строки.
Установка
Установите пакет retroarch. Разрабатываемая версия доступна в пакете retroarch-gitAUR.
- Установите retroarch-assets-xmb чтобы получить шрифты и значки для графического интерфейса RetroArch. Вы также можете установить retroarch-assets-ozone для более удобного графического интерфейса.
- Установите retroarch-standalone-serviceAUR чтобы получить системного пользователя, системный сервис и конфигурацию RetroArch для автономного геймбокса. Затем запустите и/или включите
retroarch-standalone.service
.
Использование
RetroArch полагается на отдельные библиотеки, называемые «ядрами», для большей части своей функциональности. Они могут быть скачаны отдельно для пользователя в само́м RetroArch (через libretro Buildbot), или вы можете установить их для всей системы из libretro или из AUR.
По умолчанию RetroArch настроен на загрузку ядер из каталога пользователя. Если они установлены в другом месте (например, в системе из пакета) — перенастройте каталоги, как описано в разделе #Настройка.
Команда для запуска конкретного ядра:
$ retroarch --libretro /путь/к/какому_нибудь_core_libretro.so /путь/к/rom
Настройка
При первом запуске RetroArch создаётся пользовательский файл настроек ~/.config/retroarch/retroarch.cfg
.
Если вы устанавливаете компоненты RetroArch в свой домашний каталог, нужно указать соответствующие пути в этом файле. Например,
~/.config/retroarch/retroarch.cfg
libretro_directory = "~/.config/retroarch/cores" libretro_info_path = "~/.config/retroarch/cores/info"
Если вы устанавливаете какие-либо компоненты RetroArch в систему с помощью pacman, вам следует указать их в глобальном файле настроек и включить его в свой пользовательский файл. Например,
/etc/retroarch.cfg
# для retroarch-assets-xmb assets_directory = "/usr/share/retroarch/assets" # для libretro-core-info libretro_info_path = "/usr/share/libretro/info" # для ядер libretro libretro_directory = "/usr/lib/libretro"
~/.config/retroarch/retroarch.cfg
#include "/etc/retroarch.cfg"
Если вы хотите переопределить файл настроек (например, при запуске определённых ядер), вы можете использовать опцию командной строки --appendconfig /путь/к/настройкам
.
Советы и рекомендации
Включение "Online Updater"
Если вы предпочитаете устанавливать все компоненты RetroArch с помощью встроенного механизма обновления вместо pacman, вы можете включить его в файле настроек:
~/.config/retroarch/retroarch.cfg
menu_show_core_updater = "true"
Включение "SaveRAM Autosave Interval"
По умолчанию RetroArch записывает SRAM на диск только при штатном выходе, что означает риск потери данных сохранения при использовании ядер, подверженных сбоям. Чтобы изменить это поведение, в файле ~/.config/retroarch/retroarch.cfg
установите autosave_interval
в n.
~/.config/retroarch/retroarch.cfg
autosave_interval = "600"
В данном примере RetroArch будет записывать изменения SRAM на диск каждые 600 секунд.
Фильтры и шейдеры
RetroArch может загружать BSNES XML фильтры[устаревшая ссылка 2023-05-06 ⓘ] и CG шейдеры. Они задаются в retroarch.cfg
в video_bsnes_shader
и video_cg_shader
соответственно. Шейдеры также могут быть получены и обновлены непосредственно в RetroArch с помощью Online Updater.
Сброс настроек к значениям по умолчанию
Чтобы сбросить настройки или сочетания клавиш к значениям по умолчанию через графический интерфейс, выделите их и нажмите Start
. Чтобы удалить кнопку из сочетания клавиш, выделите его и нажмите Y
.
Решение проблем
Ядра не найдены
По умолчанию RetroArch ищет ядра в ~/.config/retroarch/cores
, куда их устанавливает Online Updater. Ядра, установленные с помощью pacman, помещаются в /usr/lib/libretro
и поэтому не отображаются в графическом интерфейсе RetroArch. Вам следует выбрать один из способов установки ядер (pacman или Online Updater) и указать соответствующий каталог, как описано в разделе #Настройка.
Не работают устройства ввода
Вы можете столкнуться с проблемами при работе с CLI или экранным сервером, отличным от Xorg, или при использовании драйвера ввода udev, поскольку файлы устройств /dev/input
доступны только для root. Попробуйте добавить своего пользователя в группу input
, а затем снова войти в систему.
Или же вручную добавьте правило в /etc/udev/rules.d/99-evdev.rules
с содержимым KERNEL=="event*", NAME="input/%k", MODE="666"
. Затем перезагрузите правила udev, выполнив:
# udevadm control --reload-rules
Если перезагрузка системы или переподключение устройств не подходят, можно принудительно установить права доступа, выполнив:
# chmod 666 /dev/input/event*
Низкая производительность видео
При низкой производительности видео RetroArch может быть запущен в отдельном потоке с помощью установки video_threaded = true
в файле настроек ~/.config/retroarch/retroarch.cfg
.
Однако, это решение не следует использовать, если настройка разрешения/частоты обновления видео в RetroArch устраняет проблему, так как это делает невозможной идеальную V-Sync и немного увеличивает задержку.
Проблемы со звуком при использовании ALSA
При использовании ALSA значение audio_out_rate
должно соответствовать стандартной частоте дискретизации системы, обычно 48000
.
Данные сохранения теряются при каждом сбое RetroArch
Смотрите раздел #Включение "SaveRAM Autosave Interval".
При запуске игры из плейлиста появляется сообщение "No Items"
Если RetroArch сообщает «libretro core requires contents, but nothing provided», попробуйте загрузить игру, вручную выбрав путь к ROM из Main Menu -> Load Content. Запуск игры из 'playlist' выглядит ненадёжным.
Необходимо принудительно запустить RetroArch в Xwayland.
$ WAYLAND_DISPLAY="" retroarch
Вы можете проверить журнал с опцией --verbose
, там должно быть Found vulkan context: "vk_x"
вместо "vk_wayland"
.
Файлы BIOS отсутствуют или не принимаются
Ядра RetroArch ищут файлы BIOS в месте, заданном опцией system_directory
в retroarch.cfg
.
В графическом интерфейсе меню Settings->Directory->System/BIOS также показывает каталог.
Некоторые ядра требуют наличия файлов непосредственно в этом каталоге. Другим ядрам требуется подкаталог в этом каталоге с определённым именем для их специфических файлов BIOS. Некоторые ядра даже ищут свои файлы в том же каталоге, что и ROM-файл, который они пытаются запустить.
Каждое установленное ядро предоставляет информацию о необходимых файлах, их MD5-хэшах и каталог, в который они должны быть помещены. Вы можете найти эту информацию в графическом интерфейсе в разделе Settings->Core->Manage Core. Выберите здесь ядро, чтобы получить информацию о необходимых файлах BIOS для этого конкретного ядра. RetroArch описывает их как файлы «firmware» на страницах информации о ядре.
Более подробную информацию о файлах BIOS для многих поддерживаемых ядер можно найти в официальной документации. (https://docs.libretro.com/library/bios/)