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
- CORENAME: nestopia (生成的二进制文件是 nestopia_libretro.so)
- COREDIR: libretro-nestopia (用作软件包名称)
- URL: https://github.com/libretro/nestopia.git
- BRANCH: master (URL 和 BRANCH 用于 _service 文件,仅限 git 版本,没有发布标签)
- ENABLED: YES (如果为 NO,我们不需要打包它)
- COMMAND: GENERIC (GENERIC 表示 make,CMAKE 表示 cmake && make)
- MAKEFILE: Makefile (如果为
Makefile.libretro,我们需要运行make -f Makefile.libretro) - SUBDIR: libretro (如果不是
.,我们需要在构建之前cd到此目录) - ARGS: - (如果有,将其放入您的 make 命令中)
这里有一个脚本和生成的 spec 文件:https://github.com/guoyunhe/libretro-packaging 您可能需要添加一些额外的构建依赖项。例如,Mesa-devel 是支持 3D 图形的模拟器核心所必需的。
每个核心都编译成一个单独的 *_libretro.so 文件,该文件应安装在 /usr/lib64/libretro/ 目录中(32 位系统上的 /usr/lib/libretro/)。
许可
请注意,每个核心都有自己的许可协议。有些甚至不是 FOSS。
- cannonball 核心是一个非自由的 OutRun 重制版。我们只是跳过了它。用户可以通过 MAME 核心玩原始的 OutRun。
- MAME (最新) 采用 GPL 许可。但 MAME 2003 ~ MAME 2010 并非如此。