[DCN32/7900XTX] re-enablement of windowed mpo odm support regresses overlay plane transitions in gamescope-session, introducing artifacts briefly on the primary plane
Brief summary of the problem:
This was discovered while debugging #3441 (closed) but I forgot to split it out into a separate issue after a successful bisect, apologies
When using the side menu to toggle the Mangohud overlay in gamescope-session (gamescope with -e
launched from a VT), the overlay transition triggered by the menu toggle briefly introduces corruption into the primary plane.
Bisected to: agd5f/linux@34241dc6
This commit introduces artifacting similar to the type that Vangogh presents in #3441 (closed) except it was a an easy bisect on DCN32 compraed to that specific issue, and the Melissa Wen patch here does not fix the issue: https://lore.kernel.org/amd-gfx/20240822131836.236644-1-mwen@igalia.com/. It remains unclear whether or not the bisected commit causes the same exact issue or a different issue that presents identically, but reverting the bisected commit makes this issue no longer happen on my 7900XTX.
Including several images below with /sys/kernel/debug/dri/0/amdgpu_dm_visual_confirm
used to provide additional context.
Hardware description:
- CPU: AMD Ryzen Threadripper 7970X
- GPU: [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8)
- System Memory: 62.29 GiB @ 6400mhz
- Display(s): Alienware AW3423DW OLED Monitor, 3440x1440p@175hz maximum with HDR
- Type of Display Connection: DisplayPort 1.4
System information:
- Distro name and Version: CachyOS
- Kernel version: 6.11.0-rc6
- Custom kernel: 6.11.0-rc6-1-git-00308-gb31c44928842
- AMD official driver version: N/A
How to reproduce the issue:
Pre-requisites:
- as new of a gamescope version as possible, preferably 3.15.0 or greater, and using either
gamescope -e -f -h 1440 -w 3440 -r 175 --mangoapp -- steam -steamdeck -steamos3 -steampal -gamepadui
or the upstreamgamescope-session
script from Valve's gamescope package directly for consistency. using a more readily accessible fork likegamescope-session-plus
is also an option for non-Arch testing and should not affect the viability of this test.
Repro steps in Hades 2:
- launch gamescope-session
- enter Hades 2 and wait until the game loads, then acknowledge the early access prompt
- toggle the mangohud overlay on and off repeatedly with the side menu once you're in the main menu
Attached files:
Screenshots/video files
Plane transition process on 6.11-rc6 with no reverts:
No overlay - note the position of the right side menu is behind the red line:
Toggling overlay on - very start of transition, note the position of the right side menu is now in front of the red line:
Overlay on - transition is complete, artifacts are gone, right side menu is still in front of the red line:
Plane transition process on 6.11-rc6 with agd5f/linux@34241dc6 reverted:
No overlay - note that the position of the ride side menu starts out in front of the red line:
Toggling overlay on - very start of transition, note the position of the right side menu is still in front of the red line:
Overlay on - note that the position of the ride side menu is still in front of the red line:
Log files (for system lockups / game freezes / crashes)
- Dmesg log (full log): dmesg.log
- drm_info can be captured via ssh during any overlay transition stage upon request