我有一台 Dell Inspiron 15 7000 游戏笔记本。我最近安装了 Windows 10 和 Ubuntu 24.04 双启动。使用命令安装驱动程序后sudo ubuntu-drivers autoinstall
,我的扬声器停止工作,系统没有声音。同时,在 Windows 上它可以正常工作。戴上耳机时,系统也无法识别它们。我在使用 Ubuntu 23.10 或 22.04 时从未遇到过这个问题。在音频输出设备中,只显示“虚拟输出”。
我已经尝试了 StackOverflow 中的所有答案,例如强制重新加载 alsa、终止脉冲音频、在 /etc/modprob/alsa-base.conf 中做大量更改、更新 BIOS...
$ inxi -SMA
System:
Host: x Kernel: 6.8.0-31-generic arch: x86_64 bits: 64
Desktop: GNOME v: 46.0 Distro: Ubuntu 24.04 LTS (Noble Numbat)
Machine:
Type: Laptop System: Dell product: Inspiron 15 7000 Gaming v: N/A
serial: <superuser required>
Mobo: Dell model: 0P84C9 v: A01 serial: <superuser required> UEFI: Dell
v: 1.15.0 date: 08/30/2021
Audio:
Device-1: Intel CM238 HD Audio driver: snd_soc_avs
Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
API: ALSA v: k6.8.0-31-generic status: kernel-api
Server-1: PipeWire v: 1.0.5 status: active
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 05)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)
00:15.1 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
$ lspci -nnk | grep -A2 Audio
00:1f.3 Audio device [0403]: Intel Corporation CM238 HD Audio Controller [8086:a171] (rev 31)
Subsystem: Dell CM238 HD Audio Controller [1028:0798]
Kernel driver in use: snd_soc_avs
Kernel modules: snd_hda_intel, snd_soc_avs
--
01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
Subsystem: Dell GP107GL High Definition Audio Controller [1028:0798]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
我是 Linux 新手。请帮助我,并以最通俗易懂的方式解释。
答案1
这帮我在类似的戴尔 Inspiron 上修复了这个问题。
您必须将这两行添加到 /etc/modprobe.d/alsa-base.conf 的底部
选项 snd-hda-intel 模型=自动
黑名单 snd_soc_avs
它具体做了以下事情:
选项 snd-hda-intel 模型=自动:
此行配置 snd-hda-intel 驱动程序的行为,该驱动程序负责处理 Linux 中的高清音频(通常与英特尔声卡相关)。
model=auto 选项允许驱动程序自动检测硬件使用的音频编解码器并为其选择适当的型号设置。当默认配置与硬件功能不完全匹配时,此功能非常有用,可以解决某些扬声器或麦克风功能无法正确识别的问题。
黑名单snd_soc_avs:
此行阻止 Linux 内核加载 snd_soc_avs 模块。snd_soc_avs 代表具有音频视频同步功能的英特尔平台的 Sound Open Firmware Audio DSP,它可以作为现代英特尔系统中声音处理的一部分。
通过将此模块列入黑名单,您可以防止它干扰主 snd-hda-intel 驱动程序。看来,就您而言,snd_soc_avs 引起了冲突或与您的特定音频设置不完全兼容,从而导致您遇到的问题。通过阻止它加载,您可以让系统依赖其他可能更兼容的模块来处理音频。
我不确定为什么现在会出现这个问题。它在 22.04 和 23.10 中运行良好,无需我进行此更改。