10

After upgrading from Linux 5.3 to Linux v5.4.2 on Arch Linux, all of my audio stopped working. The only thing I see in Gnome 3’s Sound settings is “Dummy Output” and aplay --list-pcm says: “No card(s) found.” and running alsactl init says: “alsactl: init:1759: No soundcards found.”

I’ve tried many solutions already.

1
  • spelling : you meant 'alsactl' instead of 'aslactl'
    – sangorys
    Sep 6, 2020 at 10:29

9 Answers 9

27

Here is how I was able to resolve this:

  1. sudo vim /etc/default/grub
  2. Find GRUB_CMDLINE_LINUX_DEFAULT and add snd_hda_intel.dmic_detect=0 to the end of it. (ex: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 snd_hda_intel.dmic_detect=0")
  3. sudo grub-mkconfig -o /boot/grub/grub.cfg
  4. Reboot the system.
10
  • 1
    Any explanation about that option?
    – Biswapriyo
    Dec 11, 2019 at 18:45
  • 6
    HOW DO I UPVOTE THIS A BILLION TIMES? NOTHING OUT THERE WORKED AND I HAVE BEEN TO GOOGLE'S SECOND PAGE. THIS DID. THAT HOPE IN YOUR NAME MEANS SOMETHING SIR Mar 21, 2020 at 20:01
  • 1
    After adding this option, do you still have microphone working?
    – wij
    Apr 21, 2020 at 14:54
  • 1
    I had to scour the internet for over 3 days before i found all this and painstakingly pieced it all together. It was excruciating!!
    – hopeseekr
    May 26, 2020 at 6:51
  • 2
    Works for me, but some people report they put the option in /etc/modprobe.d/alsa-base.conf instead, which seems less invasive than changing the grub configuration?
    – Bram
    Oct 5, 2020 at 1:50
9

The option snd_hda_intel.dmic_detect=0 is deprecated on newer kernels, you may use snd-intel-dspcfg.dsp_driver=1 instead. But be aware, it's slightly different meaning.

4
  • Still no mic after this, only speakers. Any clue?
    – RubenCaro
    Jun 26, 2020 at 19:58
  • This literally didn’t work for me. Doing echo snd-intel-dspcfg.dsp_driver=1 > /etc/modprobe.d/alsa.conf. The sound cards are completely undetected still.
    – hopeseekr
    Oct 20, 2020 at 19:13
  • IIRC, the file I found this is: github.com/torvalds/linux/blob/… When I tested it with some hardware no longer in my possession, I added it as a boot parameter modifying the grub config as described in the accepted answer and did not modify the alsa.conf
    – CyclingSir
    Oct 28, 2020 at 18:32
  • 1
    @hopeseekr Try echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf instead. Oct 12, 2021 at 20:38
2

If you want to persist the kernel parameters (for example on Pop_OS!), you'll have to use kernelstub to append the parameter.

Either use sudo kernelstub -a intel-dspcfg.dsp_driver=1 or sudo kernelstub -a snd_hda_intel.dmic_detect=0 (depending on kernel version). Then you can check if it was appended with running the command sudo cat /boot/efi/loader/entries/Pop_Os-current.conf.

If you append the parameter directly it will get overwritten after rebooting.

2
  • What needs to be run after this command for PopOS? I tried running that but I don't know what it's doing or what I should expect. Nov 1, 2020 at 3:27
  • @davidparks21 I added a command to check if it was appended (see above). You can delete it again with the command sudo kernelstub -d intel-dspcfg.dsp_driver=1 or sudo kernelstub -d snd_hda_intel.dmic_detect=0 Nov 2, 2020 at 8:55
1

Above solution by hopeseekr seems to be working for Dell G3 3590 with Nvidia GTX 1650 for newest ubuntu 20.04 installation in Dual Boot mode along with Windows 10. Initially there was no sound and no system brightness controller. I have tried following possible solutions by updating the grub but nothing seems to work :

  1. Updating /etc/default/grub with quiet splash in GRUB_CMDLINE_LINUX_DEFAULT.
  2. Updating /etc/default/grub with nouveau.nomodeset=0 in GRUB_CMDLINE_LINUX.

Checking alsamixer in the the terminal was also not showing Intel sound card. Only Nvidia sound card was detected. This has completely solved the problem. I have been searching for this solution since months. It detects the intel sound card correctly in Ubuntu 18.04 installation but was failing to do so in Ubuntu 20.04.

1

In Recent (i.e., post 2020) Fedora or RHEL derivatives, as superuser do:

  • vim /etc/default/grub
  • Find GRUB_CMDLINE_LINUX and add snd-intel-dspcfg.dsp_driver=1 as another option inside the "quotes"
  • grub2-mkconfig -o /boot/grub2/grub.cfg
  • Reboot the system.

This recipe assumes that you only lack being able to detect your physical device, therefore, the ALSA, lame, VLC, etc., drivers and/or plugins, plus other multimedia stuff, has already been installed by following other tutorials (if necessary) and your user is part of the audio group. A device name should appear if you type lspci -v | grep -A 7 -i Audio

0

This seems to be caused by the config option SND_HDA_INTEL_DETECT_DMIC being enabled in the 5.4 kernel (https://bugs.archlinux.org/task/64720).

The suggested fix is to undo the change by passing snd_hda_intel.dmic_detect=0 as a kernel parameter, as explained in this answer.

1
0

Current solution may be that: add snd-intel-dspcfg.dsp_driver=0 in kernel parameters (/boot/grub2/grub.cfg to end of line linux or other places depend of your bootloader)

1
  • No, you shouldn't edit the file directly.
    – jarno
    Dec 6, 2023 at 10:36
0

What worked for me, on Debian unstable with this sound card:

lspci -nn | grep -i audio         
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)

was

echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf

With this option, it uses the legacy snd_hda_intel instead of SOF.

1
0

After running these 3 commands in a terminal I got sound working on HP Pavilion gaming laptop

echo "options snd_hda_intel dmic_detect=0" > audiofix.conf

sudo mv audiofix.conf /etc/modprobe.d/

reboot

1
  • Please improve your answer with an explanation so that the readers can see its the right answer without referring to references. Sep 20, 2023 at 20:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .