11

Many Ubuntu 24.04 users, myself included, have been experiencing sound problems. After browsing Ask Ubuntu for solutions, I finally found a fix! I'm sharing the steps here in case it helps others facing the same frustrating silence.

PROBLEM

After updating my Ubuntu to version 24.04, my desktop PC (Gigabyte H510M-K DDR4) can't detect audio drivers. Headphones work, but external speakers are not recognized.

~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC897 Analog [ALC897 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [PHL 271V8]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

In the Sound Settings, it only shows 'Dummy Output'. I have attempted various troubleshooting steps, including:

  • sudo apt install --reinstall pulseaudio
  • sudo apt install --reinstall alsa-base alsa-utils
  • sudo apt install pulseaudio
  • sudo apt install pavucontrol
  • pulseaudio -k && sudo alsa force-reload
  • sudo touch /usr/share/pipewire/media-session.d/with-pulseaudio
  • systemctl --user restart pipewire-session-manager
  • systemctl --user restart wireplumber pipewire pipewire-pulse
  • sudo apt install pipewire-audio-client-libraries pipewire-pulse it
  • sudo nano /etc/modprobe.d/alsa-base.conf
  • sudo nano /etc/modprobe.d/blasklist.conf
  • sudo modprobe snd-hda-intel
  • Trying different options such as options snd-hda-intel model=auto and blacklist snd_soc_avs

But it did not work:

~$ sudo modprobe snd-hda-intel
~$ sudo alsa force-reload
Unloading ALSA sound driver modules: snd-seq-dummy snd-seq-midi snd-seq-midi-event snd-rawmidi snd-sof-pci-intel-tgl snd-sof-intel-hda-common snd-sof-intel-hda snd-sof-pci snd-sof-xtensa-dsp snd-sof snd-sof-utils snd-soc-hdac-hda snd-soc-acpi-intel-match snd-soc-acpi snd-hrtimer snd-seq snd-seq-device snd-sof-intel-hda-mlink snd-hda-codec-realtek snd-hda-codec-generic snd-hda-ext-core snd-soc-core snd-hda-codec-hdmi snd-compress snd-pcm-dmaengine snd-hda-intel snd-intel-dspcfg snd-intel-sdw-acpi snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer (failed: modules still loaded: snd-hrtimer snd-seq snd-seq-device snd-sof-intel-hda-mlink snd-hda-codec-realtek snd-hda-codec-generic snd-hda-ext-core snd-soc-core snd-hda-codec-hdmi snd-compress snd-pcm-dmaengine snd-hda-intel snd-intel-dspcfg snd-intel-sdw-acpi snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer).
Loading ALSA sound driver modules: snd-seq-dummy snd-seq-midi snd-seq-midi-event snd-rawmidi snd-sof-pci-intel-tgl snd-sof-intel-hda-common snd-sof-intel-hda snd-sof-pci snd-sof-xtensa-dsp snd-sof snd-sof-utils snd-soc-hdac-hda snd-soc-acpi-intel-match snd-soc-acpi snd-hrtimer snd-seq snd-seq-device snd-sof-intel-hda-mlink snd-hda-codec-realtek snd-hda-codec-generic snd-hda-ext-core snd-soc-core snd-hda-codec-hdmi snd-compress snd-pcm-dmaengine snd-hda-intel snd-intel-dspcfg snd-intel-sdw-acpi snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer
~$ pulseaudio --kill
~$ journalctl --user -u pulseaudio.service | awk '{print $5 "\t" $6}'

systemd[3097]: Starting pulseaudio[14920]: Daemon pulseaudio[14920]: pa_pid_file_create() systemd[3097]: pulseaudio.service: systemd[3097]: pulseaudio.service: systemd[3097]: Failed systemd[3097]: pulseaudio.service:

SOLUTION

Thanks to iirekm from this Ask Ubuntu post, I found an excellent solution to my problem.

Downgrade Kernel from 6.8. - 6.5. **

Due to the latest Ubuntu update, I will revert to my previously installed kernel without any new downloads.

  • List available kernels: sudo apt list --installed | grep linux-image
  • Install the kernel version 6.5.* (if not already installed): sudo apt install linux-image-6.5.0-35-generic linux-headers-6.5.0-35-generic
  • Open the GRUB configuration file: sudo nano /etc/default/grub
  • Set GRUB_DEFAULT to the desired kernel: GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.5.0-35-generic
  • Save the file and exit (press Ctrl + O to save and Ctrl + X to exit).
  • Update GRUB and reboot: sudo update-grub, sudo reboot
  • Verify the running kernel version: uname -r

By following these steps, you should be able to downgrade your kernel version successfully and select it as the default in GRUB.

Downgrading the kernel is a temporary fix; monitor for updates addressing the issue in newer kernels. Please try the shared solutions before resorting to downgrade, as I did.

Thanks to everyone who shared many helpful ways for non-experts like me to know how to fix my computer!

7 Answers7

6

This solution worked for me:

echo "options snd-hda-intel model=generic" | sudo tee -a /etc/modprobe.d/alsa-base.conf
echo "options snd-hda-intel dmic_detect=0" | sudo tee -a /etc/modprobe.d/alsa-base.conf
echo "blacklist snd_soc_skl" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo apt-get install --reinstall alsa-base pulseaudio
sudo alsa force-reload
sudo apt purge timidity-daemon

and then reboot.

zx485
  • 2,865
ligett
  • 61
6

I solved this with a combination of Petro Zendran's and ligett's answers above.

Install inxi to get the current Audio driver:

>inxi -A
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-48-generic status: kernel-api
  Server-1: PipeWire v: 1.0.5 status: active

To change the intel Audio driver, either edit /etc/modprobe.d/alsa-base.conf or keep it separate with associated config file at something like /etc/modprobe.d/[audiofix].conf.

Add these lines:

options snd-hda-intel dmic_detect=0
options snd-hda-intel model=generic enable=yes
blacklist snd_soc_avs

Blacklist the Audio driver found by inxi -A. My devices didn't work until I added the blacklist line.

I found the generic model worked for me, but you could use a more specialised driver. You can find more info on the snd-hda-intel module, including options for model variants here.

Then reboot.

jpr
  • 61
3

In my case it comes from nowhere (I mean it's not constant). Sometimes I have it sometimes not. What I do - logout and login again. That means there is some user launched software/process which is closed before logout and launched before login. However a simple logout-login helps and no need to downgrade to older kernel and bring back security issues.

2

I had this issue more than half year in Ubuntu 22.04, after upgrading to 24.04 I'm hoped that developers fix this problem, but unfortunately no and bug is still there. So, only one really working solution is reverting to the old intel-hda driver.

> inxi -A
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio
    driver: sof-audio-pci-intel-tgl
  API: ALSA v: k6.8.0-45-generic status: kernel-api
  Server-1: PipeWire v: 1.0.7 status: active

Create /etc/modprobe.d/audiofix.conf with:

options snd-hda-intel dmic_detect=0
options snd-hda-intel model=laptop-amic enable=yes

The first line is to enable the speaker, the second for the internal microphone.

After reboot:

> inxi -A
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio driver: snd_hda_intel
  API: ALSA v: k6.8.0-45-generic status: kernel-api
  Server-1: PipeWire v: 1.0.7 status: active

UPD: BTW if you have laptop such as my Model: Xiaomi TIMI Redmi Book Pro 15 2022 CPU: 12th Gen Intel® Core™ i7-12650H × 16, this solution will turn off your microphone. And i find another solution, remove or comment with # previous lines in /etc/modprobe.d/audiofix.conf and add just one line

options snd-sof-intel-hda-common hda_model=aspire-headset-mic

or

options snd_sof_intel_hda_common hda_model=alc255-acer
0

This helped to me:

  1. sudo dmesg

  2. Find the row with error that it due to the audio. In my case it something like sof-audio-pci-intel-tgl ... error -2

  3. Add to the /etc/modprobe.d/blacklist.conf row blacklist sof-audio-pci-intel-tgl

  4. Reboot

Source of this solution here

0

In my case, snd-hda-intel was previously working but started to be no more automatically loaded after I've installed something related to oss4 (it was even removed, but one file remained).

First try sudo apt purge oss4-base (which was the offending package).

Check if file /etc/modprobe.d/oss4-base_noALSA.conf is no more present. If it's still present, remove it manually.

0

I solved it by installing the oem kernel:

sudo apt install linux-image-6.8.0-1020-oem

Still had issues with the webcam, but this fix solved the issue.