RetroArch (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи RetroArch. Дата последней синхронизации: 16 ноября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Примечание: RetroArch не связан с Arch Linux.

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

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

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

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

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

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

Включение "SaveRAM Autosave Interval"

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

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

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

Важно: Если установить это значение слишком маленьким, это приведёт к разного рода проблемам, в первую очередь к износу диска из-за постоянной записи. [1]

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

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

Примечание: Для использования cg shaders с retroarch-gitAUR нужен nvidia-cg-toolkit.

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

Чтобы сбросить настройки или сочетания клавиш к значениям по умолчанию через графический интерфейс, выделите их и нажмите 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/)

Смотрите также