Fix No Sound and "Dummy Output" on Linux

Quick fix

Restart the audio stack as your own user (no sudo), then check that a real output is selected and nothing is muted:

systemctl --user restart pipewire pipewire-pulse wireplumber
wpctl status
alsamixer

If settings still show Dummy Output, the kernel didn't find your sound card. On most laptops from about 2019 on, the fix is the Sound Open Firmware package: sudo apt install firmware-sof-signed (Ubuntu/Debian), sudo dnf install alsa-sof-firmware (Fedora) or sudo pacman -S sof-firmware (Arch), then reboot.

How Linux audio works now (30 seconds)

Knowing the layers tells you where to look:

  1. Kernel (ALSA drivers) such as snd_hda_intel or snd_sof talk to the hardware. If they fail, there is no card at all and you get Dummy Output.
  2. PipeWire is the sound server that mixes audio from apps. pipewire-pulse lets PulseAudio apps use it.
  3. WirePlumber is the session manager: it decides which device and profile are used and remembers volumes.
  4. Your desktop (GNOME, KDE, Cinnamon) shows the volume and output selector.

PipeWire with WirePlumber is the default on all current major distros, so the commands below apply to Ubuntu, Debian, Fedora, Arch, Mint and openSUSE alike.

Identify your case

SymptomGo to
Output device is "Dummy Output" or there are no devicesStep 2: no sound card detected
Real device listed, volume moves, nothing audibleStep 3: muted or wrong output
Sound works, but not over HDMI/DisplayPortHDMI and DisplayPort audio
Headphones work, laptop speakers don't (or vice versa)Speakers or headphone jack
Sound broke after an update, or volume icon is goneStep 1: the audio stack
Bluetooth headphones silent or low qualityBluetooth not working on Linux

Step 1: Check the audio stack is running

systemctl --user status pipewire pipewire-pulse wireplumber
pactl info | grep 'Server Name'

Example output when everything is fine:

● wireplumber.service - Multimedia Service Session Manager
     Active: active (running) since ...
Server Name: PulseAudio (on PipeWire 1.4.7)

If a service is failed or inactive, read why and restart it:

journalctl --user -b -u wireplumber -u pipewire --no-pager | tail -n 40
systemctl --user restart pipewire pipewire-pulse wireplumber
Don't use sudo here

PipeWire runs as your user. sudo systemctl restart pipewire targets a system unit that doesn't exist, and running audio tools as root can create root-owned files in your home directory that break audio later.

If Server Name says pulseaudio without "on PipeWire", the old PulseAudio daemon is running instead. On Arch, installing pipewire-pulse replaces it. On Ubuntu and Debian:

sudo apt install pipewire-audio wireplumber pipewire-pulse
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user --now enable pipewire pipewire-pulse wireplumber

Reset WirePlumber's saved state

WirePlumber remembers the last device, profile and volume for every card. A bad saved state (for example a profile set to "Off") survives reboots. Clearing it is safe; it only forgets your volume preferences:

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

Step 2: Dummy Output (no sound card detected)

Ask the kernel whether it sees a sound card:

aplay -l
lspci -nnk | grep -A3 -i audio

Example output on a laptop missing firmware:

aplay: device_list:274: no soundcards found...

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Meteor Lake-P HD Audio Controller [8086:7e28]
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_mtl

The controller is present, but no Kernel driver in use: line, so no driver bound to it. The kernel log says why:

sudo dmesg | grep -i -E 'sof|snd|hda|firmware'
sof-audio-pci-intel-mtl 0000:00:1f.3: Direct firmware load for intel/sof-ipc4/mtl/sof-mtl.ri failed with error -2
sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -2

Direct firmware load ... failed with error -2 means the firmware file is missing.

Fix: install Sound Open Firmware (SOF)

Intel laptops with digital microphones (most since Tiger Lake, and many earlier) need SOF firmware and topology files. They are not always installed by default, especially on minimal or upgraded systems.

DistroCommand
Ubuntu, Mintsudo apt install firmware-sof-signed linux-firmware
Debian 13sudo apt install firmware-sof-signed (needs the non-free-firmware component)
Fedorasudo dnf install alsa-sof-firmware
Archsudo pacman -S sof-firmware alsa-ucm-conf
openSUSEsudo zypper install sof-firmware

Reboot afterwards; the driver only retries loading firmware at boot.

Fix: newer laptops need a newer kernel

A laptop released after your distro may need driver support that only exists in newer kernels. Ubuntu 26.04 ships Linux 7.0. On Ubuntu 24.04, install the hardware enablement kernel, which tracks newer releases:

sudo apt install --install-recommends linux-generic-hwe-24.04

Fedora and Arch already ship recent kernels; make sure you are fully updated with sudo dnf upgrade or sudo pacman -Syu.

Fix: force the legacy HDA driver

If SOF firmware is installed and the card still fails, you can tell the kernel to use the classic HDA driver instead. This works on many machines but disables the internal digital microphone:

echo 'options snd-intel-dspcfg dsp_driver=1' | sudo tee /etc/modprobe.d/alsa-dsp.conf
sudo reboot

Remove the file to undo it. The same option can be tested once at boot as snd_intel_dspcfg.dsp_driver=1; see kernel parameters.

Fix: driver blacklisted or stuck

grep -r -E 'snd|sof' /etc/modprobe.d/
sudo modprobe snd_hda_intel

Remove any blacklist snd_hda_intel or similar line you or an old tutorial added.

Step 3: Card detected but no sound

