16
submitted
1 day ago* (last edited 1 day ago)
by
ludrol@programming.dev
to
c/linux4noobs@programming.dev
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
I would suggest trying to lower the sample rate to something like 44.1 or 48khz which is already CD/DAT quality, higher sample rates are good for recording and dedicated playback but just day to day it's a bit overkill honestly, and unless you have high grade equipment (AD/DA converters, monitor speakers or headphones, etc.) it's not really that noticeable, worth a shot anyways
Also in the docs it says that the default.clock.allowed-rates is not enabled by default anymore because of problems with kernels and bluetooth so you might want to remove the rate from those brackets
tested
default.clock.ratewith 44100 and 48000 it still crackles,#default.clock.allowed-ratesis commented outDarn I tried
Thanks. Looks like I am one of lucky 10000 to learn about real time schedulers.