How to Fix Audio Not Working on Linux
Troubleshoot and fix sound issues on Linux — from wrong output devices to PipeWire and PulseAudio configuration.
Prerequisites
- A Linux distribution installed
Check the obvious things first
Before diving into terminal commands, check the basics:
- Is the volume turned up in the system tray?
- Is the correct output device selected (speakers vs HDMI vs Bluetooth)?
- Is the app itself muted?
Open Settings → Sound and make sure the right output device is active and the volume slider is up.
Check which audio system you're using
Modern Linux uses either PipeWire (newer, default on Ubuntu 24.04+, Fedora) or PulseAudio (older but still common). Check which one is running.
pactl info | grep 'Server Name'
List available audio devices
See all detected sound cards and output devices. If your expected device isn't listed, it might be a driver issue.
pactl list sinks short aplay -l
Set the correct default output
If the wrong device is selected, switch to the correct one. First list the sinks to find the name, then set it as default.
pactl list sinks short pactl set-default-sink <sink-name>
Restart the audio service
Sometimes the audio server just needs a restart. This kills and restarts the audio process.
# For PipeWire: systemctl --user restart pipewire pipewire-pulse # For PulseAudio: pulseaudio -k pulseaudio --start
Fix HDMI audio with NVIDIA
A common issue: HDMI audio not working when using NVIDIA drivers. The NVIDIA driver sometimes doesn't expose the HDMI audio device properly. Install the ALSA NVIDIA plugin and reboot.
sudo apt install libasound2-plugins sudo reboot
Install PipeWire (if using old PulseAudio)
If you're on an older system with PulseAudio and experiencing issues, upgrading to PipeWire often fixes them. PipeWire is a drop-in replacement with better Bluetooth audio, lower latency, and fewer bugs.
sudo apt install pipewire pipewire-pulse wireplumber sudo reboot
This replaces PulseAudio with PipeWire. It's generally safe, but make sure to reboot after installing.