1 复古掌机的选择
最近尝试利用闲置设备打造复古掌机。市场上主要有 Android 和 Linux 两种方案,整体上看 Android 目前占优,因为除了模拟器,还能运行原生安卓游戏。
| 项目 | Android 掌机 | Linux 掌机 (ArkOS / JELOS / Batocera) |
|---|---|---|
| 启动速度 | 20~40 秒 | 5 秒以内 |
| UI 一致性 | ❌ 多 app 无统一样式 | ✅ 完整游戏平台风格 |
| PS2(AetherSX2) | ✅ 可玩(Snapdragon / Dimensity / Unisoc) | ❌ 官方 Linux 版 core 不成熟 |
| Switch(Yuzu) | ✅ 安卓有社区版 Yuzu | ❌ 完全无解 |
| PSP/NDS/GBA etc | ✅ 但调用 APK,界面割裂 | ✅ 全集成 Core,UI 统一 |
| 云游戏 / Steam Link | ✅ 完全支持 | ⚠️ 只能 Moonlight(若有 Core) |
| 系统自由度 | 限制 root,定制难 | ✅ 想怎么魔改都行 |
| 易用性 | ✅ 下载 ROM → 配 APK → 玩 | ⚠️ 需要 BIOS / Core 手动配置 |
| 适合人群 | 玩模拟器 + 云游戏 + 装 APP | 想要'开机就是游戏机'的感觉 |
| 视觉体验 | 类似安卓电视盒 + 各种前端 | 像原生游戏机固件,主题风统一 |
Android 本质也是 Linux 的魔改版,但部分模拟器如 PS2 的 AetherSX2 仅支持 Android,原因是其使用了 Android NDK + Vulkan/OpenGL ES 实现 JIT,难以直接移植到 Linux。
JIT / 动态重编译器(Dynarec)
JIT(即时编译)/ 动态重编译器是模拟器核心性能优化技术,能在程序运行时将宿主设备不兼容的原始指令实时转换为机器码,而非逐条解释执行;同时监测并识别频繁执行的'热点代码',通过函数内联、循环展开等优化手段生成更高效的机器码,大幅减少指令翻译开销,让原本因'指令不兼容 + 解释低效'卡顿的程序在设备上实现流畅运行。
就复古掌机来说,最难的部分其实就是模拟器,涉及到对汇编指令的模拟和调度。截至当前,参考热门设备安伯尼克(Anbernic)的配置:35XX 对应 T700,1 颗 2.5GHz Cortex-A76 大核、3 颗 2.3GHz Cortex-A76 大核;406V 对应 T820,1 颗 2.7GHz Cortex-A76 大核、3 颗 2.3GHz Cortex-A76 大核。总体来说性能提升不大,但价格翻了 2~3 倍。
手头闲置的小米 9 配置高通骁龙 855 处理器。对比 T820,855 单核几乎翻倍,整体多核也 1.5–2 倍以上,GPU 性能更是 T820 的 3 倍以上。二手小米 9 价格约 350 元,加上手机手柄成本仅为市面掌机的一半,且能利用闲置物品,性价比更高。
2 天马 G 前端的安装
目前国内流行的前端是天马 G(Pegasus)。安装分为三个步骤:App 部署、配置设置、ROM 整理。
2.1 APK 部署
主要包含 MT 管理器、天马 G 前端、RA(RetroArch)及各个独立模拟器。使用 adb 进行安装。安装完成后启动一次赋予权限即可。
2.2 配置
配置文件包括 PG_安卓主题包 v1.2、PG_天马 G 安卓配置 v1.2 以及 Android 文件夹。
由于 Android 11 及以上系统中,每个 App 的数据目录(Android/data/包名)受系统沙盒保护,普通文件管理器无法直接写入。天马 G 前端需让多个独立 App(Pegasus、RetroArch、AetherSX2)共享配置文件、ROM 路径和启动脚本,因此需要提前手动配置。


