|
|
#!/bin/bash
|
|
|
sudo apt update && sudo apt upgrade -y
|
|
|
|
|
|
sudo apt install -y \
|
|
|
pipewire \
|
|
|
pipewire-pulse \
|
|
|
wireplumber \
|
|
|
pipewire-alsa \
|
|
|
pipewire-jack \
|
|
|
pipewire-audio \
|
|
|
libspa-0.2-bluetooth
|
|
|
|
|
|
sudo apt install -y qpwgraph
|
|
|
sudo apt install -y easyeffects
|
|
|
# Install PipeWire Wayland portal
|
|
|
sudo apt-get install -y xdg-desktop-portal xdg-desktop-portal-gnome
|
|
|
|
|
|
# Disable PulseAudio
|
|
|
systemctl --user disable pulseaudio.service pulseaudio.socket
|
|
|
systemctl --user mask pulseaudio.service pulseaudio.socket
|
|
|
|
|
|
# Stop PulseAudio immediately
|
|
|
systemctl --user stop pulseaudio.service pulseaudio.socket
|
|
|
|
|
|
# Enable PipeWire and its components
|
|
|
systemctl --user enable pipewire pipewire-pulse wireplumber
|
|
|
systemctl --user start pipewire pipewire-pulse wireplumber
|
|
|
|
|
|
mkdir -p ~/.config/pipewire
|
|
|
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/
|
|
|
|
|
|
# Create user pipewire config directory
|
|
|
mkdir -p ~/.config/pipewire/pipewire.conf.d/
|
|
|
|
|
|
# Set lower latency (default is 1024/48000 = ~21ms)
|
|
|
cat > ~/.config/pipewire/pipewire.conf.d/10-custom.conf << 'EOF'
|
|
|
context.properties = {
|
|
|
default.clock.rate = 96000
|
|
|
default.clock.quantum = 512
|
|
|
default.clock.min-quantum = 32
|
|
|
default.clock.max-quantum = 8192
|
|
|
}
|
|
|
EOF
|
|
|
|
|
|
# Create a virtual null sink (useful for recording desktop audio)
|
|
|
pactl load-module module-null-sink media.class=Audio/Sink sink_name=virtual-speaker object.linger=1
|
|
|
|
|
|
# Create a loopback (route audio from virtual sink to real output)
|
|
|
pactl load-module module-loopback source=virtual-speaker.monitor sink=@DEFAULT_SINK@
|
|
|
|
|
|
systemctl --user restart pipewire.service pipewire-pulse.service wireplumber.service
|
|
|
|
|
|
# Verify PipeWire is now the audio server
|
|
|
pactl info | grep "Server Name"
|
|
|
|
|
|
#https://oneuptime.com/blog/post/2026-03-02-how-to-set-up-pipewire-as-audio-server-on-ubuntu/view
|
|
|
|