rox

Linux

一款为 Linux 而写的 Linux 音乐播放器

不是移植,不是 Electron 套壳,也不是 Wine 里的 Foobar2000。一个原生可执行文件,把 Linux 当作头等目标,而不是排第三的那个。

下载 rox

用 Arch 或 NixOS?那就从 AUR 或 Nix flake 装吧。

v1.26.4 · Linux、macOS、Windows · 全部下载

它是为哪个问题写的

好用的 Linux 播放器各自都放弃了一些东西。Tauon 的标签功能很浅。Strawberry 不能自由组合。Quod Libet 不是谁会拿来做主题的东西。同时把面板、深度标签和主题分享三件事都做齐的那一套,在 Windows 上卡了二十年。

用 Wine 跑那一套,能用到它不能用为止。像 CaTRoX 这样的皮肤是靠一层层变通手段撑着的,某些地方甚至在面板里渲染 Internet Explorer。过一层翻译层,有多少是靠运气撑着就看得很清楚了,而每次系统更新都是一次开盲盒。

rox 就是那个形状的原生写法:四十来种面板由你自己排布、标签编辑敢用在真实收藏上、主题作为单个文件流通。

怎么装

在 Arch 上它在 AUR 里叫 rox-player,由作者共同维护。任何助手都行,也可以自己克隆再跑 makepkg -si

这个仓库同时也是一个 flake,所以 Nix 和 NixOS 不用打包步骤就能拿到。第一条命令不装任何东西就能跑 rox,第二条把它放进你的 profile。

其他情况下,解压 tar 包,跑 ./rox。一个可执行文件,没有安装程序,删掉之后什么都不留。

yay -S rox-player
nix run github:zealsprince/rox
nix profile install github:zealsprince/rox

Wayland 和 X11

两个都支持,通过 gpui 原生支持。窗口装饰是每套工作区自己的设置,不是编译期的决定,所以这套布局用服务端装饰、下一套用无边框都行,不用重启到另一个构建里。

通过 ALSA 的独占输出

独占模式直接以 hw:CARD=x,DEV=n 打开声卡。ALSA 名字里只有它路上没有 dmix、没有 plug、也没有任何声音服务器;也正因如此,只有这条路会在做不到某个采样率时直接拒绝,而不是悄悄重采样成别的东西。

代价也很直白:rox 在独占模式下握着这张卡,就是握着。在你停下之前,系统上别的东西都不能从这个设备发声。rox 告诉你的是硬件到底答应了什么,而不是你要的是什么,所以不匹配会变成一个数字,而不是一种怀疑。

共享模式是默认的,表现和你桌面上其他任何程序一样。

桌面集成

媒体键和“正在播放”走的是真正的 MPRIS 服务,所以 playerctl、GNOME 和 KDE 的媒体控件,以及任何懂 org.mpris.MediaPlayer2 的东西,都不用配置就能看见它。

托盘图标通过 StatusNotifierItem 上总线,这也是“关到托盘”能放心用的原因:如果没有 SNI 宿主在接收它,关掉最后一个窗口就是退出,而不是留下一个无头进程,让你再也够不着。

基准测试里全是 Linux 播放器

本站那张对比表是在 Linux 上、拿 Linux 软件跑的:Elisa、fooyin、Quod Libet、Strawberry、Museeks 和 Tauon,同一台机器,同一个五万首曲目媒体库。rox 0.3 秒出窗口,稳定在 134 MB。下一个能跑完加载的最轻的那个,内存差不多是它的三倍。

它在 Linux 上做不到的

独占输出会告诉你声卡到底答应了什么,而不是你要的是什么;一套外观在这儿搭好,可以直接递给用 Windows 的人。要是 Linux 一直让你缺的就是这类东西,那它在这儿。

让它指向你的媒体库

自由开源,采用 AGPL。不用账号,关掉之后后台什么都不留。

下载 rox

用 Arch 或 NixOS?那就从 AUR 或 Nix flake 装吧。

v1.26.4 · Linux、macOS、Windows · 全部下载

更多内容见它长什么样完整的 Foobar2000 对比,或者上面那个独占输出到底在做什么,见 ReplayGain 和位完美 同一个播放器,也有 WindowsmacOS 版。