
在 Arch Linux 上从 Linux 5.3 升级到 Linux v5.4.2 后,我的所有音频都停止工作了。我在 Gnome 3 的声音设置中唯一看到的是“虚拟输出”,并aplay --list-pcm
显示:“未找到卡。”并且运行alsactl init
显示:“alsactl: init:1759:未找到声卡。”
我已经尝试了很多解决方案。
答案1
以下是我解决这个问题的方法:
sudo vim /etc/default/grub
- 找到
GRUB_CMDLINE_LINUX_DEFAULT
并添加snd_hda_intel.dmic_detect=0
到其末尾。(例如GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 snd_hda_intel.dmic_detect=0"
:) sudo grub-mkconfig -o /boot/grub/grub.cfg
- 重新启动系统。
答案2
该选项snd_hda_intel.dmic_detect=0
在较新的内核中已弃用,您可以改用snd-intel-dspcfg.dsp_driver=1
。但请注意,它的含义略有不同。
答案3
如果您想要保留内核参数(例如在 Pop_OS!上),您必须使用 kernelstub 来附加该参数。
使用sudo kernelstub -a intel-dspcfg.dsp_driver=1
或sudo 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