How to Fix No Sound on Ubuntu Linux (PulseAudio & PipeWire Guide)

By Adhen Prasetiyo

Sunday, February 15, 2026 • 6 min read

no sound Ubuntu Linux fix

You’re on Ubuntu (or Linux Mint, Pop!_OS, Fedora) and suddenly there’s no sound. Nothing from the speakers, nothing from headphones. The volume slider moves, but no audio comes out.

Audio on Linux has a reputation for being complicated, and honestly, it can be. Linux uses a layered audio system: ALSA at the hardware level, and either PulseAudio or PipeWire as the sound server on top. When any layer breaks, you get silence.

This guide walks you through diagnosing which layer is broken and fixing it.

Understanding the Linux Audio Stack

Before fixing, it helps to understand what’s happening:

Your App (Spotify, Firefox, etc.)

        ↓

PulseAudio or PipeWire (sound server - manages audio routing)

        ↓

ALSA (hardware driver - talks to your sound card)

        ↓

Physical Speaker / Headphones

The problem can be at any layer. We’ll check from top to bottom.

Step 1: Check the Obvious Stuff First

Before diving into terminal commands, verify these basics:

Check 1: Is the system volume muted? Click the speaker icon in the top-right panel and make sure volume is up and not muted.

Check 2: Is the correct output device selected? Click the speaker icon → check if the right output (speakers, headphones, HDMI) is selected.

Check 3: Are headphones plugged in? Some systems switch to headphone output automatically and mute speakers.

Check 4: Does the hardware work at all? Test with:

speaker-test -c 2 -t wav

If you hear “Front Left… Front Right…” your hardware and ALSA driver are working fine. The problem is in PulseAudio/PipeWire. Skip to Step 3.

If you hear nothing, the problem is at the ALSA level. Continue to Step 2.

Step 2: Fix ALSA (Hardware Level)

Check if your sound card is detected:

aplay -l

This lists all sound cards. You should see at least one entry like:

card 0: PCH [HDA Intel PCH], device 0: ALC269 Analog [ALC269 Analog]

If nothing is listed, your sound card driver isn’t loaded:

sudo modprobe snd-hda-intel

Then check again with aplay -l.

Check if ALSA channels are muted:

This is a very common hidden cause — ALSA channels can be muted even when PulseAudio shows volume at 100%.

alsamixer

This opens a terminal-based mixer. Look for:

  • Master — should be up (green bar) and NOT show “MM” (muted)
  • Speaker — should be up and not muted
  • Headphone — should be up and not muted
  • PCM — should be up and not muted

To unmute: Select the channel with arrow keys, then press M to toggle mute on/off.

To increase volume: Press the Up arrow key.

Press Esc to exit alsamixer. Then save the settings:

sudo alsactl store

Reload ALSA if needed:

sudo alsa force-reload

Test again with speaker-test -c 2 -t wav.

Step 3: Fix PulseAudio

If ALSA works (speaker-test produces sound) but applications have no audio, PulseAudio is the culprit.

Check PulseAudio status:

pulseaudio --check

echo $?

If the output is 0, PulseAudio is running. If it’s 1, PulseAudio is not running.

Restart PulseAudio:

pulseaudio --kill

pulseaudio --start

Check available audio sinks (output devices):

pactl list short sinks

You’ll see entries like:

0   alsa_output.pci-0000_00_1f.3.analog-stereo   module-alsa-card.c   s16le 2ch 44100Hz   RUNNING

If the status shows SUSPENDED instead of RUNNING, set it as default:

pactl set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo

Make sure the sink isn’t muted:

pactl set-sink-mute @DEFAULT_SINK@ 0

pactl set-sink-volume @DEFAULT_SINK@ 80%

Check which applications are connected:

pactl list short sink-inputs

If nothing is listed, no application is sending audio to PulseAudio. Open an app (like Firefox playing a YouTube video) and check again.

Reset PulseAudio completely (nuclear option):

If nothing works, reset PulseAudio to default configuration:

rm -rf ~/.config/pulse

pulseaudio --kill

pulseaudio --start

This deletes your PulseAudio config and recreates it from scratch.

Step 4: Fix PipeWire (Ubuntu 22.10+ and Fedora)

Newer Ubuntu versions (22.10+) and Fedora use PipeWire instead of PulseAudio. The diagnostics are slightly different.

Check if PipeWire is running:

systemctl --user status pipewire pipewire-pulse wireplumber

All three services should show active (running).

Restart PipeWire:

systemctl --user restart pipewire pipewire-pulse wireplumber

Check PipeWire audio devices:

wpctl status

This shows all audio devices and their current routing. Look for your output device under “Sinks” and make sure it’s marked with an asterisk (*) as the default.

Set the correct default output:

wpctl set-default SINK_ID

Replace SINK_ID with the ID number from wpctl status.

Make sure volume isn’t at zero:

wpctl get-volume @DEFAULT_AUDIO_SINK@