Pick the right output

wpctl status

Example output (trimmed):

Audio
 ├─ Devices:
 │      48. Meteor Lake-P HD Audio Controller   [alsa]
 ├─ Sinks:
 │  *   53. Meteor Lake-P HD Audio Controller Speaker [vol: 0.40 MUTED]
 │      54. Meteor Lake-P HD Audio Controller HDMI / DisplayPort 1 Output [vol: 1.00]

The * marks the default output. Here it is muted. Fix it, or switch the default to another sink by its number:

wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.6
wpctl set-default 53

A graphical alternative is pavucontrol (install it from your distro), which shows every output, input and the card profile in one window.

Unmute in alsamixer

PipeWire volume and the hardware mixer are separate. A muted hardware channel silences everything below PipeWire:

alsamixer -c 0

Press F6 to choose the card. Channels showing MM are muted: select with the arrow keys and press M to unmute (it changes to 00). Raise Master, Speaker and Headphone. Set Auto-Mute Mode to Disabled if speakers go silent when nothing is plugged in. Press Esc to quit; save the state with sudo alsactl store.

Test below the desktop

speaker-test -c 2 -t wav -l 1

You should hear "Front Left", "Front Right". If this works but apps are silent, the problem is in the app or its output selection, not the system.

HDMI and DisplayPort audio

  1. Select the HDMI or DisplayPort output in Settings → Sound (GNOME) or the volume applet (KDE). Monitors with no speakers still appear as outputs, so choose the right one.
  2. Check the card profile. In pavucontrol → Configuration, set the profile to one that includes HDMI, for example Digital Stereo (HDMI) Output. From a terminal: wpctl status to find the device ID, then wpctl set-profile ID NUMBER.
  3. Check the monitor volume and input. Many monitors mute their own speakers by default.
  4. For NVIDIA cards, HDMI audio needs the NVIDIA driver loaded (lspci -k shows snd_hda_intel for the NVIDIA audio function). After installing drivers via NVIDIA drivers on Ubuntu, reboot before testing.
  5. For AMD and Intel GPUs, HDMI audio is part of the graphics driver; update the kernel and linux-firmware if the output is missing.

Speakers or headphone jack not working

  • Speakers silent, headphones fine: check the Speaker channel in alsamixer and disable Auto-Mute. Many recent laptops use separate smart amplifier chips (Cirrus Logic, Realtek, TI) that need both firmware and a kernel quirk for that exact model; a newer kernel and linux-firmware package often fix it.
  • Headphones not detected: the jack sense pin may be misconfigured. Try a model quirk: find your codec with cat /proc/asound/card*/codec#* | grep Codec, look it up in the kernel's HD-Audio model list, then add options snd-hda-intel model=MODEL to /etc/modprobe.d/alsa-base.conf.
  • Re-map jacks graphically: hdajackretask (in alsa-tools-gui on Ubuntu/Debian, alsa-tools on Arch and Fedora) can override what each pin does and install the override at boot.

Distro-specific notes

  • Ubuntu 26.04 / 24.04: make sure pipewire-audio is installed; upgraded systems occasionally keep old PulseAudio pieces. ubuntu-bug audio gathers logs if you need to report a bug.
  • Debian 13: firmware lives in non-free-firmware; add it to /etc/apt/sources.list.d/debian.sources if your install skipped it.
  • Fedora: PipeWire is installed by default. If you changed audio packages, sudo dnf install pipewire-pulseaudio wireplumber restores the stack.
  • Arch: install pipewire pipewire-pulse wireplumber and pipewire-alsa; nothing else is needed for desktop audio. The Arch Wiki PipeWire page covers advanced setups.
  • openSUSE: Tumbleweed and Leap 16 use PipeWire by default; check with pactl info like everywhere else.

Still no sound? Collect diagnostics

The ALSA info script gathers card, codec, driver and mixer details into one report that forum helpers and bug trackers ask for:

# part of alsa-utils; called alsa-info.sh on some distros
sudo alsa-info --stdout > alsa-info.txt

Combine it with the boot log (journalctl -b | grep -i -E 'snd|sof|pipewire|wireplumber'; see the journalctl cheat sheet for filtering) and the output of wpctl status. With those three pieces, the cause is almost always visible. For other Ubuntu issues, start at the Ubuntu troubleshooting hub.

Frequently asked questions

Why does Ubuntu show Dummy Output?

Dummy Output means PipeWire found no usable sound card. Either the kernel driver did not load (often missing Sound Open Firmware on newer Intel laptops), or WirePlumber failed to start or crashed.

How do I restart PipeWire?

Run systemctl --user restart pipewire pipewire-pulse wireplumber as your normal user, without sudo. PipeWire runs per user, not as a system service.

Do I still need PulseAudio?

No. Current Ubuntu, Debian, Fedora, Arch, Mint and openSUSE releases use PipeWire with pipewire-pulse, which emulates the PulseAudio server so older apps keep working. Having the real PulseAudio daemon installed alongside it causes conflicts.

Why does HDMI audio not work on Linux?

The HDMI output is usually there but not selected, or the card profile is set to analog only. Pick the HDMI or DisplayPort output in Sound settings or pavucontrol, and for NVIDIA make sure the proprietary driver is loaded.

Sound works in headphones but not speakers. What now?

Check alsamixer for a muted Speaker channel and disable Auto-Mute. If the speakers never work, the laptop may need newer firmware, a newer kernel or a model quirk for its amplifier chip.

Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.