我最近从 Ubuntu 20.04 升级到了 22.04,系统无法检测到我的输入和输出内置声音设备。在尝试了从 21.10 升级到 22.04 后未列出声音输出设备options snd-hda-intel dmic_detect=0
,我能够通过添加到来修复内置扬声器/etc/modprobe.d/alsa-base.conf
。
无法检测到输入设备(内置麦克风)的问题仍然存在。没有与硬件相关的问题,因为麦克风在 Windows 11、Ubuntu 20.04 和实时 Ubuntu 22.04 中都可以正常工作。
与问题相关的信息
这是我在 Ubuntu 22.04 中的设置: 输入设备窗口是空的 这是它在 Ubuntu 22.04 中的样子居住 检测到麦克风
硬件、驱动程序和内核版本:HP envy 15-ep0xxx 笔记本电脑,配备
uname -a
Linux andrii-HP-ENVY-Laptop-15-ep0xxx 6.2.0-32-generic #32~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 18 10:40:13 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
lspci -knn | grep Audio -A3
01:00.1 Audio device [0403]: NVIDIA Corporation TU116 High Definition Audio Controller [10de:1aeb] (rev a1)
Subsystem: Hewlett-Packard Company TU116 High Definition Audio Controller [103c:878d]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
01:00.2 USB controller [0c03]: NVIDIA Corporation TU116 USB 3.1 Host Controller [10de:1aec] (rev a1)
这里我分别比较了通常的 Ubuntu 和 Live Ubuntu 的配置:
居住
ubuntu@ubuntu:~$
arecord -l
**** CAPTURE 硬件设备列表 ****
卡 1:sofhdadsp [sof-hda-dsp],设备 0:HDA 模拟(*)[]
子设备:1/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 1:HDA Digital (*) []
子设备:1/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 6:DMIC (*) []
子设备:0/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 7:DMIC16kHz (*) []
子设备:1/1
子设备 #0: 子设备 #0
ubuntu@ubuntu:~$
aplay -l
**** 播放硬件设备列表 ****
卡 0:NVidia [HDA NVidia],设备 3:HDMI 0 [HDMI 0]
子设备:1/1
子设备 #0: 子设备 #0
卡 0:NVidia [HDA NVidia],设备 7:HDMI 1 [HDMI 1]
子设备:1/1
子设备 #0: 子设备 #0
卡 0:NVidia [HDA NVidia],设备 8:HDMI 2 [HDMI 2]
子设备:1/1
子设备 #0: 子设备 #0
卡 0:NVidia [HDA NVidia],设备 9:HDMI 3 [HDMI 3]
子设备:1/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 0:HDA 模拟(*)[]
子设备:0/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 1:HDA Digital (*) []
子设备:1/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 3:HDMI1 (*) []
子设备:1/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 4:HDMI2 (*) []
子设备:1/1
子设备 #0: 子设备 #0
卡 1:sofhdadsp [sof-hda-dsp],设备 5:HDMI3 (*) []
子设备:1/1
子设备 #0: 子设备 #0
ubuntu@ubuntu:~$
pactl info
服务器字符串:/run/user/999/pulse/native
图书馆协议版本:35
服务器协议版本:35
是否本地:是
客户指数:15
瓷砖尺寸:65472
用户名:ubuntu
主机名:ubuntu
服务器名称:pulseaudio
服务器版本:15.99.1
默认样品规格:s16le 2ch 44100Hz
默认频道图:前-左、前-右
默认接收器:alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
默认来源:alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source Cookie:d5f6:7302
正常:如您所见,此处未列出麦克风
andrii@andrii-HP-ENVY-Laptop-15-ep0xxx ~
arecord -l
**** CAPTURE 硬件设备列表 ****
卡 0:PCH [HDA Intel PCH],设备 0:ALC245 模拟 [ALC245 模拟]
子设备:0/1
子设备 #0: 子设备 #0
andrii@andrii-HP-ENVY-Laptop-15-ep0xxx ~
aplay -l
**** 播放硬件设备列表 ****
卡 0:PCH [HDA Intel PCH],设备 0:ALC245 模拟 [ALC245 模拟]
子设备:0/1
子设备 #0: 子设备 #0
卡 0:PCH [HDA Intel PCH],设备 3:HDMI 0 [HDMI 0]
子设备:1/1
子设备 #0: 子设备 #0
卡 0:PCH [HDA Intel PCH],设备 7:HDMI 1 [HDMI 1]
子设备:1/1
子设备 #0: 子设备 #0
卡 0:PCH [HDA Intel PCH],设备 8:HDMI 2 [HDMI 2]
子设备:1/1
子设备 #0: 子设备 #0
卡 1:NVidia [HDA NVidia],设备 3:HDMI 0 [HDMI 0]
子设备:1/1
子设备 #0: 子设备 #0
卡 1:NVidia [HDA NVidia],设备 7:HDMI 1 [HDMI 1]
子设备:1/1
子设备 #0: 子设备 #0
卡 1:NVidia [HDA NVidia],设备 8:HDMI 2 [HDMI 2]
子设备:1/1
子设备 #0: 子设备 #0
卡 1:NVidia [HDA NVidia],设备 9:HDMI 3 [HDMI 3]
子设备:1/1
子设备 #0: 子设备 #0
andrii@andrii-HP-ENVY-Laptop-15-ep0xxx ~ pactl info
服务器字符串:/run/user/1000/pulse/native
图书馆协议版本:35
服务器协议版本:35
是否本地:是
客户指数:107
瓷砖尺寸:65472
用户名: andrii
主机名:andrii-HP-ENVY-Laptop-15-ep0xxx
服务器名称:PulseAudio(在 PipeWire 0.3.48 上)
服务器版本:15.0.0
默认样本规格:float32le 2ch 48000Hz
默认频道图:前-左、前-右
默认接收器:alsa_output.pci-0000_00_1f.3.analog-stereo
默认来源:alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Cookie:c9ba:a9b4
这也是我的编解码器:
cat /proc/asound/card*/codec* | grep Codec
Codec: Realtek ALC245
Codec: Intel Kabylake HDMI
Codec: Nvidia GPU 99 HDMI/DP
我尝试过但没有效果的方法:
完全重新安装 alsa、pulseaudio:
sudo apt-get remove --purge alsa-base pulseaudio
sudo apt-get install alsa-base pulseaudio
sudo alsa force-reload
重新启动 pulseaudio 实例:
pulseaudio -k
pulseaudio -D
重新启动 pulseaudio 服务:
systemctl --user restart pulseaudio.service
systemctl --user restart pulseaudio.socket
使用 pipewire 代替 pulseaudio:
sudo apt install pipewire-audio-client-libraries
systemctl --user stop pulseaudio.service
systemctl --user stop pulseaudio.socket
systemctl --user disable pulseaudio.service
systemctl --user disable pulseaudio.socket
systemctl --user start pipewire.service
systemctl --user start pipewire-pulse.service
systemctl --user enable pipewire.service
systemctl --user enable pipewire-pulse.service
删除配置文件:
rm -r ~/.config/pulse
跑步
sudo touch /usr/share/pipewire/media-session.d/with-pulseaudio
systemctl --user restart pipewire-session-manager
任何想法如何解决这一问题?