Audio setup using PipeWire on Arch Linux with Hyprland.
Installation
Already included in Base Install, but for reference:
sudo pacman -S \
pipewire pipewire-alsa pipewire-pulse pipewire-jack \
wireplumber sof-firmwareVolume Control
CLI
# Using wpctl (WirePlumber)
wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
# Using pactl (PulseAudio compat)
pactl set-sink-volume @DEFAULT_SINK@ +5%
pactl set-sink-volume @DEFAULT_SINK@ -5%
pactl set-sink-mute @DEFAULT_SINK@ toggleGUI
sudo pacman -S pavucontrol # GTK
# or
sudo pacman -S pwvucontrol # Qt/PipeWire nativeHyprland Keybinds
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggleTroubleshooting
No sound
Check WirePlumber is running:
systemctl --user status wireplumber
systemctl --user status pipewireRestart if needed:
systemctl --user restart wireplumber pipewire pipewire-pulseHeadphone jack buzz (Framework AMD)
The AMD board has slight buzz when audio idles. Disable power saving:
Create /etc/modprobe.d/audio-powersave.conf:
options snd_hda_intel power_save=0
Application-specific issues
Some apps need explicit PipeWire support. Check:
pactl info | grep "Server Name"
# Should show: PulseAudio (on PipeWire)