DEV Community

Cover image for Solving sound disruption on Fedora 39
Alexandre Harano
Alexandre Harano

Posted on

Solving sound disruption on Fedora 39

Cover image description: Single track extracted from Audacity where the latter part is totally mute

Choosing Fedora

For a few years, I didn't have a personal laptop. After my 2010 MacBook Pro broke, I relied solely on the one provided by my employer. After some research, I decided on a ThinkPad T470. Since then, Fedora has been my Linux distribution of choice, even after switching laptops.

I've experimented with other distros before, including Ubuntu, Gentoo, and Arch Linux. What drew me to Fedora was its balance of keeping frequently used packages stable while still offering updates. This approach felt better than how Canonical manages package versions for Ubuntu, for me.

With the ThinkPad T470, I likely started with Fedora 28 or 29. Upgrading versions has been a smooth process, following the official documentation. As a user, the upgrades have generally been effortless.

Sound Disruption

Last week, while using Fedora 39 on my IdeaPad Gaming 3i, I started using a UGREEN KVM switch to share a 27" HDMI monitor and some USB peripherals between my personal and work laptops.

I usually run these commands a few times a day on my laptop:

sudo snap refresh; sudo dnf update; sudo dnf autoremove; omz update
Enter fullscreen mode Exit fullscreen mode

After a recent update (either the KVM switch or a Linux kernel upgrade), I turned on my IdeaPad for a meeting and noticed my usual sound options were missing from the GNOME Sound Output list. Both "HDMI / DisplayPort - Built-in Audio" and "Speakers - Built-in Audio" had disappeared.

To write this post, I checked my Firefox Nightly search history to list my search prompts, while briefly mentioning some of the involved technologies.

Investigation Steps

I started troubleshooting by searching for pipewire troubleshooting, fedora audio troubleshooting, fedora pipewire troubleshooting, and fedora systemctl pipewire.

PipeWire is a server that manages audio, video, and hardware on Linux systems. It's been included by default since Fedora 34. systemd, managed by systemctl, is a system and service manager for Linux. In some cases, it can handle audio services, like mine.

While these initial searches offered some information, they weren't directly relevant to my issue. So, I narrowed my search to the specific audio hardware. I used the term linux tigerlake audio not recognized which led me to more helpful resources.

I knew I had Tiger Lake audio because I use a Blue Microphone and Bluetooth headphones with my laptop. Before meetings, I would switch sound devices and see "Tiger Lake" mentioned in the options. The new search results focused more on Linux kernel modules, which seemed relevant to my situation.

Tiger Lake-related Kernel Module Search

Since the issue might be related to a kernel module, focusing only on Fedora wouldn't be helpful. I looked at results for Manjaro, Ubuntu, Arch Linux, even the Sound Open Firmware (SOF) project website.

Earlier, I used lspci and lsusb to check hardware, but everything seemed normal.

While browsing forums, I remembered checking the boot sequence with dmesg and learned about inxi! I don't have the old output, but running

sudo dmesg | grep -C2 -i '\(audio\|sound\|dsp\)'
Enter fullscreen mode Exit fullscreen mode

revealed some interesting lines.

Here's a quick explanation of the commands:

  • | (pipe) sends the output of one command (like dmesg) to another (like grep).
  • sudo gives superuser access (needed for dmesg).
  • grep uses patterns (regular expressions - regex) to filter results.
  • -C2 shows two lines before and after a match.
  • -i ignores case sensitivity.
  • We searched for "audio," "sound," and "dsp" (digital signal processing).

One line mentioned: "ASoC: Parent card not yet available, widget card binding deferred." Searching for this led me to discussions about kernel modules.

The solution involved editing a file. I found instructions in a forum post referencing other resources, like this one and another one.

Here's what I did:

  • Edited /etc/default/grub to replace
GRUB_CMDLINE_LINUX="<existing options>"
Enter fullscreen mode Exit fullscreen mode

with

GRUB_CMDLINE_LINUX="<existing options> snd_intel_dspcfg.dsp_driver=1"
Enter fullscreen mode Exit fullscreen mode

This adds a kernel module option.

  • Updated GRUB using sudo grub2-mkconfig -o /boot/grub2/grub.cfg

This step rebuilds the boot configuration file.

As a Fedora user, I'd never edited kernel configurations before, so this process was new to me and I searched for fedora update grub.

Closing Thoughts

Adding the specific kernel boot option and updating GRUB fixed my audio detection. While the exact steps might differ for your situation, this guide should help you understand the thought process behind troubleshooting hardware, even at a basic level.

For this audio issue, I felt using large language models like ChatGPT, Gemini or other LLM interfaces wasn't ideal. This was a specific problem requiring accurate information, and I wanted to avoid any potential inaccuracies that could come from hallucination interference.

By the way, for the meeting where I lost audio, I wasn't a key participant, so I joined using my phone.

Top comments (0)