A modern Qt-based GUI application for configuring PipeWire audio settings on Linux, with a focus on latency optimization.
- Real-time Latency Control: Adjust quantum (buffer size) from 16-8192 samples
- Visual Feedback: See active vs desired settings with color-coded indicators
- Persistent Configuration: Save settings that survive system reboots
- Quick Presets: Ultra Low (64), Low (128), Normal (256), Safe (512), Default (1024), High (2048)
- Live Latency Calculator: Shows latency in milliseconds as you adjust settings
- Service Control: Built-in PipeWire restart functionality
- Verification System: Check if settings are properly applied
- Linux with PipeWire audio system
- Python 3.6+
- PyQt6
- PipeWire and WirePlumber
On Arch Linux (including CachyOS):
sudo pacman -S python-pyqt6 pipewire wireplumberOn Ubuntu/Debian:
sudo apt install python3-pyqt6 pipewire wireplumber# Clone the repository
git clone https://github.com/yourusername/pipewire-gui.git
cd pipewire-gui
# Install to application menu
./install.shpython3 pipewire_gui.pyAfter installation, find "PipeWire GUI" in your application launcher under Audio/Settings.
- Quantum: The buffer size in samples. Lower = lower latency but higher CPU usage
- Latency Calculation:
(quantum ÷ sample_rate) × 1000 = latency in ms
- 64: 1.33ms - Ultra-low latency for professional audio
- 128: 2.67ms - Low latency for music production
- 256: 5.33ms - Balanced for general use
- 512: 10.67ms - Safe for most systems
- 1024: 21.33ms - Default, conservative setting
- 2048: 42.67ms - High latency, lowest CPU usage
Settings can be applied in two modes:
- Runtime Only: Temporary settings for testing (reset on restart)
- Save to Config: Creates persistent configuration files in:
~/.config/pipewire/pipewire.conf.d/99-quantum.conf~/.config/wireplumber/wireplumber.conf.d/51-alsa-quantum.conf
- Start with quantum 256 for a good balance of latency and stability
- If you experience audio crackling, increase the quantum value
- Use "Force Quantum" to lock the buffer size for consistent latency
- Set Maximum Quantum to 512 to prevent excessive latency under load
Audio crackling/dropouts: Increase quantum value or uncheck "Force Quantum"
Settings not persisting: Choose "Save to Config" and restart PipeWire
Settings not applying: Click "Restart PipeWire" after saving to config
MIT License
Created for CachyOS/Arch Linux KDE Plasma users who want better control over PipeWire audio latency.
Pull requests are welcome! Please test changes thoroughly with different quantum values.