Rockbox 是什么 - 开源 DAP 替代固件,不是 App 软件
固件 vs App:本质差异
大多数读者对「App」很熟悉——下载、安装、运行,跑在手机或电脑的操作系统上。Rockbox 不是 App。它是 固件(Firmware),直接跑在数字音频播放器(DAP)硬件上的一套操作系统。
DAP 硬件里一般只装着原厂提供的固件——Apple 给 iPod 写的、SanDisk 给 Sansa 写的、iRiver 给 H340 写的。这套固件功能往往非常基础,而且不同品牌的固件之间互不兼容,你没法给 iPod 刷 SanDisk 的系统。
Rockbox 的做法是:为每一款支持的 DAP 硬件写一套完整的替代固件,替换掉原厂的操作系统。替换成功后,DAP 的一切——菜单怎么显示、怎么播放音乐、有哪些功能——全部由 Rockbox 这套开源系统接管。
项目起源与发展
Rockbox 项目由三位瑞典开发者 Linus Feltzing、Björn Stenberg 和 Daniel Stenberg(curl 和 libcurl 的作者)在 2001 年底发起。最初的动机很朴素:他们手上的 Archos Jukebox 系列 MP3 播放器的原厂固件太难用了——界面简陋、功能残缺、扩展性为零。
第一版 Rockbox 在 2002 年 6 月发布,只能在 Archos 几款老机器上运行。早期 Rockbox 只能改善界面和插件功能,因为 Archos 用的是专用硬件 MP3 解码芯片,软件层面改不了播放能力。
转折点在 2004 年底——iRiver H100 系列的端口开始工作。H100 用 ARM 处理器做软件解码,这意味着 Rockbox 可以自己写音频解码器,支持原厂不支持的格式。从那之后,iPod(2005 年底)、SanDisk Sansa(2007 年)、Cowon、Toshiba Gigabeat 等一系列 ARM 架构的 DAP 陆续被支持。
| 时间节点 | 里程碑 |
|---|---|
| 2001 年底 | 项目启动,目标 Archos Jukebox |
| 2002.06 | 第一版发布 |
| 2004 年底 | iRiver H100 软件解码端口 |
| 2005 年底 | iPod 端口启动 |
| 2007 | 大量 ARM 设备加入:SanDisk、Toshiba、Philips、Olympus |
| 2008 | MIPS 架构端口 |
| 2010 | 2010 Google Summer of Code 完成 Android 端口 |
| 2025.04 | 当前稳定版 4.0 |
现状与定位
截至 2025 年,Rockbox 稳定版覆盖约 30 款 DAP 硬件,另有数十款处于 unstable 或 developer 状态(包括近几年很火的复古掌机 RG35XX、TrimUI、GKD Pixel 等)。
Rockbox 的开发完全由社区驱动——没有 Apple、没有 SanDisk、没有任何硬件厂商正式参与代码贡献。所有端口都是逆向工程完成的,开发者靠硬件规格书、反汇编原厂固件、硬件调试器来搞懂每款设备的硬件寄存器和启动流程。
Daniel Stenberg 曾在 2010 年 FOSDEM 演讲中提到一个设想:未来 Rockbox 可以从「独立固件」演变为「跑在完整操作系统下的应用」——比如作为 Android 播放器的底层解码引擎,或者成为 Linux 桌面下的播放器组件。这个设想部分实现了:Rockbox 已经可以跑在 Android 播放器上,但作为传统固件的主线仍在持续。
三个典型场景
场景一:复活老 iPod Classic
2007 年停产的 iPod Classic 还能在二手市场淘到。原厂固件最大的问题是:不支持 FLAC、没有 Gapless、EQ 只有五档、UI 不能改。刷 Rockbox 之后:30+ 音频格式、无缝播放、10 段参量 EQ、数千款主题、插件里能跑 Game Boy 模拟器。一台几十块钱收来的老 iPod 直接变成一台专业音频设备。
场景二:复古掌机兼做 DAP
RG35XX 这类复古掌机本来是玩模拟器的。刷入 Rockbox 端口后(通常通过 PortMaster),掌机就同时变成一台功能完整的无损音频播放器——30+ 格式、Gapless、EQ、主题、录音全都有。出门带一台机器搞定玩游戏 + 听音乐。
场景三:退烧后的 DAP 折腾
很多人烧了一圈高端 DAP 后,发现原厂固件在 Gapless、ReplayGain、EQ 这些基础体验上还不如 Rockbox。于是把手上的 DAP 刷上 Rockbox,获得更纯粹的音频体验。
想看 Rockbox 能带来哪些具体功能提升?翻到 为什么刷 Rockbox。想知道你的设备支不支持?看 支持哪些设备。