Steps to enable a realtime client is confusing
- PipeWire version (
pipewire --version): 0.3.43
- Distribution and distribution version (
/etc/os-release): Arch Linux
- Desktop Environment: KDE X11
- Kernel version (
uname -r): 5.15.10.arch1-1
Description of Problem:
When used with EasyEffects, Pipewire gives frequent xruns when some application sets quantum=256 and some order of system load (compile/IDE analysis etc/games) exists. I have a 3700X and it is definitely capable of handling smaller buffer sizes, so this suggests some scheduling problem.
After debugging, it turns out that RT wasn't configured at all. All clients loads
client.conf instead of
client-rt.conf by default, regardless of how realtime they look like, e.g.
PW_FILTER_FLAG_RT_PROCESS. The way to override clients to use
client-rt.conf is not well documented, either.
This looks like an extremely frustrating default for developers.
Steps to Reproduce:
- Install and run
PIPEWIRE_DEBUG=2 easyeffects --gapplication-service
[I][07621.060884] pw.context | [ context.c: 140 context_set_freewheel()] 0x555555cdb7b0: freewheel error:Operation not supported