跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言大前端java

闲置小米 9 打造复古掌机及天马 G 前端配置指南

探讨了利用闲置小米 9 打造复古掌机的方案,对比了安卓与 Linux 掌机的优劣,分析了硬件性能差异及成本优势。详细介绍了天马 G 前端的安装流程,包括 APK 部署、配置文件设置及 ROM 资源整理,并解析了其基于 QT 和 Java 调用的技术原理。文章指出该方案性价比高且能充分利用旧设备,同时提及了未来 FPGA 硬件扩展的可能性。

云间漫步发布于 2026/2/9更新于 2026/7/1349 浏览
闲置小米 9 打造复古掌机及天马 G 前端配置指南

1 复古掌机的选择

最近搞了个手柄,正好有一个闲置的小米 9,就想着看能不能装一个复古掌机出来。

其实市场上也有很多现成的复古掌机,目前主要是安卓和 Linux 两种。整体上看安卓的目前占优一点,因为除了大家都能玩的模拟器,安卓平台还能玩安卓的游戏。

项目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想要 '开机就是游戏机' 的感觉
视觉体验类似安卓电视盒 + 各种前端像原生游戏机固件,主题风统一

有一个很奇怪点,安卓其实也是 Linux 的魔改版,为什么有些模拟器目前只能在安卓上运行。查了一下,这个就完全是生态和个人原因了。PS2 模拟器的作者 Tahlreth 只开发了 AetherSX2 for Android,其中使用了 Android NDK + Vulkan/OpenGL ES 来实现 JIT。这些都几乎是安卓平台独有的,无法直接移植到 Linux。

JIT / 动态重编译器(Dynarec)

JIT(即时编译)/ 动态重编译器(Dynarec)是模拟器、虚拟机等场景中核心的性能优化技术,它能在程序(如游戏 ROM 指令)运行时,将宿主设备不兼容的原始指令(如游戏机专属指令集)实时转换为宿主硬件可直接执行的机器码,而非逐条解释执行;同时,它会持续监测并识别频繁执行的'热点代码',通过函数内联、循环展开等优化手段生成更高效的机器码,大幅减少指令翻译开销,让原本因'指令不兼容 + 解释低效'卡顿的程序(如 PS2、Switch 游戏模拟),在手机、电脑等设备上实现流畅运行,平衡了跨平台兼容性与执行效率。

就复古掌机来说,最难的部分其实就是模拟器。涉及到对汇编指令的模拟和调度,也就是上面的 JIT。之前写过一点 GB 的模拟器,后面空了发出来。

再看看市场的情况,截至当前。用很火的安伯尼克来看。

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 倍以上。同时 855GPU 性能是 T820 的 3 倍以上。

而年初买的二手的小米 9 多少钱呢,350,现在可能还更便宜。自己再加上一个手机手柄,加完也就只是 406V 一半的价格,目前市场上的安卓掌机价格偏贵是不争的事实。自己动手价格减半,性能翻倍,中间还可以学一些知识。所以折腾一下小米 9,看来是更明智的选择。

2 天马 G 前端的安装

看了一下,目前国内流行的就是天马 G 的前端。现在不管是玩家还是工作室,几乎都用的这个。

在网上买了一套包,照着安装即可。

安装分成三个步骤,首先是 App,然后是配置,最后是 Roms。

2.1 APKS

大概是这些内容,MT 管理器是用来拷贝文件的,天马 G 就是整体入口,用的最多的其实还是 RA,其它的就是各个单独的模拟器。我是用 adb 装过去的。安装完成之后启动一下赋予权限,不需要再高别的什么。

2.2 配置

配置有 3 个,PG_安卓主题包 v1.2 230514.zip,PG_天马 G 安卓配置 v1.2 230415.zip,最后有一个 Android 文件夹。

这里 PG_安卓主题包 v1.2 230514.zip,PG_天马 G 安卓配置 v1.2 230415.zip 都是天马 G 的配置文件,然后有一些金手指,文件存档之类。

还有一个 Android 的文件夹。

原因如下:

在 Android 11 及以上系统中,每个 App 的数据目录(Android/data/包名)是受系统沙盒保护的,普通文件管理器无法直接写入。 但天马 G 前端要让多个独立 App(Pegasus、RetroArch、AetherSX2)共享配置文件、ROM 路径和启动脚本,因此需要提前把它们的配置放好。

所以目前这部分只能手动弄。

2.3 Roms

Rom 的内容就比较敏感的,就是合法与非法的区别,所以模拟器或者各大工作室,是不会提供 ROM 的,起码明面上不会,这些就要自己去找。不过好在国内这部分有现成的,就是整合包,里面内容还挺全的。现在网上基本都是他家的。

