Screen flashes to black intermittently
Screen flashes to black intermittently on gnome desktop
Hardware description:
- CPU: Ryzen 5700X
- GPU: 7900XT
- System Memory: 32GB DDR4
- Display(s): Samsung Odyssey G7 LS28BG700EPXEN (Freesync enabled on OSD)
- Type of Display Connection: DP
System information:
- Distro name and Version: Debian Stable 12.5 with Gnome 43.9 and Wayland.
- Kernel version: 6.1
- AMD official driver version: Kernel Driver
How to reproduce the issue: moving or scrolling windows the screen flashes to black (i'll call it blanking from now on).
There's no blanking with Debian 12.5 (kernel 6.1) but the 7900XT draws 80W on idle with temps reaching 60ºcelsius just with a terminal window opened so i need to upgrade at least to 6.5 which just draws 10-20W on idle.
Compiled kernels 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.9 and 6.10
There isn't any blanking on 6.1, 6.2, 6.3, 6.4 and 6.5.
There is blanking on 6.6, 6.9 and 6.10.
So I compiled 6.5.1, 6.5.2 and 6.5.3
There isn't any blanking on 6.5.1 and 6.5.2.
There is blanking on 6.5.3
So i checked the changelog: https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.5.3 And found this:
commit 999ddaaad9774bdfd99eb8eaf474b88f9190418f Author: Wesley Chalmers Wesley.Chalmers@amd.com Date: Thu Nov 3 22:29:31 2022 -0400
drm/amd/display: Do not set drr on pipe commit [ Upstream commit 09c8cbedba5fa85f15ac91ed74848aceff69f8e5 ] [WHY] Writing to DRR registers such as OTG_V_TOTAL_MIN on the same frame as a pipe commit can cause underflow. [HOW] Move DMUB p-state delegate into optimze_bandwidth; enabling FAMS sets optimized_required. This change expects that Freesync requests are blocked when optimized_required is true. Fixes: 613a7956deb3 ("drm/amd/display: Add monitor specific edid quirk") Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Checked the code:
https://lore.kernel.org/lkml/20230724012118.2316073-1-sashal@kernel.org/
Manually modified those two files: drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
And i've just compiled 6.5.3 and 6.6.35: Linux phandeb 6.6.35 #1 (closed) SMP PREEMPT_DYNAMIC Sun Jun 23 20:59:15 CEST 2024 x86_64 GNU/Linux
There's no blanking with any of those 2 at +120hz and 4k.