AMDGPU HDMI Audio Fade In and Out in Gamescope Session

This is an old issue Ive never found a fix for. At present strange audio behavior happens on all 3 of my bazzite systems which all run AMD GPUs and deliver audio over the HDMI connection when in gamescope mode. All 3 systems are running 6XXX GPUs. Problem Description: When audio is playing from a movie or game it will intermittently fade / get quieter and then recover when in gamescope mode. Audio never seems to entirely drop out, but instead intermittently sound as if your listening under water for a second or two and then back to normal. All my searches over the last year have pointed to stuttering or drop out, but Im not sure that is what Im experiencing and the fixes have never mitigated this. Unsure where the problem lies or how to address, but it is present on each of my 3 HTPCs running gamescope sessions and AMD 6x series GPUs experience this. Has anyone else encountered this and does anyone know of a proper fix? It is unclear if the issue lies with pipewire/wireplumber or AMDGPUs Audio driver or with gamescope itself. Any help is appreciated.
Solution:
For clarity the overrides I currently have set in the ~/.config/environment.d/gamescope-session.conf are: ```# Size of the screen. If not set gamescope will detect native resolution from drm. SCREEN_HEIGHT=2160 SCREEN_WIDTH=3840 ...
Jump to solution
4 Replies
©TriMoon™
©TriMoon™•4mo ago
Interesting problem indeed... Do you happen to also have a phone connected wirelessly? IIRC, when a phone produces sound, the sound from other devices is "dimmed", which might be the cause? 🤔
Xipher
Xipher•4mo ago
Thank you for responding. No phone is connected. I think I found the issue. When I built a custom Arch build to run SteamOS / Gamescope-session early last year I set some overrides in the user gamescope-session.conf. Was playing around with one of the Bazzite systems this morning and noticed that I was still enabling pipewire-dmabuf . After disabling this the Bazzite systems audio seems to be behaving as I would expect. As I remember, enabling this buffer was required to get audio working on a MiniPC with a wonky DSP (Which is where I was building the Arch image at the time), but that change had propagated to my general confs... which I've used on all my systems. Ill keep this question open, but right now it seems this issue was largely self inflicted.
Solution
Xipher
Xipher•4mo ago
For clarity the overrides I currently have set in the ~/.config/environment.d/gamescope-session.conf are:
# Size of the screen. If not set gamescope will detect native resolution from drm.
SCREEN_HEIGHT=2160
SCREEN_WIDTH=3840

# Override entire Steam client command line
STEAMCMD="steam \
-gamepadui \
-steamos3"
#-pipewire-dmabuf"


# Override the entire Gamescope command line
GAMESCOPECMD="/usr/bin/gamescope \
$CURSOR \
-e \
$RESOLUTION \
--xwayland-count 2 \
--adaptive-sync \
-O *,eDP-1 \
--hdr-enabled \
--hdr-sdr-content-nits=400 \
--hdr-itm-enable \
--hdr-itm-target-nits 1000 \
--default-touch-mode 4 \
--hide-cursor-delay 3000 \
--fade-out-duration 200 \
-R $socket -T $stats"
# Size of the screen. If not set gamescope will detect native resolution from drm.
SCREEN_HEIGHT=2160
SCREEN_WIDTH=3840

# Override entire Steam client command line
STEAMCMD="steam \
-gamepadui \
-steamos3"
#-pipewire-dmabuf"


# Override the entire Gamescope command line
GAMESCOPECMD="/usr/bin/gamescope \
$CURSOR \
-e \
$RESOLUTION \
--xwayland-count 2 \
--adaptive-sync \
-O *,eDP-1 \
--hdr-enabled \
--hdr-sdr-content-nits=400 \
--hdr-itm-enable \
--hdr-itm-target-nits 1000 \
--default-touch-mode 4 \
--hide-cursor-delay 3000 \
--fade-out-duration 200 \
-R $socket -T $stats"
Xipher
Xipher•4mo ago
As you can see Ive disabled the -pipewire-dmaduf SteamCMD option for the time being.