Ubuntu Plasma环境下笔记本扬声器显示为多设备的问题排查与修复请求
看起来你遇到了Intel Tiger Lake笔记本在Ubuntu Plasma下音频设备重复显示的麻烦,这种情况我之前也帮不少用户处理过,主要和*Intel Smart Sound Technology(SST)*音频驱动、PipeWire/PulseAudio的配置有关,咱们一步步来解决:
可能的原因分析
- Intel SST驱动本身会创建多个虚拟音频端点,音频服务器(PipeWire/PulseAudio)如果配置不当,就会把这些端点都识别成独立设备
- 手动安装Plasma时,音频相关的配置文件可能没有和Ubuntu 23.04的默认音频服务(PipeWire)正确适配,导致设备识别混乱
- 设备的音频Profile配置错误,不同Profile被拆分成了独立的显示条目
具体修复步骤
第一步:确认当前使用的音频服务器
先打开终端,运行以下命令查看当前的音频服务:
pactl info
看输出里的Server Name字段,如果显示pipewire-0就是用的PipeWire(Ubuntu 23.04默认),如果是pulseaudio则是PulseAudio。
针对PipeWire环境的修复
1. 重置PipeWire配置(最优先尝试)
手动安装Plasma可能导致用户目录下的PipeWire配置混乱,先重置为默认:
mv ~/.config/pipewire ~/.config/pipewire.bak
然后重启PipeWire服务:
systemctl --user restart pipewire pipewire-pulse
重启后打开音频设置,看看设备是否已经合并成正常的数量。
2. 强制合并SST设备
如果重置后还是有多个设备,需要修改PipeWire的ALSA监控配置:
- 先查看你的SST声卡的设备名称,运行:
pactl list cards
找到带有Tiger Lake-LP Smart Sound Technology的条目,记录下device.name的值(比如alsa_card.pci-0000_00_1f.3)
2. 编辑PipeWire的ALSA配置文件:
sudo nano /usr/share/pipewire/media-session.d/alsa-monitor.conf
在文件末尾添加以下规则(替换成你刚才记录的设备名称):
alsa.rules = [ { matches = [ { device.name = "alsa_card.pci-0000_00_1f.3" } ] actions = { update-props = { device.description = "Built-in Speakers" api.alsa.use-acp = true api.alsa.acp.auto-profile = true api.alsa.acp.auto-port = true } } } ]
保存退出后,重启PipeWire服务即可。
针对PulseAudio环境的修复
1. 重置PulseAudio配置
同样先重置用户配置:
mv ~/.config/pulse ~/.config/pulse.bak
重启PulseAudio服务:
pulseaudio -k && pulseaudio --start
2. 指定默认音频设备
如果重置后还是有多个设备,手动指定内置扬声器的设备:
- 查看音频设备列表,运行:
aplay -l
找到内置扬声器对应的设备号(比如card 0, device 0)
2. 编辑PulseAudio的默认配置文件:
sudo nano /etc/pulse/default.pa
找到load-module module-udev-detect这一行,在它下面添加:
load-module module-alsa-sink device=hw:0,0 load-module module-alsa-source device=hw:0,0
(这里的hw:0,0替换成你刚才查到的设备号)
保存退出后,重启PulseAudio服务。
通用补充方案
- 更新音频固件:Intel SST的固件问题也可能导致设备异常,重新安装固件包:
sudo apt install --reinstall linux-firmware
安装完成后重启电脑。
- 隐藏无用设备:如果以上方法都不能合并设备,你可以在Plasma音频设置里,把那些无声音、音质异常的设备设置为Off,然后右键点击面板的音量图标,选择「配置音频设备」,在设备列表里隐藏不需要的条目,只保留正常的默认设备。
备注:内容来源于stack exchange,提问作者donquixote

