HDMI Audio Not Working on Linux
Summary
HDMI audio output does not work on Framework Laptop 13 with Intel processors when running Linux. The HDMI expansion card provides video output correctly, and the HDMI audio device is detected by the system, but no sound is produced through the connected TV, monitor, or AV receiver speakers. The same hardware works correctly under Windows. The primary fix is to install the sof-firmware package and force the Sound Open Firmware (SOF) DSP driver via the snd_intel_dspcfg kernel module option123.
Symptoms
- HDMI video output works normally45
- HDMI audio device appears in
aplay -loutput listing HDMI/DisplayPort PCM devices67 - The sound settings panel shows HDMI as an available output device45
- System volume meters show audio playback activity, but no sound is heard from the connected display or receiver5
- Internal speakers, 3.5 mm headphone jack, and Bluetooth audio all work correctly45
- The issue may be intermittent — some users report HDMI audio working after suspend/resume but not after a cold boot8
- Works on Windows 10/11 but not on Linux with the same hardware45
- Using a USB-C dock with HDMI output works as a bypass4
Affected Models
- Framework Laptop 13 (11th Gen Intel) — Primary affected model. Tiger Lake-LP Smart Sound Technology Audio Controller (PCI ID:
8086:a0c8). Confirmed across multiple threads and distributions14591011 - Framework Laptop 13 (12th Gen Intel) — Reported by multiple users in the original HDMI audio thread412
- Framework Laptop 13 (Intel Core Ultra Series 1) — Reported January 2025 with same symptoms13
- Framework Mainboard (11th Gen Intel) standalone — Used in Cooler Master case and custom builds, same audio controller814
Root Cause
The Intel Tiger Lake-LP (and later) audio controller supports two driver stacks: the legacy HDA driver (snd_hda_intel) and the Sound Open Firmware (SOF) driver (snd_sof_pci_intel_tgl). The kernel module snd_intel_dspcfg is responsible for auto-detecting which DSP driver to use at boot1315.
On Framework 11th Gen Intel, the auto-detection (dsp_driver=0) may select the wrong driver or the selected driver may not properly initialize HDMI audio through the expansion card. The HDMI expansion card routes display and audio signals through Intel's integrated graphics (i915), which exposes HDMI/DP audio codecs through the HDA subsystem. When the driver initialization is incorrect, the HDMI audio codec is detected but the audio samples never reach the output13.
The ArchWiki documents this specifically for Framework 11th Gen: the system must use the SOF driver (dsp_driver=3) with the sof-firmware package installed for HDMI audio to function correctly3.
On Windows, the Intel Iris Xe GPU driver handles HDMI audio natively, which is why the same hardware works without issue45.
Diagnosis
-
Verify the HDMI audio device is detected:
aplay -l | grep HDMIIf HDMI PCM devices are listed, the kernel sees the audio codec but the audio path is broken67.
-
Check which DSP driver is in use:
dmesg | grep -E "snd_intel_dspcfg|snd_sof|snd_hda_intel" -
Check current
dsp_drivervalue:cat /sys/module/snd_intel_dspcfg/parameters/dsp_driverValue
0means auto-detect,1means legacy HDA,3means SOF3. -
Verify sof-firmware is installed:
- Ubuntu/Debian:
dpkg -l | grep sof-firmware - Fedora:
rpm -q sof-firmware - Arch:
pacman -Q sof-firmware
- Ubuntu/Debian:
Workarounds & Fixes
| Solution | Effectiveness | Notes |
|---|---|---|
Install sof-firmware and set dsp_driver=3123 | Fixes the issue | Primary fix. Create /etc/modprobe.d/snd-intel-dsp.conf with options snd_intel_dspcfg dsp_driver=3, then reboot. Requires sof-firmware package installed |
Set dsp_driver=1 (legacy HDA)915 | Fixes HDMI audio | Forces legacy HDA driver. HDMI audio works but onboard digital microphone will not function |
Use pavucontrol to manually switch profile10 | May work | Open pavucontrol, go to Configuration tab, select HDMI output profile. Works for some users but not all |
| Use USB-C dock with HDMI port4 | Workaround | Bypasses the HDMI expansion card entirely. USB-C docks with HDMI handle audio through a different path |
| Install Intel Iris Xe beta driver (Windows only)4 | Fixes on Windows | For Windows users, install the latest Intel GPU beta driver from Intel's download page |
Primary Fix (Linux)
-
Install the Sound Open Firmware package:
- Ubuntu/Debian:
sudo apt install sof-firmware - Fedora:
sudo dnf install sof-firmware - Arch:
sudo pacman -S sof-firmware
- Ubuntu/Debian:
-
Create the modprobe configuration:
echo "options snd_intel_dspcfg dsp_driver=3" | sudo tee /etc/modprobe.d/snd-intel-dsp.conf -
Reboot the system.
-
After reboot, verify HDMI audio output is available in sound settings and test playback123.
Resolution
The fix is a kernel-level configuration change. There is no firmware or BIOS update that resolves this — it is a Linux audio driver initialization issue specific to Intel Tiger Lake and related audio controllers1315.
As newer kernel versions improve the auto-detection logic in snd_intel_dspcfg, some distributions may eventually handle this correctly without manual configuration. However, as of kernel 6.x, the workaround is still required on many distributions for Framework 11th Gen Intel3.
Related
- HDMI Expansion Card — Framework Product Page
- Framework Laptop 13 — ArchWiki — ArchWiki (documents the
dsp_driver=3fix) - Ubuntu Audio Troubleshooting Guide — Framework Knowledge Base
- HDMI expansion adapter slot issues — separate issue where HDMI expansion card does not work in the front-left slot on some models