How to Fix No Sound Issues on Arch Linux
Categories:
5 minute read
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
orplasma-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:
- Check
alsamixer
and unmute the appropriate S/PDIF channels. - Use
pavucontrol
to manually select the HDMI output. - 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.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.