Ubuntu配置使用DAC小记

Intro

在开始之前先添加几个关键词吧:Linux、Ubuntu、XMOS、USB、MPD、PulseAudio 之前从本地网站的交易板块上买到了一台Grace Design m9XX,一台USB使用XMOS方案的DAC/Amp一体机。今天先不谈这家伙声音怎么样,而是谈谈怎么让这家伙在使用USB输入时在Linux下发声。

启用XMOS驱动

为了使用m9XX的U2模式,首先得启用XMOS驱动。Ubuntu 10.04以及内核版本2.6.32以上的系统一般需要创建/etc/udev/rules.d/99-xmos.rules文件,然后将以下的内容粘贴进去:

SUBSYSTEM!="usb|usb_device", GOTO="xmos_rules_end"
ACTION!="add", GOTO="xmos_rules_end"

# 20b1:f7d1 for xmos xtag2
ATTRS{idVendor}=="20b1", ATTRS{idProduct}=="f7d1", MODE="0666", SYMLINK+="xtag2-%n"

# 0403:6010 for XC-1 with FTDI dual-uart chip
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", SYMLINK+="xc1-%n"

LABEL="xmos_rules_end"

然后运行service udev reload并重新插入XMOS DAC。

安装PulseAudio控制组件

Ubuntu下可以直接从apt安装,无需添加额外的软件源:

apt install pavucontrol pavumeter paprefs

安装完成后打开paprefs,在最后一个选项卡中启用“添加虚拟输出设备”选项。之后再使用pavucontrol选择各软件所使用的不同输出设备及调整对应音量等。

过渡说明

以上是一篇很短很短的小笔记,不过在找到解决方案之前我也是走了一些弯路。在此我补充一些其他信息。 ALSA是比PulseAudio更加接近系统底层的音频组件,可以直接和硬件打交道。理论上由于减少了软件处理的步骤,ALSA输出的声音比PulseAudio输出更为纯净。但是不巧的是ALSA的软件混音功能相对来说不够完善,对于我这样的小白用户来说配置起来较为不便。如果直接移除PulseAudio就会发生单一软件独占音频输出的情况(Clementine自带的雨声效果也实现不了了),而且切换输出设备较为不便,有些弃帅保车的意味。 其实采用上述方案后,即使在pavucontrol控制面板中看到了ALSA plugin的字样,音频还是经过了PulseAudio的处理。在Arch Linux Wiki中(大概)可以通过移除PulseAudio与ALSA兼容层软件包,使ALSA程序绕过PulseAudio,以解决这个问题。然而遗憾的是,Ubuntu下的PulseAudio集成度较高,这样的解决方案并不可行。(当然读者如果有能力自己编译/修改出一个符合要求的PulseAudio,那是坠吼的啦!)

另一种方案

想一边好好享受音乐一边心情舒畅地码代码,那就禁用PulseAudio只启用ALSA;想一边听音乐一边听课堂录音,那就启用PulseAudio。一种方法是修改PulseAudio的配置文件,在此我只记录单用户的版本。 首先是暂时禁用PulseAudio:

  1. cp /etc/pulse/client.conf ~/.config/pulse/
  2. vi ~/.config/pulse/client.conf,将
    ; autospawn = yes
    修改为
    autospawn = no

  3. :wq保存退出,并重启电脑 至于重新启用PulseAudio,只需逆向执行上述第二步并保存重启。 这种方案就需要重启切换,已经比较不方便了。况且没有好用的GUI控制面板可供使用,在我的系统上暂时禁用PulseAudio后会将m9XX作为默认输出设备,在其他系统上就不能保证了。

完全移除PulseAudio

高级用户当然可以只使用ALSA啦,可惜我并没有深入下去。只需要一行命令就能够直接移除PulseAudio:apt remove pulseaudio。至于移除之后的配置,还请移步补充阅读部分吧。

补充阅读

Outro

关于Ubuntu上的HIFI配置,这篇笔记还有很多部分没有触及,比如禁用MPD重采样的配置、添加原生DSD支持、其他播放器的配置等等等等。条件允许的话大概可以整理组织成一个系列,可是光是弄完这篇笔记就让我觉得有些麻烦,而我又姑且算是个节能主义奉行者。这个话题下更好的解决方案其实是使用Windows,或者是使用Audiophile Linux这样开箱即用的系统,折腾这个其实并没有多大的意义。 当然了,折腾是使人类颈部劳累的好伙伴,啊不对,进步,进步。只是个人感觉同样是m9XX,为什么Windows下的声音就更加柔和好听呢?啊,我也终于再一次体会到Windows的强项了。

update:

后续内容现已更新

Leave a Reply

Your email address will not be published. Required fields are marked *