Skip to content
Linux Tutorials

Linux Not Detecting HDMI Audio? Here’s How to Fix It

No sound over HDMI on Linux? Diagnose the cause and fix it on Ubuntu, Debian, Fedora, Arch and openSUSE.

Linux Not Detecting HDMI Audio Here's How to Fix It

You plug in the HDMI cable and the picture appears instantly, but the sound keeps coming from your laptop speakers. Or from nowhere at all. If you’re dealing with Linux Not Detecting HDMI Audio, the good news is that the cause is almost always one of a handful of things, and most are fixable in minutes.

The confusing part is that video and audio share one cable but travel through different layers. Your graphics driver handles the picture. The kernel’s ALSA driver and a sound server (PipeWire on nearly every current desktop distro) handle the sound. A break anywhere in that chain gives you the same symptom: silence.

This guide follows the chain in order, from a two-minute diagnosis to distro-specific repairs for Ubuntu, Debian, Fedora, Arch and openSUSE, then hardware quirks on Nvidia, AMD and Intel. Release details were checked against official project sources in October 2026.

Why HDMI Audio Goes Missing

Knowing the usual suspects saves time:

  • No HDMI profile selected. The device exists, but the sound server never switched to it.
  • Wrong default output. Audio plays, just somewhere else.
  • The display doesn’t advertise audio. Some monitors, cheap adapters and DVI-to-HDMI cables don’t.
  • A sleeping or hidden GPU audio function. Common on hybrid-graphics laptops.
  • Missing firmware. Many newer Intel laptops route HDMI audio through Sound Open Firmware (SOF).
  • Stale saved settings. WirePlumber remembers old choices, even bad ones.
  • A kernel or driver regression. Less common, but it follows major updates.

Step 1: Diagnose Before You Change Anything

Run these four commands and let the output guide you:

lspci | grep -i -E "audio|vga"
aplay -l
wpctl status
cat /proc/asound/card*/eld#* | grep -E "monitor_present|eld_valid"

How to read the results:

  • lspci lists graphics and audio controllers. If your discrete GPU shows up but its “HD Audio Controller” doesn’t, the GPU’s audio function is off (see the hybrid graphics section).
  • aplay -l shows ALSA playback devices. Look for entries like “HDMI 0”. If none appear, the driver or firmware is the problem.
  • wpctl status shows what PipeWire sees. HDMI outputs should be listed under Sinks.
  • The ELD check is the most useful and most overlooked. ELD is how a display tells your system what audio it supports. monitor_present 1 and eld_valid 1 mean the display is announcing audio correctly. Two zeros with the cable plugged in point to the cable, port or display rather than your software.

Step 2: Quick Fixes That Solve Most Cases

Select the HDMI profile manually

A card stuck on “Off” or an analog profile is the single most common cause. In your sound settings, choose the HDMI output and set the profile to Digital Stereo (HDMI).

If the GUI hides it, use the terminal:

pactl list cards short
pactl set-card-profile <card-name> output:hdmi-stereo

Replace <card-name> with the name from the first command. Cards with several HDMI ports may expose output:hdmi-stereo-extra1 or -extra2, which matters on laptops with docks.

Restart the audio stack

Hot-plugging can leave the sound server confused:

systemctl --user restart wireplumber pipewire pipewire-pulse

Then unplug and replug the cable.

Check for ALSA mutes

Run alsamixer, press F6, select the HDMI card, and look for channels marked MM. Press M to unmute, including any “IEC958” entry (the digital output).

Use a mixer that shows everything

Desktop sound panels often hide outputs. Install pavucontrol (it works fine with PipeWire). Set the card to a digital stereo profile on the Configuration tab, then choose it as the fallback on the Output Devices tab.

Step 3: Reset WirePlumber’s Saved State

WirePlumber stores which devices you previously picked. If you once set HDMI to “Off”, it may keep reapplying that.

systemctl --user stop wireplumber
rm -rf ~/.local/state/wireplumber
systemctl --user start wireplumber

This deletes only saved preferences, which rebuild automatically. It’s harmless, so try it before reinstalling anything.

Step 4: Distro-Specific Fixes

Here’s where the major distros stand as of October 2026:

