Hi everyone,
I’m new to Fedora and this is my first post - translated with AI.
I recently switched from Windows and really enjoy using Fedora so far — but I ran into a confusing audio issue and wanted to understand what’s happening under the hood.
Please excuse me if I miss some Fedora customs, I’m still learning.
The Issue for my audio setup:
Using an AMD RX 6600 (Navi 23) GPU via HDMI to a Pioneer AV receiver, I noticed two problems:
- After pausing a video for ~10 seconds, the first 1–2 seconds of sound were missing when playback resumed.
- Occasionally, there were short random audio dropouts during playback, especially in Firefox and on YouTube (or other similar streaming sites).
On Windows, the exact same setup works without any gaps or delay.
It seems Fedora’s audio stack behaves differently:
- PipeWire and the AMD HDMI driver both stop sending audio frames during silence to save power?
- When playback resumes, the HDMI clock has to re-synchronize, which takes about two seconds.
- Additionally, the default PipeWire buffer size (quantum = 512–1024) is a bit too small for HDMI on this GPU, which can cause tiny underruns → audible dropouts.
So I went creative and solved the problems a bit shady, maybe there are better solutions:
Keep HDMI active with a silent audio stream
I created a long, silent WAV file and let VLC play it in the background on loop.
That keeps the HDMI audio clock alive — no delay when pausing or resuming videos:
- ffmpeg -f lavfi -i anullsrc=r=48000:cl=6 -t 10:00:00 -q:a 9 ~/.local/share/sounds/hdmi-silence.wav
cvlc --intf dummy --no-video --quiet --loop ~/.local/share/sounds/hdmi-silence.wav &
Increase PipeWire buffer size to stop small dropouts
Then I added this configuration:
~/.config/pipewire/client.conf.d/10-buffer.conf
context.properties = {
default.clock.rate = 48000
default.clock.allowed-rates = [ 44100 48000 ]
default.clock.quantum = 2048
default.clock.min-quantum = 1024
default.clock.max-quantum = 4096
}
After restarting PipeWire, HDMI audio became perfectly stable —
no more missing seconds after pause, no random glitches.
Is there a reason why Fedora / PipeWire don’t use a slightly larger buffer or a built-in keepalive stream for HDMI audio by default? It would make things feel much more seamless, similar to how Windows handles it.
Thanks a lot for reading, and sorry if this is a common topic — I’m still getting used to Fedora’s audio configuration and would love to understand the reasoning behind these defaults.
Best regards,
a new fedora user