Ubuntu 22.04.1更新后Focusrite声卡异常及Alsamixer报错相关技术咨询
我来帮你梳理这个问题的解决思路和背后的原因,结合你的排查经历给出针对性的方案:
问题背景回顾
你在Ubuntu 22.04.1更新后,使用10年的Focusrite Gen1 18i20声卡突然失效:QASmixer界面选项变更,USB SYNC切换功能无法使用;尝试Alsamixer时出现报错
ALSA lib dlmisc.c:337:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_ctl_pipewire.so,还发现从未主动安装的Pipewire被悄悄部署在系统中。卸载Pipewire后GNOME桌面意外丢失,重装桌面后声卡功能才恢复,但仍有两个核心疑问:Pipewire为何自动安装?如何让Alsamixer完全恢复正常?
一、Pipewire自动安装的原因
Ubuntu 22.04后续的系统更新中,Canonical逐步将Pipewire作为默认音频栈的替代方案,部分GNOME桌面组件(比如音频会话管理、系统音频控制模块)会在更新时通过依赖链自动安装Pipewire——哪怕你从未主动执行过安装命令。这种“隐式依赖安装”是导致你系统中出现Pipewire的核心原因。
二、让Alsamixer完全恢复正常的步骤
你卸载Pipewire后已经恢复了基础功能,但可以通过以下操作彻底消除Pipewire残留影响:
- 清理Pipewire相关的ALSA配置残留
检查ALSA配置目录下的Pipewire关联文件,删除后避免系统误加载:sudo rm /etc/alsa/conf.d/*pipewire*.conf - 重置ALSA声卡配置
重新初始化ALSA,确保系统优先使用原生音频模块:sudo alsactl init - 验证并清理环境变量干扰
启动Alsamixer前,检查是否有指向Pipewire的环境变量:
如果输出包含Pipewire相关路径,清空变量后再启动Alsamixer:echo $ALSA_CONFIG_PATHunset ALSA_CONFIG_PATH && alsamixer
三、彻底阻止Pipewire自动安装的方法
如果想避免后续更新时Pipewire再次被悄悄安装,可以用APT的包优先级锁定功能:
- 创建锁定配置文件:
sudo nano /etc/apt/preferences.d/block-pipewire.pref - 写入以下内容(拒绝所有Pipewire相关包的安装):
保存退出后,APT就会自动忽略所有Pipewire相关的安装请求。Package: pipewire* Pin: release * Pin-Priority: -1
四、关于声卡USB SYNC功能的补充说明
Pipewire替换原生ALSA栈后,会修改声卡的控制节点映射,导致QASmixer无法识别Focusrite声卡原本的USB SYNC控制选项。卸载Pipewire回到原生ALSA栈后,QASmixer就能正常读取声卡的原始控制参数,这就是为什么功能会恢复的原因。
备注:内容来源于stack exchange,提问作者Bug

