sndio
安装 sndio
软件包并启用 sndiod(8) 服务。
配置
服务可以通过向配置文件 (/etc/sv/sndiod/conf
) 的变量 OPTS
中添加 sndiod(8) 标志来配置。
默认设备
sndiod(8) 默认使用第一个 alsa 设备。欲将另外的 alsa 设备设为默认的 snd/0
,向配置文件中添加标志:
# echo 'OPTS="-f rsnd/Speaker"' >/etc/sv/sndiod/conf
使用 -f
标志,通过 ALSA 设备索引或 ALSA 设备名称选择一个设备。
音量控制
主控和每个应用程序的音量控制是通过硬件或软件的 MIDI 信息来控制的。
aucatctl(1) 是一个专门针对 sndio 的工具,用来向 sndiod(8) 守护程序发送 MID I控制信息。它可以在 aucatctl
软件包中找到。
特定的应用配置
Firefox
火狐浏览器在构建时支持 sndio,如果安装了 libsndio 并且有 snd/0
设备,那么从 71 版开始就应该可以使用。
以下 about:config
的修改对于 71 之前的版本是必须的,当使用 71 或更高版本时,应该被删除:
media.cubeb.backend;sndio
media.cubeb.sandbox;false
security.sandbox.content.read_path_whitelist;/home/<username>/.sndio/cookie
security.sandbox.content.write_path_whitelist;/home/<username>/.sndio/cookie
OpenAL
libopenal 支持 sndio,但默认情况下 ALSA 优先于 sndio。你可以在 ~/.alsoftrc
中为每个用户配置这一行为,也可以在 /etc/openal/alsoft.conf
中通过添加以下几行来为整个系统配置:
[general]
drivers = sndio