How to Fix No Sound Issues on Arch Linux

This article provides a step-by-step guide to fixing no sound issues on Arch Linux.

Sound issues on Arch Linux are not uncommon, especially for new users or those who have recently installed a desktop environment, made hardware changes, or performed a system update. Arch’s flexibility gives users fine control over the system, but this can also lead to misconfigured audio subsystems or missing dependencies if not carefully managed.

In this article, we’ll explore how to troubleshoot and fix no sound issues on Arch Linux using a systematic approach. We’ll cover both ALSA and PulseAudio (or PipeWire), examine user permissions, kernel module issues, and desktop-specific quirks. Whether you’re using GNOME, KDE Plasma, or a lightweight window manager, these tips will guide you toward restoring audio functionality.


Step 1: Check If Audio Hardware Is Detected

The first step is to ensure that your system actually detects the sound card.

Open a terminal and run:

lspci | grep -i audio

You should see output like:

00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)

For USB sound devices, use:

lsusb | grep -i audio

If you see no output, it’s likely a hardware-level or kernel module issue. Verify that the device is enabled in the BIOS and not physically disconnected.


Step 2: Check Kernel Modules

Make sure the necessary audio kernel modules are loaded. The common one for Intel HD Audio is snd_hda_intel.

List loaded sound modules:

lsmod | grep snd

You should see modules like:

snd_hda_intel
snd_intel_dspcfg
snd_hda_codec

If not, try loading the module manually:

sudo modprobe snd_hda_intel

If this works, you can make the module load automatically at boot:

echo "snd_hda_intel" | sudo tee /etc/modules-load.d/sound.conf

If using a different chipset, research the appropriate module (snd_usb_audio, snd_soc, etc.).


Step 3: Verify ALSA Is Working

ALSA (Advanced Linux Sound Architecture) is the low-level audio system that interfaces directly with the kernel.

Install ALSA Utilities

sudo pacman -S alsa-utils

Test Sound Output

Run:

aplay -l

This lists all detected sound devices. Then test audio playback using:

speaker-test -c 2 -t wav

If you hear sound, ALSA is working, but the issue might lie with your sound server (PulseAudio or PipeWire).


Step 4: Ensure No Devices Are Muted

Use alsamixer to check the status of volume levels and mute switches.

alsamixer
  • Use arrow keys to navigate.
  • Press M to toggle mute/unmute.
  • Make sure “Master”, “PCM”, and “Speaker” are all unmuted and set to a reasonable volume level.

If you change settings here, save them persistently:

sudo alsactl store

Step 5: PulseAudio Troubleshooting (if in use)

Many desktop environments still use PulseAudio as the default sound server.

Install PulseAudio (if missing)

sudo pacman -S pulseaudio pulseaudio-alsa

Restart PulseAudio:

pulseaudio -k
pulseaudio --start

Or use:

systemctl --user restart pulseaudio

Check Default Sink

Run:

pactl list short sinks

Then set the default:

pactl set-default-sink <sink-name>

You can also adjust volume and mute state:

pactl set-sink-mute @DEFAULT_SINK@ 0
pactl set-sink-volume @DEFAULT_SINK@ 100%

Use pavucontrol

Install and run the graphical volume control utility:

sudo pacman -S pavucontrol
pavucontrol

Check the “Output Devices” and “Playback” tabs. Ensure the correct device is selected and not muted.


Step 6: PipeWire Troubleshooting (Modern Replacement for PulseAudio)

Many newer systems (especially GNOME 40+ or KDE Plasma 5.22+) use PipeWire, which combines audio and video handling and is a drop-in replacement for PulseAudio.

Install PipeWire with ALSA and PulseAudio compatibility layers

sudo pacman -S pipewire pipewire-alsa pipewire-pulse wireplumber

Enable and start services:

systemctl --user enable --now pipewire pipewire-pulse wireplumber

Check if it’s running:

systemctl --user status pipewire

If PulseAudio is still installed, make sure it’s disabled to avoid conflict:

systemctl --user disable --now pulseaudio.service pulseaudio.socket

Use pw-cli and pavucontrol

You can use the same pavucontrol utility to manage PipeWire sinks and sources, as it’s compatible with the PulseAudio API.

To list devices:

pw-cli ls Node

If you see your sound card listed but still hear nothing, try restarting PipeWire:

systemctl --user restart pipewire pipewire-pulse

Step 7: Verify User is in Audio Group

Make sure your user is in the audio group:

groups

If not:

sudo usermod -aG audio $USER

Then log out and log back in for the group membership to apply.


Step 8: Desktop Environment Quirks

Some desktop environments (DEs) may have their own sound managers or quirks.

GNOME

  • GNOME uses gnome-control-center for sound settings.
  • Ensure correct output device is selected under Settings > Sound.

KDE Plasma

  • Use systemsettings5 or plasma-pa to manage audio devices.
  • If using PipeWire, install:
sudo pacman -S plasma-pa
  • Restart plasma-pa or relog.

Step 9: Fixing HDMI Audio Issues

If sound works on headphones or analog out but not HDMI:

  1. Check alsamixer and unmute the appropriate S/PDIF channels.
  2. Use pavucontrol to manually select the HDMI output.
  3. Set the HDMI device as default with:
pactl set-card-profile 0 output:hdmi-stereo

(Use pactl list cards to find correct card/profile names.)


Step 10: Advanced Diagnostics

Use journalctl

Check logs for errors:

journalctl --user -xe | grep pipewire
journalctl --user -xe | grep pulseaudio

Look for driver loading issues, permission errors, or segfaults.

Reinstall Audio Stack

Sometimes a clean reinstall helps:

sudo pacman -Rns pulseaudio
sudo pacman -Syu
sudo pacman -S pipewire pipewire-pulse wireplumber alsa-utils

Step 11: Use Fallback Tools

If nothing works, try using mpv or aplay with explicit device selection to isolate the issue:

aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav

If this works, then the problem is not with the sound driver but the sound server layer.


Conclusion

No sound issues on Arch Linux can be frustrating, but they’re typically resolvable with systematic troubleshooting. Most issues stem from misconfigured ALSA settings, muted channels, incorrect default sinks in PulseAudio or PipeWire, or missing user permissions.

As Arch gives you a modular base system, audio functionality depends on the components you explicitly install and configure. It’s a good idea to keep your audio stack consistent — either fully PulseAudio-based or fully PipeWire-based — and use diagnostic tools like alsamixer, pavucontrol, or pw-cli to pinpoint issues.

If you still can’t resolve your issue, forums like the Arch Linux Wiki, Reddit’s /r/archlinux, or the official Arch forums are excellent places to get help.

Once you’ve fixed the problem, consider documenting your specific setup and solution — chances are someone else might run into the same issue.