之前写过在 RG35XX Plus 上安装各种系统《RG35XX Plus 开源游戏掌机不同系统的安装尝试与使用指南》,当时 ROCKNIX 系统还不支持 RG35XX Plus。现在购买了新的机器 RG40XX V,我们来安装 ROCKNIX 玩一下。

安装 ROCKNIX 系统

  1. 下载系统镜像:https://github.com/ROCKNIX/distribution/releases/tag/20250517
    我们是 RG40XX V 设备所以下载 ROCKNIX-H700.aarch64-20250517.img.gz(不同设备可能镜像不同)

  2. 将系统镜像写入 SD 卡,刷写工具我们使用 Etcher(其它类似工具 Rufus 或者 dd 命令行等都可以)

    etcher-select etcher-flashing

  3. 如果你的设备是 H700 系列的(比如我的 RG40XX V 就是),需要额外的步骤,因为此系列的不同设备硬件存在差异,所以我们需要手动选择正确的设备树文件

    1. 进入 SD 卡根目录,找到 device_trees 文件夹,找到对应的设备树文件,比如我们用 sun50i-h700-anbernic-rg40xx-v.dtb
    2. 将这个文件复制到 SD 卡根目录并将其重命名为 dtb.img(全部小写)
  4. 弹出 SD 卡,然后在断电状态下将 SD 插入机器,最后开机

  5. 系统安装很快,感觉两分多钟就好了
    rocknix-homepage-nintendo

使用记录

使用记录是在 nightly-20250815 测试系统版本下的,而非 20250517 正式版,因为正式版在 RG40XX V 的支持上有些问题,比如 HDMI 视频输出正式版不支持,但是 nightly 版是可以的。我需要 HDMI 功能做一些截图,所以在 nightly 版系统下会更加方便。

官方文档已经很详细了,比如如何添加游戏配置网络云同步RG40XX V 机器相关(如快捷键)等,本文只是随性记录一下,比如我觉得自己容易忘记的、不够直觉的、比较特殊的等。

SSH & Samba

SSH 默认是开启的,ssh root@<device_ip_address> 可进入,密码是 rocknix

Samba 默认也是开启的,smb://<device_ip_address 可进入,无需账号密码,匿名登陆即可。

HDMI

官方文档有写有些设备在开机之前就插入显示器会更好,而不是在开机之后。

系统设置页面是没有 HDMI 相关设置的,但是如果你想进行一些设置,比如输出分辨率,官方文档有提供方法

  • 创建自启动脚本:
    mkdir /storage/.config/autostart
    vim /storage/.config/autostart/090-sway-hdmi-resolution
    
  • 文件内容:
    #!/bin/bash
    echo "output HDMI-A-1 resolution 1280x720" >> /storage/.config/sway/config
    
  • 赋予可执行权限:
    chmod +x /storage/.config/autostart/090-sway-hdmi-resolution
    

EmulationStation

ROCKNIX 的前端 UI 基于 Batocera EmulationStation 的分支 EmulationStation NEXT,由 ROCKNIX 定制并维护。

为什么主页没有显示我想要的游戏平台入口?

刚进入系统只有 PICO-8 和 ScummVM。
rocknix-navigation-bar

EmulationStation 会根据配置文件 /storage/.emulationstation/es_systems.cfg 中定义的路径去扫描 ROMs,如果扫描结果为空,该游戏平台就不会出现在主页列表中。比如下面是配置文件中的一小段关于 NES 的配置:

<system>
    <name>nes</name>
    <fullname>Nintendo Entertainment System</fullname>
    <manufacturer>Nintendo</manufacturer>
    <release>1985</release>
    <hardware>console</hardware>
    <path>/storage/roms/nes</path>
    <extension>.nes .unif .unf .zip .7z</extension>
    <command>/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers="%CONTROLLERSCONFIG%"</command>
    <platform>nes</platform>
    <theme>nes</theme>
    <emulators>
        <emulator name="retroarch">
            <cores>
                <core default="true">nestopia</core>
                <core>fceumm</core>
                <core>quicknes</core>
                <core>mesen</core>
            </cores>
        </emulator>
        <emulator name="mednafen">
            <cores>
                <core>nes</core>
            </cores>
        </emulator>
    </emulators>
</system>

如果我们在 /storage/roms/nes 目录放入合法的 ROM,那么主页就会出现 NES 游戏平台。

rocknix-homepage-nintendo rocknix-navigation-bar-with-nintendo

手动添加游戏元数据

ROCKNIX 支持通过 ScreenScraper 来联网抓取游戏元数据,例如封面图片、游戏发行时间等,如果抓取不到可以手动添加。

我们以添加 NES 平台一个「爆笑三国」的游戏为例,在 /storage/roms/nes 文件夹中放入游戏 ROM「爆笑三国.zip」,然后放入资源文件 boxfront.jpg 和 logo.png,文件结构如下所示:

/storage/roms/nes
|-- assets
|   `-- 爆笑三国
|       |-- boxfront.jpg
|       `-- logo.png
|-- gamelist.xml
`-- 爆笑三国.zip

其中 gamelist.xml 是 EmulationStation 所使用的元数据文件,内容如下(还可以添加更多元数据,例如评级、游玩人数等,这里作为演示只添加了一些):

<?xml version="1.0"?>
<gameList>
    <game>
        <path>./爆笑三国.zip</path>
        <name>爆笑三国</name>
        <developer>外星科技</developer>
        <releasedate>19830701T000000</releasedate>
        <desc>《爆笑三国》是由外星科技开发的一款以三国历史为背景的战棋类游戏,发行于 FC(红白机)平台。游戏采用幽默诙谐的风格,重新演绎三国历史,增添了许多搞笑元素。玩家将扮演刘备、关羽、张飞等知名武将,体验丰富多样的职业系统和转职机制。游戏中包含多种职业,如步兵、骑兵、弓兵和文官等,每个职业都有独特的技能和转职路线,增加了游戏的策略深度和可玩性。此外,游戏还原了诸多经典的三国战役,并通过搞笑的剧情对白,为玩家带来轻松愉快的游戏体验。凭借其独特的风格和丰富的玩法,《爆笑三国》在众多 FC 游戏中脱颖而出,成为玩家们津津乐道的经典之作。</desc>
        <image>./assets/爆笑三国/boxfront.jpg</image>
        <marquee>./assets/爆笑三国/logo.png</marquee>
    </game>
</gameList>

下面左图是未添加元数据之前,右图是添加过之后:

rocknix-nintendo rocknix-nintendo-meta-ok