升级到 Linux 5.4(英特尔高清音频)后声音停止工作

升级到 Linux 5.4(英特尔高清音频)后声音停止工作

在 Arch Linux 上从 Linux 5.3 升级到 Linux v5.4.2 后,我的所有音频都停止工作了。我在 Gnome 3 的声音设置中唯一看到的是“虚拟输出”,并aplay --list-pcm显示:“未找到卡。”并且运行alsactl init显示:“alsactl: init:1759:未找到声卡。”

我已经尝试了很多解决方案。

答案1

以下是我解决这个问题的方法:

  1. sudo vim /etc/default/grub
  2. 找到GRUB_CMDLINE_LINUX_DEFAULT并添加snd_hda_intel.dmic_detect=0到其末尾。(例如GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 snd_hda_intel.dmic_detect=0":)
  3. sudo grub-mkconfig -o /boot/grub/grub.cfg
  4. 重新启动系统。

答案2

该选项snd_hda_intel.dmic_detect=0在较新的内核中已弃用,您可以改用snd-intel-dspcfg.dsp_driver=1。但请注意,它的含义略有不同。

答案3

如果您想要保留内核参数(例如在 Pop_OS!上),您必须使用 kernelstub 来附加该参数。

使用sudo kernelstub -a intel-dspcfg.dsp_driver=1sudo kernelstub -a snd_hda_intel.dmic_detect=0(取决于内核版本)。然后,您可以检查它是否附加了运行命令sudo cat /boot/efi/loader/entries/Pop_Os-current.conf

如果直接附加参数,它将在重新启动后被覆盖。

答案4

在最近的(即 2020 年之后) Fedora 或 RHEL 衍生版本中,以超级用户身份执行以下操作:

  • vim /etc/默认/grub
  • 找到 GRUB_CMDLINE_LINUX 并添加snd-intel-dspcfg.dsp_driver=1作为“引号”中的另一个选项
  • grub2-mkconfig -o /boot/grub2/grub.cfg
  • 重新启动系统。

这个方法假设你只缺少能够检测你的物理设备的能力,因此,ALSA、lame、VLC 等驱动程序和/或插件,以及其他多媒体内容,已经通过遵循其他教程安装好了(如果需要),并且你的用户是声音的组。如果您输入,则应该会出现设备名称lspci -v | grep -A 7 -i Audio

相关内容