90 lines
2.0 KiB
Markdown
90 lines
2.0 KiB
Markdown
---
|
|
publish: true
|
|
permalink: /os/audio
|
|
title: Audio
|
|
created: 2026-01-29T15:21:02.328-07:00
|
|
modified: 2026-02-05T12:17:52.903-07:00
|
|
tags:
|
|
- audio
|
|
- pipewire
|
|
- hyprland
|
|
cssclasses: ""
|
|
---
|
|
|
|
Audio setup using PipeWire on Arch Linux with Hyprland.
|
|
|
|
## Installation
|
|
|
|
Already included in [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Base Install]], but for reference:
|
|
```bash
|
|
sudo pacman -S \
|
|
pipewire pipewire-alsa pipewire-pulse pipewire-jack \
|
|
wireplumber sof-firmware
|
|
```
|
|
|
|
## Volume Control
|
|
|
|
### CLI
|
|
```bash
|
|
# 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@ toggle
|
|
```
|
|
|
|
### GUI
|
|
```bash
|
|
sudo pacman -S pavucontrol # GTK
|
|
# or
|
|
sudo pacman -S pwvucontrol # Qt/PipeWire native
|
|
```
|
|
|
|
### Hyprland Keybinds
|
|
```bash
|
|
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@ toggle
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### No sound
|
|
|
|
Check WirePlumber is running:
|
|
```bash
|
|
systemctl --user status wireplumber
|
|
systemctl --user status pipewire
|
|
```
|
|
|
|
Restart if needed:
|
|
```bash
|
|
systemctl --user restart wireplumber pipewire pipewire-pulse
|
|
```
|
|
|
|
### Headphone 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:
|
|
```bash
|
|
pactl info | grep "Server Name"
|
|
# Should show: PulseAudio (on PipeWire)
|
|
```
|
|
|
|
## Resources
|
|
|
|
- Detailed guide: https://dev.to/laithalenooz/resolving-audio-issues-on-arch-linux-with-hyprland-a-step-by-step-guide-2n
|
|
- Arch Wiki: https://wiki.archlinux.org/title/PipeWire
|