RetroArch/Packaging

跳转到:导航搜索

应用程序

构建参数

RetroArch 有许多构建选项。许多有用的功能默认情况下被禁用。请查看 此文件 以获取所有可用参数及其默认值。

配置补丁

默认配置在用户的家目录中查找核心、资源和数据库。这意味着用户必须手动下载许多东西才能使其工作。该补丁会将这些目录更改为

  • 核心: /usr/lib64/libretro
  • 资源: /usr/share/libretro/assets
  • 操纵杆自动配置: /usr/share/libretro/autoconfig
  • 核心信息: /usr/share/libretro/coreinfo
  • 数据库: /usr/share/libretro/database

数据包

每次更新 retroarch 包时,请确保同时更新以下包

  • retroarch-assets
  • retroarch-joypad-autoconfig
  • libretro-core-info
  • libretro-database

即使没有核心,retroarch-assets 和 retroarch-joypad-autoconfig 也是必需的。因此它们都以 retroarch- 为前缀。libretro-core-info 和 libretro-database 与模拟核心相关。因此,软件包名称具有 libretro- 前缀。

核心

如何构建

官方构建脚本是打包核心的最佳信息来源。

  • x64 (主)
  • x86 (可选,用于 32 位特定编译器选项)
  • arm7neonhf (可选,用于 arm 特定编译器选项)
  • arm7neonhf (可选,用于 arm 特定编译器选项)
  • recipes.info (解释了配方的结构)

构建配方的每一行都是一个核心的配置。

nestopia 使用不带太多选项的 Makefile

nestopia libretro-nestopia https://github.com/libretro/nestopia.git master YES GENERIC Makefile libretro
  1. CORENAME: nestopia (生成的二进制文件是 nestopia_libretro.so)
  2. COREDIR: libretro-nestopia (用作软件包名称)
  3. URL: https://github.com/libretro/nestopia.git
  4. BRANCH: master (URL 和 BRANCH 用于 _service 文件,仅限 git 版本,没有发布标签)
  5. ENABLED: YES (如果为 NO,我们不需要打包它)
  6. COMMAND: GENERIC (GENERIC 表示 make,CMAKE 表示 cmake && make)
  7. MAKEFILE: Makefile (如果为 Makefile.libretro,我们需要运行 make -f Makefile.libretro)
  8. SUBDIR: libretro (如果不是 .,我们需要在构建之前 cd 到此目录)
  9. ARGS: - (如果有,将其放入您的 make 命令中)

这里有一个脚本和生成的 spec 文件:https://github.com/guoyunhe/libretro-packaging 您可能需要添加一些额外的构建依赖项。例如,Mesa-devel 是支持 3D 图形的模拟器核心所必需的。

每个核心都编译成一个单独的 *_libretro.so 文件,该文件应安装在 /usr/lib64/libretro/ 目录中(32 位系统上的 /usr/lib/libretro/)。

许可

请注意,每个核心都有自己的许可协议。有些甚至不是 FOSS。

  1. cannonball 核心是一个非自由的 OutRun 重制版。我们只是跳过了它。用户可以通过 MAME 核心玩原始的 OutRun。
  2. MAME (最新) 采用 GPL 许可。但 MAME 2003 ~ MAME 2010 并非如此。