You are not logged in.

#1 Yesterday 18:48:29

Dolfost
Member
Registered: 2025-09-25
Posts: 2

Crackling audio on monitor over HDMI/DP

Hello!
I have pipewire and wireplumber configured, but there is a little problem.

Here is the pipewire config:

λ › cat ~/.config/pipewire/pipewire.conf.d/10-samplerates.conf
context.properties = {
    default.clock.rate = 96000
    default.clock.allowed-rates = [ 44100, 48000, 88200, 96000 ]
}
λ ›                     

and wireplumber config

λ › cat ~/.config/wireplumber/wireplumber.conf.d/10-alsa-config.conf
monitor.alsa.rules = [
	{
		matches = [
			{
				node.name = "~alsa_output.*Qudelix.*"
			}
		],
		actions = {
			update-props = {
				audio.format = "S24LE",
				audio.rate = 96000
			}
		}
	},
	{
		matches = [
			{
				node.nick = "Mi Monitor"
			}
		],
		actions = {
			update-props = {
				# api.alsa.period-size = 4096
				# api.alsa.headroom = 16384
				audio.format = "24",
				audio.rate = 48000
			}
		}
	}
	{
		matches = [
			{
				node.nick = "SAMSUNG"
			}
		],
		actions = {
			update-props = {
				# api.alsa.period-size = 4096
				# api.alsa.headroom = 16384
				audio.format = "S24_LE",
				audio.rate = 48000
			}
		}
	}
}

I have AMD Ryzen 9 7900X and AMD 9060XT hooked up to 2 monitors - one over HDMI and one over DP and on both of them I get crackling audio defects.
There is no such effects on USB DAC or motherboard onboard audio. The effect does not depend on application. The youtube playback in firefox produces the same effects.
I tried the ` intel_iommu=igfx_off` kernel parameter but it didnt help. Also I tried to roll back to kernel v6.17.9 but it didnt help.
Right now I am on 6.19.6. Also I tried latest lts and zen kernels - didnt help.

I can not take it anymore - have tried all the things I could but no success.

While playing, for some reason the `pw-top` says that

S   ID  QUANT   RATE    WAIT    BUSY   W/Q   B/Q  ERR FORMAT           NAME
R   52   1024  96000  13.1us   6.6us  0.00  0.00    0    S32LE 2 48000 alsa_output.pci-0000_03_00.1.hdmi-stereo
R  117      0  96000   5.1us   3.3us  0.00  0.00    0   S24_32 2 96000  + mpd.Desktop audio

But in the config the hdmi-stereo is set to 24 bit depth, but pw-top says that it is signed 32bit little endian integer. And indeed, I have tried to boot windows and 2 monitors can get up to 24bit 48khz while sounding normal. No matter how i tried to set the depth to 24bit on linux - no luck.
I can set it to 16 bits but crackling persists.
Guys, what could it be? Post commands, I will provide their output if you need more clarification!

Update

I have noticed that if I keep the GPU busy with the heavy game or

$ gputest /test=fur

the crackling disappears completely! So this is got something to do with the GPU going into power saving mode(?).
God damn I wasted so many time on it cause I thought at the start that the mpd (music player daemon) was to blame  but it turns out as I was testing other audio sources like the youtube, and youtube in firefox were making the gpu busy and it sounded okay. Daaaamn... Now I don't know what to do - I want the GPU to be able to sleep without eating 50w for nothing but just playing music, but also I want maximal performance in games. Damn.

Update

Look what I found! An wall-of-text thread about this GPU issue: https://pcforum.amd.com/s/question/0D5K … to-correct

Last edited by Dolfost (Yesterday 20:40:03)

Offline

Board footer

Powered by FluxBB