If it shows 0.00 or [MUTED]:

wpctl set-mute @DEFAULT_AUDIO_SINK@ 0

wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.8

Step 5: Fix HDMI Audio (If Using External Monitor)

HDMI audio is a common problem because the system may default to HDMI output even when you want speakers.

List all output devices:

pactl list short sinks

Look for entries containing hdmi and analog. Switch to the one you want:

pactl set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo

For PipeWire:

wpctl status

wpctl set-default ANALOG_SINK_ID

Step 6: Reinstall Audio Packages (Last Resort)

If everything else fails, reinstall the entire audio stack:

For PulseAudio systems:

sudo apt install --reinstall pulseaudio pulseaudio-utils alsa-base alsa-utils

For PipeWire systems:

sudo apt install --reinstall pipewire pipewire-pulse wireplumber

Then reboot:

sudo reboot

Quick Diagnostic Cheat Sheet

Test Command Passes? Problem Area
Hardware test speaker-test -c 2 -t wav Sound? If no → ALSA
Sound card detected aplay -l Lists cards? If no → Driver
ALSA not muted alsamixer Bars up, no MM? If muted → ALSA
PulseAudio running pulseaudio --check Returns 0? If 1 → PulseAudio
PipeWire running systemctl --user status pipewire Active? If no → PipeWire
App sending audio pactl list short sink-inputs Shows apps? If empty → App issue

Frequently Asked Questions

Audio works in speaker-test but not in Firefox or Spotify. Why?

The application might be sending audio to the wrong output device. Open pavucontrol (PulseAudio Volume Control) to see per-application audio routing. Install it with sudo apt install pavucontrol if not present. Under the “Playback” tab, check that each app is routed to the correct output.

Sound stopped working after a kernel update. How do I fix it?

Kernel updates can sometimes break audio drivers. Try rebooting first. If that doesn’t help, reinstall the ALSA modules for your current kernel: sudo apt install --reinstall linux-modules-$(uname -r) and reboot.

I have both PulseAudio and PipeWire installed. Is that a problem?

Yes, they can conflict. Check which one is active: pactl info | grep "Server Name". If it says “PulseAudio” you’re on PulseAudio. If it says “PulseAudio (on PipeWire)” you’re on PipeWire. Only one should be active.

Bluetooth audio doesn’t work but wired audio is fine. What do I do?

Install bluetooth audio support: sudo apt install pulseaudio-module-bluetooth (for PulseAudio) or sudo apt install libspa-0.2-bluetooth (for PipeWire). Then restart the audio service and re-pair your Bluetooth device.

Conclusion

Linux audio issues are almost always caused by one of three things: muted ALSA channels (check with alsamixer), PulseAudio/PipeWire misconfiguration (restart the service), or wrong output device selected (set the correct default sink). Start with speaker-test to identify which layer is broken, then fix that specific layer.

Step-by-Step Guide

1

Test hardware audio — Run speaker-test -c 2 -t wav to check if ALSA and sound card work

Test hardware audio — Run speaker-test -c 2 -t wav to check if ALSA and sound card work

2

Check ALSA mixer — Run alsamixer and make sure Master, Speaker, and PCM channels are not muted (no MM)

Check ALSA mixer — Run alsamixer and make sure Master, Speaker, and PCM channels are not muted (no MM)

3

Restart audio service — For PulseAudio: pulseaudio --kill && pulseaudio --start. For PipeWire: systemctl --user restart pipewire pipewire-pulse wireplumber

Restart audio service — For PulseAudio: pulseaudio --kill && pulseaudio --start. For PipeWire: systemctl --user restart pipewire pipewire-pulse wireplumber

4

Set correct output device — Run pactl list short sinks to find devices, then pactl set-default-sink to select the right one

Set correct output device — Run pactl list short sinks to find devices, then pactl set-default-sink to select the right one

5

Verify audio works — Play audio in a browser or music app and confirm sound is restored

Verify audio works — Play audio in a browser or music app and confirm sound is restored

Frequently Asked Questions

Q: Why does speaker-test work but apps have no sound?
A: The application may be routed to the wrong output device. Install pavucontrol and check the Playback tab to verify each app is using the correct audio output.
Q: Sound stopped after a kernel update. How do I fix it?
A: Reinstall ALSA modules for your current kernel with sudo apt install --reinstall linux-modules-$(uname -r) and reboot.
Q: How do I know if I'm using PulseAudio or PipeWire?
A: Run pactl info | grep Server Name. It will say either PulseAudio or PulseAudio (on PipeWire).
Q: Bluetooth audio doesn't work but wired audio does. What's wrong?
A: Install bluetooth audio support — pulseaudio-module-bluetooth for PulseAudio or libspa-0.2-bluetooth for PipeWire, then restart the audio service and re-pair.
Adhen Prasetiyo

Research Bug bounty at javahack team

Research Bug bounty Profesional

Web Development Research Bug Hunter
View all articles →