DistroRelease (Oct 2026)Sound stackPackage toolTypical HDMI fix
Ubuntu / Mint / Pop!_OSUbuntu 26.04 LTS, kernel 7.0, PipeWire 1.6.xPipeWire + WirePlumberaptReinstall alsa-ucm-conf, update firmware
Debian13 “Trixie”, kernel 6.12 LTSPipeWire + WirePlumberaptAdd firmware-sof-signed, try backports
Fedora44 (kernel 6.19 at launch); 45 due late OctoberPipeWire + WirePlumberdnfInstall alsa-sof-firmware
Arch / Manjaro / EndeavourOSRollingPipeWire (manual on plain Arch)pacmanInstall sof-firmware, alsa-ucm-conf
openSUSELeap 16.0 / TumbleweedPipeWirezypperzypper dup, then sof-firmware

Ubuntu, Linux Mint and Pop!_OS

Ubuntu 26.04 LTS shipped in April 2026 with Linux 7.0, and PipeWire installs as a regular .deb package, not a Snap.

sudo apt update && sudo apt full-upgrade
sudo apt install --reinstall pipewire pipewire-pulse wireplumber alsa-ucm-conf linux-firmware
sudo apt install pavucontrol

Reboot afterward. If HDMI broke right after an upgrade, pick the previous kernel under Advanced options in GRUB. Mint and Pop!_OS releases built on Ubuntu follow the same steps.

Debian 13 “Trixie”

According to Debian’s release announcement, Trixie ships the 6.12 LTS kernel. Its PipeWire (1.4.x) is older than upstream, and newer builds arrive through trixie-backports.

sudo apt install pipewire-audio wireplumber firmware-sof-signed alsa-ucm-conf

Make sure non-free-firmware is enabled in your APT sources, since SOF firmware lives there. If problems persist, enable backports and run sudo apt install -t trixie-backports pipewire wireplumber. Firmware loads at boot, so reboot rather than just restarting services.

Fedora 44 and 45

Fedora tracks upstream closely, so fixes arrive quickly, and so do occasional regressions.

sudo dnf upgrade --refresh
sudo dnf install alsa-sof-firmware alsa-ucm wireplumber pipewire-pulseaudio

Fedora 44 launched on April 28, 2026 with kernel 6.19, with 7.x kernels arriving through updates. Fedora 45 is on the official schedule for late October. If HDMI vanished after a kernel update, boot the previous kernel from GRUB or run sudo dnf downgrade kernel.

Arch Linux, Manjaro and EndeavourOS

Plain Arch doesn’t install a sound server for you.

sudo pacman -Syu pipewire pipewire-pulse pipewire-alsa wireplumber sof-firmware alsa-ucm-conf linux-firmware
systemctl --user enable --now pipewire pipewire-pulse wireplumber
journalctl -b | grep -i -E "snd|hdmi|sof"

Lines about missing firmware or failed codec binding usually name the fix. The Arch Wiki’s HDMI page remains the deepest reference, and much of it applies to any distro. Manjaro users should run a full update first, since its packages lag behind Arch.

openSUSE Leap and Tumbleweed

The Leap 16.0 release notes confirm PipeWire replaced PulseAudio as the default. Leap 15.6 still defaults to PulseAudio, so install pipewire-pulseaudio there.

sudo zypper refresh
sudo zypper dup      # Tumbleweed
sudo zypper up       # Leap
sudo zypper install sof-firmware alsa-ucm-conf pipewire-pulseaudio

On Tumbleweed, use dup, not up. A partial upgrade can leave the audio stack mismatched.

Step 5: Hardware-Specific Problems

Nvidia hybrid laptops

On many laptops the HDMI port is wired to the discrete Nvidia GPU. If that GPU is powered down, its audio controller disappears. Check:

lspci | grep -i nvidia

You should see both a VGA/3D entry and an audio entry. If the audio device is missing, try:

echo 1 | sudo tee /sys/bus/pci/rescan

If that revives it, power management is the cause. Switch to a performance or discrete GPU mode with your distro’s tooling and test again. Also avoid mixing a distro-packaged Nvidia driver with a manually installed one, which is a reliable way to break HDMI audio.

AMD Radeon

AMD’s HDMI audio also uses snd_hda_intel. If aplay -l shows no HDMI devices, update linux-firmware first. On long-term-support distros, a newer kernel (Ubuntu’s HWE or Debian backports) often helps with recent cards.

Intel laptops using SOF

On recent Intel laptops, HDMI audio passes through a DSP running SOF. Missing or mismatched firmware can kill HDMI while the speakers still work. Install the SOF package from the table and reboot. If that fails, test the older HDA path:

echo "options snd-intel-dspcfg dsp_driver=1" | sudo tee /etc/modprobe.d/hdmi-audio.conf
Forcing the legacy HDA driver: prosForcing the legacy HDA driver: cons
Often restores HDMI audio immediatelyMay disable digital microphones
Needs no extra firmwareSkips newer SOF power-saving features
Undone by deleting one fileHides the real firmware issue

