RetroArch (Русский)

From ArchWiki

Tango-preferences-desktop-locale-modified.pngПеревод этой статьи или раздела не отражает оригинальное содержание.Tango-preferences-desktop-locale-modified.png

Причина: Невычитанная копипаста из переводчика DeepL. (Discuss)
Note: RetroArch не связан с Arch Linux.

RetroArch - это эталонная реализация libretro API. Это модульный фронт-энд для эмуляторов видеоигровых систем, игровых движков, видеоигр, медиаплееров и других приложений, который предлагает несколько необычных технических возможностей, таких как поддержка многопроходных шейдеров, перемотка в реальном времени и запись видео (с помощью FFmpeg), а также имеет управляемый геймпадом пользовательский интерфейс поверх полнофункционального интерфейса командной строки.

Установка

Установите пакет retroarch или альтернативный retroarch-gitAUR для версии разработки.

Tip:
  • Установите retroarch-assets-xmb чтобы получить шрифты и иконки для графического интерфейса RetroArch. Вы также можете установить retroarch-assets-ozone для более удобного графического интерфейса.
  • Установите retroarch-standalone-serviceAUR чтобы получить системного пользователя, системный сервис и конфигурацию RetroArch для автономного геймбокса. Затем запустите и/или включите retroarch-standalone.service.

Использование

RetroArch полагается на отдельные библиотеки, называемые "ядрами", для большей части своей функциональности. Они могут быть загружены для каждого пользователя в самом RetroArch (через libretro Buildbot) или вы можете установить их для всей системы через Community или AUR.

По умолчанию RetroArch настроен на загрузку ядер для каждого пользователя, которые он загружает. Измените #Конфигурация, если вы установили их в другом месте.

Команда для запуска конкретного ядра выглядит следующим образом

$ retroarch --libretro /path/to/some_core_libretro.so /path/to/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"
Примечание: RetroArch не поддерживает несколько путей поиска для этих компонентов. Например, если вы устанавливаете ядра с помощью pacman и скачиваете ядра с помощью графического интерфейса RetroArch, вы не сможете настроить RetroArch так, чтобы он показывал их все сразу, поскольку они установлены в разных каталогах.

Если вы хотите переопределить конфигурацию (например, при запуске определенных ядер), вы можете использовать опцию командной строки --appendconfig /path/to/config.

Советы и рекомендации

Включение "Online Updater"

Если вы предпочитаете устанавливать все компоненты RetroArch с помощью встроенного апдейтера вместо pacman, вы можете включить его с помощью конфигурационного файла:

~/.config/retroarch/retroarch.cfg
menu_show_core_updater = "true"
Note: Установите libretro-core-info, чтобы убедиться, что загрузчик ядра работает правильно. Без этого пакета он не сможет получить список ядра для выбора.

Включение "Интервала автосохранения SaveRAM"

По умолчанию RetroArch записывает SRAM на диск только при безошибочном выходе, что означает риск потери данных сохранения при использовании ядер, подверженных сбоям. Чтобы изменить это поведение, откройте ~/.config/retroarch/retroarch.cfg и установите autosave_interval в n.

~/.config/retroarch/retroarch.cfg
autosave_interval = "600"

В приведенном примере RetroArch будет записывать изменения SRAM на диск каждые 600 секунд.

Warning: Если установить это значение слишком низким, это приведет к разного рода проблемам, в первую очередь к ухудшению аппаратного обеспечения. См. [1]

Фильтры и шейдеры

RetroArch может загружать BSNES XML фильтры и CG шейдеры. Они задаются в retroarch.cfg в video_bsnes_shader и video_cg_shader соответственно. Шейдеры также могут быть получены и обновлены непосредственно в RetroArch с помощью Online Updater.

Note: retroarch-gitAUR требуется nvidia-cg-toolkit для того, чтобы использовать cg shaders.

Сброс настроек до значения по умолчанию

Чтобы сбросить настройки или привязку клавиш до значения по умолчанию через графический интерфейс, выделите их и нажмите Start. Чтобы удалить кнопку из привязки клавиш, выделите ее и нажмите Y.

Устранение неполадок

Ядра не найдены

По умолчанию RetroArch ищет ядра в ~/.config/retroarch/cores, куда их устанавливает Online Updater. Ядра, установленные с помощью pacman, помещаются в /usr/lib/libretro и поэтому не отображаются в графическом интерфейсе RetroArch. Вам следует выбрать один из способов установки ядер (pacman или Online Updater) и изменить свою #Configuration[ссылка недействительна: раздел не найден] в соответствии с этим.

Не работают устройства ввода

Вы можете столкнуться с проблемами при работе с 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".

Запуск игры из плейлиста, но сообщение "No Items"

Если RetroArch сообщает "libretro core requires contents, but nothing provided", попробуйте загрузить игру, вручную выбрав путь к ROM из "Main Menu -> Load Content". Запуск игры из "плейлиста" кажется ненадежным.

Необходимо принудительно запустить RetroArch в XWayland.

$ WAYLAND_DISPLAY="" retroarch

Вы можете проверить журнал с опцией --verbose, там должно быть Found vulkan context: "vk_x" вместо "vk_wayland".

Файлы BIOS отсутствуют или не принимаются

Ядра Retroarchs ищут файлы BIOS в месте, заданном опцией system_directory в retroarch.cfg.

GUI меню Settings->Directory->System/BIOS также показывает каталог.

Некоторые ядра требуют файлы непосредственно в этой директории. Другим ядрам требуется подкаталог в этом каталоге с определенным именем для их специфических файлов BIOS. Некоторые ядра даже ищут свои файлы в том же каталоге, что и файл ПЗУ, который они пытаются запустить.

Каждое установленное ядро предоставляет информацию о необходимых файлах, их MD5-суммах и директории, в которую они должны быть помещены. в котором они должны быть размещены. Вы можете найти эту информацию в меню GUI в разделе Settings->Core->Manage Core. Выберите ядро здесь, чтобы получить информацию о необходимых файлах BIOS для этого конкретного ядра. RetroArch описывает их как файлы "прошивки" на страницах информации о ядре.

Более подробную информацию о файлах BIOS для многих поддерживаемых ядер можно найти в официальной документации. (https://docs.libretro.com/library/bios/)

См. также