7

After installing Ubuntu 20.04, I noticed that sound is not working on my system.

aplay -l was giving me Sound card not detected error.

Running inxi -A | grep driver gave me ... driver: sof-audio-pci

I tried some solutions on AskUbuntu, but they did not work and all of them used driver snd_hda_intel. Other pages said that firmwares for this driver are not shipped with distribution.

Is it possible to make sound work for Ubuntu 20.04?

3 Answers 3

19

As I said the sound driver I was running was sof-audio-pci, which had no normal firmware at the moment.

I searched nearly 3 hours trying to solve this headache and finally found the solution, just disable this "sof" driver and fall back to intel:

Do:

sudo gedit /etc/default/grub

Change

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_hda_intel.dmic_detect=0"

Then do:

sudo update-grub

and Reboot.

You can check if soundcards are detected with:

aplay -l

Source

2
  • Excellent!!!! After spending hours with hunting down my 'no sound' problem, this did the trick! Thank you! Aug 4, 2022 at 21:24
  • Although this answer fixed my audio, it disabled my microphone. For a more holistic solution, see my answer below.
    – mhdadk
    Jun 8 at 23:25
12

I had a similar problem on Arch Linux on a Lenovo Thinkpad X13 with kernel version 5.10. The solution is "similar" to @Olimjon, but I changed another kernel module parameter. Indeed, modinfo snd_hda_intel states that:

parm:           dmic_detect:Allow DSP driver selection (bypass this driver) (0=off, 1=on) (default=1); deprecated, use snd-intel-dspcfg.dsp_driver option instead (bool)

Running modinfo snd_intel_dspcfg gives the following info:

parm:           dsp_driver:Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (int)

So I added snd_intel_dspcfg.dsp_driver=1 to my GRUB_CMDLINE_LINUX_DEFAULT to get the same effect. The other values give me no audio.

Also, you should note that both solutions break the internal microphone.

3
  • Worked for me on Debian Testing (kernel 5.15) and Tiger Lake!
    – rems4e
    Jan 4, 2022 at 13:27
  • How do you "not break" the internal microphone and still have a solution? Jan 12, 2022 at 20:54
  • See my answer below for a solution that doesn’t break your microphone.
    – mhdadk
    Jun 8 at 23:25
3

The accepted answer is only a temporary solution, as after implementing it, my microphone no longer worked.

A more permanent solution would be to install the SOF firmware binaries from here: https://github.com/thesofproject/sof-bin

Specifically:

  1. Clone the repository: git clone https://github.com/thesofproject/sof-bin.git
  2. Change to directory: cd sof-bin
  3. Follow: https://github.com/thesofproject/sof-bin#install-process-with-installsh
sudo mv /lib/firmware/intel/sof* some_backup_location/
sudo mv /usr/local/bin/sof-*     some_backup_location/ # optional
sudo ./install.sh v2.2.x/v2.2
  1. Reboot

After this the sound output as well as the microphone were working (Ubuntu 23.04, Lenovo X1 Gen8)

Note: Make sure that the snd_hda_intel.dmic_detect=0 or snd_intel_dspcfg.dsp_driver=1 settings are not set in GRUB_CMDLINE_LINUX_DEFAULT or /etc/modprobe.d/alsa-base.conf

9
  • @Votti thanks a lot for the extra steps! Very helpful.
    – mhdadk
    Jun 8 at 23:18
  • how to tell which version should be attempted?
    – con
    Jul 26 at 22:05
  • @con why not use the latest release? github.com/thesofproject/sof-bin/releases/tag/v2.2.6
    – mhdadk
    Jul 26 at 22:18
  • version 2.2.x seems to work the best, i.e. my headphones work, but speakers don't
    – con
    Jul 26 at 22:34
  • @con, did you make sure that the snd_hda_intel.dmic_detect=0 or snd_intel_dspcfg.dsp_driver=1 settings are not set in GRUB_CMDLINE_LINUX_DEFAULT or /etc/modprobe.d/alsa-base.conf?
    – mhdadk
    Jul 26 at 22:47

You must log in to answer this question.

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