Any linux wizards know why when my sound sources go to background and CPU is under heavy load the audio crackles?
apps tested: minecraft, vlc(flatpak), spotify(flatpak), other fltapaks
crackles on both bluetooth and minijack headphones,
disabling microphone, easyeffects, gpu screen recorder ( gsr-default_output) didn’t help
I use blender to put the load on CPU but it also happens when compiling or gaming
I have increased stuff in cat /etc/pipewire/pipewire.conf
[…]
## Properties for the DSP configuration.
default.clock.rate = 192000
#default.clock.allowed-rates = [ 48000 ]
default.clock.quantum = 1024
default.clock.min-quantum = 32
default.clock.max-quantum = 4096
[…]
pw-top -b
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR FORMAT NAME
S 29 0 0 --- --- --- --- 0 Dummy-Driver
S 30 0 0 --- --- --- --- 0 Freewheel-Driver
S 45 0 0 --- --- --- --- 0 Midi-Bridge
S 48 0 0 --- --- --- --- 0 bluez_midi.server
R 52 2048 192000 10,6ms 69,7us 0,99 0,01 453 S32LE 2 48000 alsa_output.pci-0000_06_00.6.analog-stereo
R 213 900 48000 229,0us 69,1us 0,02 0,01 0 F32LE 2 48000 + Firefox
R 219 0 0 13,0us 41,1us 0,00 0,00 0 F32P 2 192000 + easyeffects_sink
R 217 0 0 +++ 17,0us +++ 0,00 428 + ee_soe_output_level
R 174 0 0 9,3ms 34,3us 0,88 0,00 5416 + ee_soe_spectrum
R 206 512 48000 300,5us 54,3us 0,03 0,01 0 F32LE 2 48000 + java
R 186 900 48000 359,5us 56,2us 0,03 0,01 0 F32LE 2 48000 + Firefox
R 242 900 48000 417,2us 52,4us 0,04 0,00 0 F32LE 2 48000 + Firefox
R 129 960 48000 152,1us 74,5us 0,01 0,01 0 S16LE 2 48000 + gsr-default_output
R 116 1920 48000 472,4us 62,5us 0,04 0,01 0 F32LE 2 48000 + VLC media player (LibVLC 3.0.23)
I 53 4096 192000 8,9us 3,3us 0,00 0,00 109 S32LE 2 192000 alsa_input.pci-0000_06_00.6.analog-stereo
S 68 0 0 --- --- --- --- 0 v4l2_input.pci-0000_06_00.3-usb-0_3_1.0
I 191 0 0 0,0us 0,0us ??? ??? 0 F32LE 2 48000 Firefox
I 216 0 0 0,0us 0,0us ??? ??? 0 F32LE 2 48000 Firefox
I 220 0 0 0,0us 0,0us ??? ??? 0 F32LE 2 48000 Firefox
S 244 0 0 --- --- --- --- 0 Blender
I 205 0 0 0,0us 0,0us ??? ??? 0 F32LE 2 44100 spotify
R 249 2048 192000 10,7ms 35,5us 1,00 0,00 1339 S16LE 1 48000 alsa_input.usb-145f_Trust_GXT_242_Microphone-00.mono-fallback
R 120 0 0 12,2us 13,5us 0,00 0,00 7 F32P 2 192000 + easyeffects_source
R 145 0 0 6,2us 8,2us 0,00 0,00 90 + ee_sie_output_level
R 230 0 0 5,7us 7,6us 0,00 0,00 118 + ee_sie_spectrum
R 144 960 48000 18,9us 49,7us 0,00 0,00 0 S16LE 2 48000 + gsr-default_input
R 257 0 0 122,2us +++ 0,01 +++ 1101 + ee_sie_rnnoise
R 106 0 0 44,8us 139,8us 0,00 0,01 236 + ee_sie_stereo_tools
R 84 0 0 --- 8,6us --- 0,00 235 + ee_sie_crossfeed
R 158 0 0 5,3us 7,8us 0,00 0,00 30 + ee_sie_reverb
R 171 0 0 5,2us 8,9us 0,00 0,00 4 + ee_sie_equalizer
S 172 0 0 --- --- --- --- 0 plasmashell
S 119 0 0 --- --- --- --- 0 plasmashell
S 233 0 0 --- --- --- --- 0 ee_test_signals
S 193 0 0 --- --- --- --- 0 plasmashell
I 175 0 0 0,0us 0,0us ??? ??? 0 F32LE 2 48000 plasmashell
I know to little to dig into the scheduler stuff. systemctl status rtkit-daemon prints about pipewire sucess at priority 20.
I am on KDE/linux (bazzite based on fedora atomic44)
--------------
OS: Bazzite x86_64
Host: 82JU (Legion 5 15ACH6H)
Kernel: Linux 7.1.3-ogc3.4.fc44.x86_64
Uptime: 4 hours, 46 mins
Packages: 2 (appimage), 4 (brew), 1 (brew-cask), 173 (flatpak), 3014 (rpm)
Shell: bash 5.3.9
Display (BOE08E8): 1920x1080 in 16", 120 Hz [Built-in]
DE: KDE Plasma 6.7.2
WM: KWin (Wayland)
WM Theme: leaf-dark-color
Theme: Fusion (LeafDark) [Qt], Vapor [GTK2/3]
Icons: breeze-dark [Qt], breeze-dark [GTK3/4]
Font: Noto Sans (10pt) [Qt], Noto Sans (10pt) [GTK3/4]
Cursor: Teto (30px)
Terminal: konsole 26.4.3
CPU: AMD Ryzen 5 5600H (12) @ 4.28 GHz
GPU 1: NVIDIA GeForce RTX 3060 Mobile / Max-Q [Discrete]
GPU 2: AMD Radeon Vega Series / Radeon Vega Mobile Series [Integrated]
Memory: 12.05 GiB / 13.49 GiB (89%)
Swap: 16.62 GiB / 35.59 GiB (47%)
Disk (/): 49.00 MiB / 49.00 MiB (100%) - overlay [Read-only]
Disk (/etc): 845.89 GiB / 929.93 GiB (91%) - btrfs
Local IP (tun0): 10.96.0.42/16
Battery (L20M4PC0): 100% [AC Connected]
Locale: pl_PL.UTF-8


