1. 开箱之后的第一件事:为什么我建议你立刻刷固件
Anbernic RG35XXX 这台机器最近在复古掌机圈子里讨论度很高,不少朋友拿到手之后第一反应是开机看看里面预装了什么东西,然后就开始琢磨怎么把游戏塞进去。但根据我这些年折腾各种开源掌机的经验,原厂固件这东西,能用,但绝对谈不上好用。它更像是一个“保证你开箱能亮屏”的保底方案,而不是一个让你长期舒心使用的最终形态。
所谓固件刷入,说白了就是给掌机换一个操作系统。RG35XXX 这类机器本质上是一台跑 Linux 的 ARM 小电脑,原厂给你装的那套系统往往存在几个通病:模拟器核心版本老旧、前端界面卡顿、对某些机种的兼容性差、金手指和即时存档功能残缺,甚至有些机器出厂时连中文游戏列表的编码都没处理好,导致游戏名全是乱码。刷固件的核心目的,就是用一个社区维护的、更新更勤快的系统镜像,把这些毛病一次性解决掉。
这篇文章适合哪些人看?如果你刚拿到 RG35XXX,对“刷机”这两个字还有点发怵,那正好,我会把整个流程拆到你能照着做的程度。如果你已经刷过几台类似机器,也可以看看我在分区、镜像写入和刷后调优上的一些习惯,说不定能帮你省下几个小时的返工时间。整个流程不需要你懂编程,但需要你有一台电脑、一张靠谱的 TF 卡,以及一点点耐心。
我个人的习惯是,新机器到手先不急着装游戏,而是先把固件这件事搞定。因为固件决定了你后续所有操作的底层环境,前端怎么用、游戏放哪个目录、存档存在哪里,这些都跟固件方案强相关。先刷固件再灌游戏,顺序反了的话,你可能会面临游戏库要重新整理一遍的尴尬局面。
2. 刷机前的整体思路与方案选型
2.1 原厂固件到底差在哪,值不值得留
先说说原厂固件的问题,这样你才能理解为什么要折腾。RG35XXX 出厂自带的系统通常是基于某个较老的 Linux 内核加上一套定制前端,模拟器核心往往是几年前编译的版本。实际用下来,最明显的几个痛点:一是 GBA 和 SFC 这类机种在某些游戏上会出现音频爆音或者帧率不稳;二是前端滚动游戏列表时会有明显的迟滞感,游戏一多就卡;三是存档管理比较粗糙,即时存档槽位少,而且不容易导出备份。
还有一个容易被忽略的点是屏幕刷新率和缩放算法。原厂固件在非整数倍缩放时,像素会出现不均匀的模糊,对于追求点对点显示的玩家来说,这个观感是很难接受的。社区固件通常会提供多种缩放滤镜和整数缩放选项,画面锐利度会有肉眼可见的提升。
当然,原厂固件也不是一无是处。它的优势在于“确定性”——出厂前经过基本测试,硬件驱动匹配度有保障,不太会出现刷了第三方固件之后某个按键失灵或者 Wi-Fi 模块不工作的情况。所以我的建议是,刷机之前先用原厂系统跑一跑,确认硬件本身没有质量问题,屏幕没有坏点、按键手感正常、充电正常,然后再动手刷。这样万一刷完发现某个功能异常,你能快速判断是硬件问题还是固件问题。
2.2 主流固件方案怎么选
RG35XXX 这类机器可选的固件方案不算少,常见的有几类:一类是社区维护的通用镜像,适配多款同芯片方案的机器;一类是针对特定机型深度定制的镜像,集成度更高;还有一类是偏极客向的轻量系统,需要你自己配置前端和模拟器。
选哪个,取决于你的使用习惯。如果你想要“刷完就能用,界面好看,模拟器都配好了”,那就选集成度高的定制镜像。如果你喜欢自己折腾,想要对每个模拟器核心的参数都有掌控权,那轻量系统更适合你。我个人的偏好是折中方案:用一个维护活跃、更新频率稳定的社区镜像,它既有预配置好的前端和模拟器,又保留了足够的自定义空间。
这里要提醒一点,固件镜像的下载来源一定要认准官方发布渠道或者社区公认的发布帖。网上流传的所谓“整合包”有时候会夹带私货,比如预装了来路不明的 ROM 或者修改过的系统文件,轻则导致系统不稳定,重则让你的存档莫名其妙丢失。下载完之后,养成核对文件哈希值的习惯,这一步花不了两分钟,但能帮你排除掉下载过程中文件损坏的情况。
2.3 TF 卡的选择与准备工作
TF 卡是刷机过程中最容易被低估的环节。我见过太多人用一张杂牌卡刷完固件之后,出现系统随机卡死、游戏加载缓慢、存档写入失败的问题,最后排查半天发现是卡的问题。RG35XXX 这类机器对 TF 卡的读写速度有一定要求,尤其是系统分区,如果卡的随机读写性能太差,前端加载和模拟器启动都会受影响。
我的建议是选一张主流品牌的高速卡,容量方面,如果你主要玩到 PS1 及以下机种,64GB 到 128GB 基本够用;如果你想塞一些 PSP 或者 Dreamcast 的游戏,那就上 256GB。注意,容量不是越大越好,有些老固件对大容量卡的支持有问题,超过一定容量可能无法识别。刷之前最好确认一下你选的固件版本支持的最大容量。
准备工作还包括:一张读卡器(最好是 USB 3.0 的,写入速度快很多)、一台电脑(Windows、macOS、Linux 都行,但不同系统下写入工具不一样)、以及足够的耐心。刷机过程中最忌讳的就是中途拔卡或者断电,所以确保你的电脑和读卡器连接稳定,笔记本的话插上电源再操作。
3. 固件刷入的完整实操流程
3.1 镜像写入工具的选择与参数设置
写入镜像这一步,工具选对了能省很多事。Windows 下我常用的是 balenaEtcher 或者 Rufus,macOS 和 Linux 下可以用 dd 命令或者 Etcher。为什么推荐 Etcher?因为它写入之后会自动校验,能确认镜像是不是完整写进去了,这个校验步骤在刷机场景下非常关键。
用 Rufus 的话,注意几个参数:设备选你的 TF 卡,引导类型选“磁盘或 ISO 镜像”,然后点选择加载你的固件镜像文件。分区类型和目标系统一般不用改,Rufus 会根据镜像自动识别。写入模式选“DD 镜像模式”而不是“ISO 镜像模式”,这一点很重要,因为很多固件镜像是磁盘镜像而不是光盘镜像,用 ISO 模式写进去会出问题。
用 dd 命令的话,先确认你的 TF 卡设备路径,macOS 下是 /dev/rdiskX,Linux 下是 /dev/sdX。命令大概是这样的:
sudo dd if=你的固件镜像.img of=/dev/rdiskX bs=4m status=progress写完记得执行 sync 确保数据落盘。dd 命令没有确认提示,设备路径写错了会直接覆盖你的硬盘数据,所以执行前一定要用 diskutil list 或者 lsblk 反复确认设备号。
注意:写入镜像会清空 TF 卡上的所有数据,操作前先把卡里有用的东西备份出来。
3.2 首次启动与分区扩展
镜像写入完成之后,把 TF 卡插回 RG35XXX,开机。第一次启动通常会比平时慢,因为系统要做一些初始化工作,比如生成配置文件、扩展分区。这里有个关键点:很多固件镜像写入 TF 卡之后,系统分区只占用了镜像本身的大小,剩下的空间是未分配的。你需要让系统在首次启动时自动扩展分区,或者手动通过工具扩展。
大部分社区固件会在首次启动时自动完成分区扩展,你只需要等待重启即可。但如果你发现系统里显示的可用空间远小于 TF 卡的实际容量,那就需要手动处理。常见的做法是进入系统的设置菜单,找到“扩展文件系统”或者类似的选项执行一次。如果固件没有提供这个功能,那就需要把卡插回电脑,用 GParted 或者 diskpart 手动调整分区大小。
这一步的原理其实不复杂:镜像文件为了兼容不同容量的卡,制作时会做得比较小,写入之后分区表里记录的分区大小就是镜像的大小。扩展分区就是把分区表里的结束位置往后挪,占满整张卡,然后把文件系统也相应扩大。听起来简单,但操作时如果搞错了分区顺序,可能会破坏引导记录,导致系统起不来。
3.3 系统初始化与基础配置
分区搞定之后,系统会进入初始化配置流程。这一步通常包括设置语言、时区、按键映射、Wi-Fi 连接等。语言和时区按你的实际情况选就行,按键映射建议认真过一遍,因为不同批次的 RG35XXX 可能存在按键编号差异,如果映射不对,进游戏之后方向键和功能键会错位。
Wi-Fi 配置这块,如果你的固件支持网络功能,建议连上,后续更新模拟器核心、下载封面图、同步存档都会方便很多。但要注意,有些固件在 Wi-Fi 连接后会尝试自动更新,如果你当前用的版本很稳定,不想被自动更新打乱,可以在设置里把自动更新关掉,改成手动检查。
初始化完成之后,先别急着灌游戏。我习惯先跑几个内置的测试 ROM,确认各个模拟器核心都能正常启动、声音正常、按键响应正常。这一步相当于验收,确认固件本身没问题,再往里面加内容。如果测试阶段就发现问题,趁系统还干净,重新刷一遍的成本很低。
3.4 游戏目录结构与 ROM 管理
固件刷好之后,接下来就是往卡里放游戏。不同固件对 ROM 的目录结构要求不一样,有的要求按机种分文件夹,有的支持自定义路径。我的做法是先在电脑上把 ROM 按机种整理好,比如 GBA、SFC、MD、PS1 各一个文件夹,文件夹名用英文,避免中文路径导致的编码问题。
传输方式有两种:一种是把 TF 卡拔下来插电脑,直接用读卡器拷贝;另一种是通过 Wi-Fi 用 SFTP 或者 Samba 传输。前者速度快,适合大批量拷贝;后者方便,适合后续零散添加游戏。如果你经常需要传游戏,建议把 Wi-Fi 传输配置好,省得每次都拔卡。
ROM 的命名也有讲究。很多前端支持从文件名解析游戏名和封面,如果你的文件名乱七八糟,前端里显示的就是一堆乱码或者缩写。建议用标准的 No-Intro 或者 Redump 命名规范,这样前端刮削封面和元数据的成功率会高很多。PS1 游戏还需要注意 BIOS 文件的放置位置,不同固件要求的路径不一样,放错了游戏直接黑屏。
4. 刷机后的调优与常见问题排查
4.1 画面缩放与滤镜设置
固件刷好、游戏能跑之后,接下来就是调优。画面这块,最影响观感的是缩放算法。RG35XXX 的屏幕分辨率是固定的,而不同机种的原生分辨率各不相同,比如 GBA 是 240x160,SFC 是 256x224,PS1 是 320x240。如果直接拉伸到全屏,像素会变得不均匀,画面看起来糊。
我的建议是优先开启整数缩放。整数缩放的意思是,把原始画面按 2 倍、3 倍这样的整数倍放大,不足的部分用黑边填充。这样每个像素都是完整放大的,画面最锐利。如果屏幕尺寸和分辨率允许,尽量用整数缩放。如果实在填不满屏幕,再考虑用双线性过滤或者 CRT 滤镜来柔化边缘。
不同模拟器核心的缩放设置位置不一样,有的在前端菜单里,有的在核心的独立设置里。调的时候建议拿一个你熟悉的游戏做参照,比如 GBA 上的《黄金太阳》,看看文字边缘是否清晰、颜色是否正常。调好之后把配置保存为默认,这样以后启动同类游戏都会沿用这套设置。
4.2 音频延迟与帧率问题
音频延迟是复古掌机常见的问题,表现为按键之后声音慢半拍,或者音乐节奏不对。这个问题的根源通常是音频缓冲设置过大或者模拟器核心的音频同步策略有问题。解决思路是减小音频缓冲,但缓冲太小又会导致爆音,所以需要找一个平衡点。
我的经验是,先把音频缓冲调到中等偏低的值,然后跑一个节奏感强的游戏,比如《节奏天国》或者《太鼓达人》,听声音和画面的同步情况。如果出现爆音,就稍微加大缓冲;如果延迟明显,就继续减小。不同核心的最佳值不一样,需要单独调。
帧率问题通常出现在 PS1 和 SFC 的某些游戏上。如果发现帧率不稳,先检查是不是开了太高分辨率的缩放或者太重的滤镜。把滤镜关掉或者换成轻量级的,帧率往往能恢复。另外,有些核心支持帧跳过功能,但我不建议开,因为跳帧会让画面看起来一顿一顿的,体验反而更差。
4.3 存档管理与备份策略
存档是刷机之后最需要重视的东西。我见过太多人刷完固件玩了几十个小时,结果因为一次误操作或者系统崩溃,存档全没了。所以刷机之后第一件事,就是把存档目录搞清楚,然后建立定期备份的习惯。
大部分固件会把存档放在系统分区的某个目录下,比如 /home/用户名/.config/模拟器名/saves 之类的路径。你可以通过 Wi-Fi 用 SFTP 连上去,把整个 saves 目录定期拷到电脑上。如果固件支持云同步,那就更省事了,但云同步本身也有风险,比如同步冲突导致存档被覆盖,所以本地备份还是不能省。
即时存档和电池存档要分开管理。即时存档适合临时保存进度,比如你马上要关机了但还没到存档点;电池存档是游戏内的正常存档,更稳定。我的习惯是,重要进度一定用游戏内存档存一次,即时存档作为辅助。这样即使即时存档损坏,也不会丢失全部进度。
4.4 常见问题速查表
| 问题现象 | 可能原因 | 排查与解决 |
|---|---|---|
| 开机黑屏,只有电源灯亮 | 镜像写入不完整或分区损坏 | 重新写入镜像,写入后校验哈希值 |
| 系统启动后卡在 logo 界面 | TF 卡兼容性问题或文件系统错误 | 换一张品牌卡重刷,检查卡是否有坏块 |
| 游戏列表显示乱码 | ROM 文件名编码问题 | 把文件名改成英文或 UTF-8 编码 |
| 模拟器启动后闪退 | 核心与 ROM 格式不匹配 | 确认 ROM 格式,换对应核心 |
| 声音有爆音或延迟 | 音频缓冲设置不当 | 调整音频缓冲大小,关闭音频同步 |
| Wi-Fi 连不上 | 驱动不匹配或密码错误 | 确认固件支持该 Wi-Fi 芯片,重输密码 |
| 存档丢失 | 系统分区写入失败或误删 | 检查存档目录权限,建立定期备份 |
| 按键错位 | 按键映射未配置 | 进入设置重新映射按键 |
这张表里的问题,大部分我在实际刷机过程中都遇到过。最耗时的往往是 TF 卡兼容性问题,因为现象不固定,有时候能开机有时候不能,很容易误判为固件问题。我的建议是,刷机时尽量用一张已知良好的卡,刷完确认系统稳定之后,再考虑换大容量卡。
4.5 我踩过的几个坑
第一个坑是镜像写入工具的选择。早期我用某个工具写入之后,系统能启动但分区表有问题,导致后续扩展分区失败。后来换成 Etcher 并且开启校验,这个问题就没再出现过。所以工具不要随便换,找到一个稳定的就一直用。
第二个坑是 ROM 的路径。有一次我把 PS1 的 BIOS 文件放错了目录,结果所有 PS1 游戏都黑屏,排查了半天才发现是路径问题。不同固件对 BIOS 的路径要求不一样,刷完之后最好先看一下固件自带的说明文档,确认各个机种的 ROM 和 BIOS 应该放在哪里。
第三个坑是自动更新。有一次固件提示有新版本,我顺手点了更新,结果更新完之后前端配置被重置了,之前调好的滤镜和按键映射全没了。从那以后,我都是手动更新,而且更新前先把配置文件备份出来。固件更新不一定是好事,如果当前版本稳定,没必要追新。
5. 关于刷机这件事的一些个人体会
刷固件这件事,说难不难,说简单也不简单。它考验的不是你的技术能力,而是你的细心程度。整个流程里,真正有技术门槛的地方很少,大部分问题都出在细节上:卡没插好、镜像没校验、分区没扩展、路径放错了。这些问题的共同点是,只要你在操作前多花几分钟确认,就能避免。
我个人的习惯是,每次刷机都当成一次全新的操作,不凭记忆跳步骤。哪怕我已经刷过几十台机器,每次还是会按流程走一遍:确认卡的状态、校验镜像、写入后检查分区、首次启动后跑测试 ROM。这套流程看起来繁琐,但它能帮你把出问题的概率降到最低。
另外,刷机不是一劳永逸的事。社区固件会持续更新,模拟器核心会不断优化,你的使用需求也会变化。所以建议每隔几个月关注一下固件的更新日志,看看有没有值得升级的新功能或者修复。但升级之前一定要备份存档和配置,这是铁律。
最后分享一个小技巧:如果你不确定某个固件适不适合自己,可以先刷到一张单独的卡上,保留原厂系统的卡不动。这样你可以两张卡换着用,对比一下哪个更顺手,确认新固件没问题之后再彻底迁移。多花一张卡的钱,换来的是试错成本的大幅降低,这笔账怎么算都划算。