RetroArch
RetroArch 是 libretro API 的参考实现。它是一个模块化的前端,用于视频游戏系统模拟器、游戏引擎、视频游戏、媒体播放器和其他应用程序,提供多种不常见的技术特性,例如多通道着色器支持、实时回溯和视频录制(使用 FFmpeg),它还在功能齐全的命令行界面之上提供了一个手柄驱动的 UI。
安装
安装 retroarch 软件包,或者选择 retroarch-gitAUR 以获取开发版本。
- 安装 retroarch-assets-xmb 以获取 RetroArch GUI 的字体和图标。您可能还想安装 retroarch-assets-ozone 以获得更友好的桌面 GUI。
- 安装 retroarch-standalone-serviceAUR 以获取独立游戏机的系统用户、系统服务和 RetroArch 配置。然后启动和/或启用
retroarch-standalone.service
。 - 安装 retroarch-steam-launcherAUR 以将 PATH 中的 retroarch 映射到 Steam 安装的 retroarch。这对于将 Steam 功能(例如云存档)与 emulationstation-deAUR 等使用 PATH 中 retroarch 的应用程序一起使用非常有用。
使用
RetroArch 依赖于称为“核心”的独立库来实现其大部分功能。这些核心可以通过 RetroArch 本身(通过 libretro Buildbot)按用户下载,或者您可以使用 libretro 或 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"
如果您使用 pacman 在系统范围内安装任何 RetroArch 组件,则应在全局配置文件中指定这些组件,并将它们包含在您的用户文件中。例如,
/etc/retroarch.cfg
# for retroarch-assets-xmb assets_directory = "/usr/share/retroarch/assets" # for libretro-core-info libretro_info_path = "/usr/share/libretro/info" # for libretro cores libretro_directory = "/usr/lib/libretro"
~/.config/retroarch/retroarch.cfg
#include "/etc/retroarch.cfg"
如果您想覆盖您的配置(例如,在运行某些核心时),您可以使用 --appendconfig /path/to/config
命令行选项。
技巧与诀窍
启用“在线更新器”
如果您更喜欢使用内置更新器而不是 pacman 安装所有 RetroArch 组件,您可以使用配置文件启用它
~/.config/retroarch/retroarch.cfg
menu_show_core_updater = "true"
启用“SaveRAM 自动保存间隔”
默认情况下,RetroArch 仅在无错误退出的情况下将 SRAM 写入磁盘,这意味着在使用容易崩溃的核心时存在丢失保存数据的风险。要更改此行为,请打开 ~/.config/retroarch/retroarch.cfg
并将 autosave_interval
设置为 n。
~/.config/retroarch/retroarch.cfg
autosave_interval = "600"
使用上面的示例,RetroArch 将每 600 秒将 SRAM 更改写入磁盘。
滤镜和着色器
RetroArch 可以加载 CG 着色器(被认为是旧的且已弃用)以及 GLSL 和 Slang 着色器。[2] 着色器可以使用在线更新器直接在 RetroArch 内部获取和更新。
将设置重置为默认值
要通过 GUI 将设置或按键绑定重置为其默认值,请突出显示它并按 Start
。要从按键绑定中删除按钮,请突出显示按键绑定并按 Y
。
故障排除
未找到核心
默认情况下,RetroArch 在 ~/.config/retroarch/cores
中搜索核心,这是在线更新器安装它们的位置。使用 pacman 安装的核心位于 /usr/lib/libretro
中,因此不会显示在 RetroArch 的 GUI 中。您应该选择一种安装核心的方法(pacman 或在线更新器)并更改您的配置以匹配。
输入设备无法操作
如果在 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*
视频性能不佳
如果遇到视频性能不佳的情况,可以通过在 ~/.config/retroarch/retroarch.cfg
中设置 video_threaded = true
在单独的线程上运行 RetroArch。
然而,如果调整 RetroArch 的视频分辨率/刷新率可以解决问题,则不应使用此解决方案,因为它会使完美的 V-Sync 变得不可能,并略微增加延迟。
ALSA 的音频问题
使用 ALSA 时,audio_out_rate
必须与系统的默认输出速率匹配,通常为 48000
。
每当 RetroArch 崩溃时,保存数据都会丢失
请参阅 #启用“SaveRAM 自动保存间隔”。
从播放列表启动游戏但报告“无项目”
如果 RetroArch 报告 libretro core requires contents, but nothing provided
,请尝试从主菜单 > 加载内容手动选择 ROM 的路径来加载游戏。从播放列表启动游戏似乎不可靠。
有必要强制在 Xwayland 中启动 RetroArch。
$ WAYLAND_DISPLAY="" retroarch
您可以使用 --verbose
选项检查日志,应该有 Found vulkan context: "vk_x"
而不是 "vk_wayland"
BIOS 文件丢失或不被接受
Retroarch 核心在 retroarch.cfg
中使用 system_directory
选项设置的位置查找 BIOS 文件。
GUI 菜单设置 > 目录 > 系统/BIOS 也显示该目录。
一些核心要求文件直接位于此目录中。其他核心需要此目录中的子目录,子目录具有特定的名称,用于存放其特定的 BIOS 文件。有些核心甚至在其尝试运行的 ROM 文件所在的目录中查找其文件。
每个安装的核心都提供有关所需文件、其 MD5 校验和以及需要放置在哪个目录中的信息。您可以在 GUI 菜单中的设置 > 核心 > 管理核心下找到此信息。在此处选择一个核心以获取有关此特定核心所需的 BIOS 文件的信息。RetroArch 在核心信息页面上将它们描述为“固件”文件。
有关许多受支持核心的 BIOS 文件的更深入信息,请参阅官方文档。[3]