After digging a bit it looks like pipewire and spotify don’t get realtime shedules only SCHED_OTHER and SCHED_BATCHhttps://bbs.archlinux.org/viewtopic.php?pid=2279287#p22792874873 TS - 0 19 WRRende~kend#18 ludrol@bazzite:/var/home/ludrol/tmp$ ps -eo pid,class,rtprio,ni,pri,comm -L | grep -i spotify 8613 TS - 0 19 spotify 8613 TS - 0 19 spotify 8613 TS - 0 19 spotify 8620 TS - 0 19 spotify 8620 TS - 0 19 spotify 8620 TS - 0 19 spotify 8624 TS - 0 19 spotify 8625 TS - 0 19 spotify 8664 TS - 0 19 spotify 8664 TS - 0 19 spotify:cs0 8664 B 0 19 0 spotify:disk$0 8664 TS - 0 19 spotify:sh0 8664 TS - 0 19 spotify:gdrv0 8664 TS - 0 19 spotify:gl0 8664 TS - 0 19 spotify:sh1 8664 TS - 0 19 spotify:sh2 8664 TS - 0 19 spotify:sh3 8664 TS - 0 19 spotify:sh4 8664 TS - 0 19 spotify:sh5 8664 TS - 0 19 spotify:sh6 8664 TS - 0 19 spotify:sh7 8664 TS - 0 19 spotify:sh8 8664 B 0 19 0 spotify:disk$1 8664 B 0 19 0 spotify:disk$2 8664 B 0 19 0 spotify:disk$3 8664 B 0 19 0 spotify:disk$0 8664 TS - 0 19 spotify:sh0 8665 TS - 0 19 spotify 8669 TS - 0 19 spotify 8730 TS - 0 19 spotify 8804 TS - 0 19 spotify 8860 TS - 0 19 spotify ludrol@bazzite:/var/home/ludrol/tmp$ ps -eo pid,class,rtprio,ni,pri,comm -L | grep -i pipe 2080 TS - 0 19 IpcPipeBroadcas 2080 TS - 0 19 IpcPipeBroadcas 2080 TS - 0 19 IpcPipeBroadcas 2080 TS - 0 19 IpcPipeBroadcas 3090 TS - -11 30 pipewire 3296 TS - -11 30 pipewire-pulse 3822 TS - 0 19 .NET EventPipe 3822 TS - 0 19 .NET DebugPipe 8613 TS - 0 19 pipewire-loop 40140 TS - 0 19 mpv/ao/pipewiresystemctl status rtkit-daemon ● rtkit-daemon.service - RealtimeKit Scheduling Policy Service Loaded: loaded (/usr/lib/systemd/system/rtkit-daemon.service; enabled; preset: enabled) Drop-In: /usr/lib/systemd/system/service.d └─10-timeout-abort.conf Active: active (running) since Thu 2026-07-16 08:42:27 CEST; 3h 3min ago Invocation: 71422e850ec74c97b6edfa1666d3243a Main PID: 1599 (rtkit-daemon) Tasks: 3 (limit: 16290) Memory: 580K (peak: 3.5M, swap: 12K, swap peak: 12K) CPU: 92ms CGroup: /system.slice/rtkit-daemon.service └─1599 /usr/libexec/rtkit-daemon lip 16 08:42:38 bazzite rtkit-daemon[1599]: Successfully made thread 3090 of process 3090 (/usr/bin/pipewire) owned by '1000' high priority at nice level -11. lip 16 08:42:38 bazzite rtkit-daemon[1599]: Successfully made thread 3095 of process 3090 (/usr/bin/pipewire) owned by '1000' RT at priority 20. lip 16 08:42:38 bazzite rtkit-daemon[1599]: Successfully made thread 3091 of process 3091 (/usr/bin/wireplumber) owned by '1000' high priority at nice level -11. lip 16 08:42:38 bazzite rtkit-daemon[1599]: Successfully made thread 3103 of process 3091 (/usr/bin/wireplumber) owned by '1000' RT at priority 20. lip 16 08:42:39 bazzite rtkit-daemon[1599]: Successfully made thread 3296 of process 3296 (/usr/bin/pipewire) owned by '1000' high priority at nice level -11. lip 16 08:42:39 bazzite rtkit-daemon[1599]: Successfully made thread 3300 of process 3296 (/usr/bin/pipewire) owned by '1000' RT at priority 20. lip 16 08:42:41 bazzite rtkit-daemon[1599]: Successfully made thread 3837 of process 3287 (/usr/bin/plasmashell) owned by '1000' RT at priority 20. lip 16 08:42:42 bazzite rtkit-daemon[1599]: Successfully made thread 4081 of process 3287 (/usr/bin/plasmashell) owned by '1000' RT at priority 20. lip 16 08:42:43 bazzite rtkit-daemon[1599]: Successfully made thread 4331 of process 4070 (/var/home/ludrol/.local/share/Steam/ubuntu12_32/steam) owned by '1000' high priority at nice level -10. lip 16 08:42:44 bazzite rtkit-daemon[1599]: Successfully made thread 4332 of process 4070 (/var/home/ludrol/.local/share/Steam/ubuntu12_32/steam) owned by '1000' high priority at nice level -10.