Treat it as a diagnostic. If it works, you’ve proven SOF is the culprit.

Step 6: Rule Out the Physical Side

Before spending an afternoon in the terminal, check the basics:

  • Try a different HDMI port on the TV, since some only carry audio on one input.
  • Swap the cable. Damaged cables can pass video but fail audio negotiation.
  • Avoid DVI or VGA adapters, because DVI carries no audio.
  • Be careful with DisplayPort-to-HDMI adapters. Active ones usually pass audio, while unbranded passive ones may not.
  • If an AV receiver sits in the chain, check its input and enable ARC/eARC on the TV.
  • Look in the display’s menu for an HDMI audio toggle.

If the ELD check showed monitor_present 0, one of these is almost certainly your answer.

Step 7: Hunting a Regression

If everything looks right but there’s still no sound, boot a current live USB of another distro on the same hardware and cable. If HDMI audio works there, your installed system’s configuration or kernel is at fault. If it fails there too, search for your hardware model on the relevant bug tracker.

Booting an older kernel: prosBooting an older kernel: cons
Fast, reversible test in about two minutesOlder kernels may lack newer hardware support
Confirms or rules out a regressionCan miss security patches if left as default
Gives you a precise bug report detailDoesn’t fix the underlying cause

The PipeWire documentation links to its issue tracker. When you report a problem, include your aplay -l output, the ELD results and the relevant journalctl lines. Reports with that detail get answers, and vague ones don’t.

Quick Checklist

  1. Replug the cable and try another display port.
  2. Run aplay -l and confirm HDMI devices exist.
  3. Check ELD for monitor_present and eld_valid.
  4. Set the HDMI profile and default output in pavucontrol.
  5. Restart PipeWire and WirePlumber.
  6. Clear ~/.local/state/wireplumber.
  7. Update the system and install firmware and UCM packages.
  8. Test an older kernel.
  9. On Intel, try the legacy HDA driver option.

Final Thoughts

Linux Not Detecting HDMI Audio feels mysterious, but it usually comes down to an unselected profile, missing firmware, a sleeping GPU, or a cable that can’t carry audio. Diagnose first, apply the fix for your distro, and don’t skip the physical checks.

Once sound returns, note what fixed it. HDMI audio problems can come back after kernel updates, and a saved fix turns the next round into a thirty-second job.

Frequently Asked Question

Why does Linux detect HDMI video but not audio?

Video and audio use separate drivers, so the picture can work while the audio profile, firmware or monitor handshake fails. Check aplay -l and the ELD files to see which layer is missing.

How do I enable HDMI audio in Linux?

Open your sound settings or pavucontrol, set the card profile to Digital Stereo (HDMI), and choose it as the output. From a terminal, run pactl set-card-profile <card> output:hdmi-stereo.

Does PipeWire support HDMI audio?

Yes. PipeWire with WirePlumber is the default on current Ubuntu, Fedora, Debian and openSUSE Leap 16 and handles HDMI outputs once the kernel exposes the device.

Why did HDMI audio stop working after an update?

A kernel or firmware change can break codec binding or reset your saved profile. Boot the previous kernel and clear ~/.local/state/wireplumber to find out which.

Can an adapter cause missing HDMI audio?

Yes. DVI adapters carry no audio, and some cheap DisplayPort-to-HDMI adapters strip it. Test with a direct HDMI cable.

How do I fix HDMI audio on an Nvidia laptop?

Confirm the GPU’s audio controller appears in lspci, and switch to a performance GPU mode if it doesn’t. Use only one properly installed Nvidia driver.

Disclaimer

This article is for general informational purposes. Commands, package names and release details vary by distro version and hardware, and they change over time, so check your distribution’s official documentation before changing your system. Back up important data first. The author accepts no responsibility for issues that result from following these steps.


Related Linux Troubleshooting Guides

Having more Linux hardware or display problems? These guides may help you diagnose and fix them.

Anup Yadav

About the Author

Anup Yadav

Anup Yadav is the founder and editor of TechRefreshing, where he writes practical Linux tutorials, troubleshooting guides, distro reviews, open-source software coverage, and Linux news. His work focuses on helping everyday users understand Linux problems, find the right fixes, and make better decisions about distributions, applications, and system updates. He prefers clear explanations, useful commands, and official documentation over unnecessary technical jargon.

View all posts →

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.