Rom 就是正常的游戏镜像,照理说直接拷贝到 SD 卡或者手机上就行了,但是天马 G 毕竟显示牛批嘛。所以根据天马前端 UI 的要求,要增加一些文件。

以恶魔城,白夜协奏曲为例,大概是这些文件。

一个主图,一个副图,一个介绍动画。

此外整体还有一个 metadata,直接用精简包里面的即可。弄完之后放在手机根目录的 Roms 下面。

如果是用的整合包的发布,这些内容在精简包里面都是做好了的。

2.4 运行

比想的要顺利一点。

首先界面确实华丽了不少,比起一般 linux 掌机就是文字,确实好看也方便了很多。

使用 USB 直接外接的手柄,也是非常方便,几乎感觉不到延迟。

但是手机也有自己的问题,主要就是屏幕尺寸,运行很多游戏时,两边会有很大的黑边,影响了一部分游戏感受。不过 PSP 就看着好很多。

总体还是满意的,钱省了,然后闲置的物品也利用起来了,探索技术的心情也满足了。

3 天马 G 的技术原理

天马 G 其实也是一个开源项目,官网地址是:https://pegasus-frontend.org/

其实和之前认为的有点点区别,天马 G 还真就只是一个前端,所有干的事情就相当于一个 ROM 管理器和模拟器启动器 launcher。所有的核心内容,还是依赖于各家模拟器自己的 APK。

整套本身实现是基于 QT,所以才看到天马 G 现在有那么多平台。其实功能本身不复杂,也没有太核心的技术,还是调用第三方的模拟器。看了一下,Android 的核心代码如下:

public static String launchAmCommand(String[] args_arr) {
    final LinkedList<String> args = new LinkedList(Arrays.asList(args_arr));
    if (args.isEmpty()) return "No arguments provided to 'am'";
    final String am_command = args.pop().toLowerCase();
    if (!am_command.equals("start")) return "For 'am', only the 'start' command is supported at the moment, '" + am_command + "' is not";
    try {
        Intent intent = IntentHelper.parseIntentCommand(args);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        m_self.startActivity(intent);
    } catch (Exception e) {
        return e.toString() + ": " + e.getMessage();
    }
    return null;
}

拼接好参数,JNI 直接 startActivity 去调用三方模拟器。天马 G 提供的,就是一套 UI 框架,也只有一套这个。如果你直接装一个 RetroArch,感觉其实也能玩,还方便很多。

4 FPGA 的扩充

对模拟器本身还是挺关注的,能否接一个 FPGA 来提升性能呢?未来的扩展方向可以关注 FPGA 硬件加速的可能性,但受限于成本与开发难度,目前仍以软件模拟为主。

目录

  1. 1 复古掌机的选择
  2. 2 天马 G 前端的安装
  3. 2.1 APKS
  4. 2.2 配置
  5. 2.3 Roms
  6. 2.4 运行
  7. 3 天马 G 的技术原理
  8. 4 FPGA 的扩充
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 列表基础用法详解
  • 商业级 AI 图像生成平台架构设计与技术选型实战
  • 互联网 Android 应用与车载系统开发对比及前景分析
  • C++ 仿函数详解:让对象像函数一样调用
  • 2026 年 3 月 GESP C++ 一级真题:数字替换
  • 使用 VS Code + Git 高效管理 Python 学习记录
  • OpenClaw 龙虾机器人本地部署与配置指南
  • MyBatisPlus 与 Thymeleaf 全栈分页整合方案
  • 网络安全行业岗位缺口分析:基于美国市场数据的观察
  • StructBERT-Large 单句对多句批量检索开发指南
  • 基于 OpenClaw 与 Ollama 的本地 AI 智能体搭建指南
  • 基于 Web 的学校田径运动会管理系统开题答辩问答实录
  • 使用 AI 工具箱重构 Java 毕业设计商城项目
  • Android 工程师面试准备指南:核心知识点与实战技巧
  • VS Code 前端开发 AI 工具对比:Copilot、通义灵码、iFlyCode 与 Trae
  • Github 2FA 认证失效解决方案及账号恢复指南
  • 使用 Rust 与 GLM-5 构建高性能 AI 翻译 CLI 工具
  • IntelliJ IDEA GitLab 登录失败:检查 API Token 或版本兼容性
  • 微信小程序 webview postmessage 通信指南
  • GTC 2026 中国 AI 企业集体亮相:从技术跟随到全球并跑

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online