Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Flickering or constant solid white screen with kernel >=6.1.4 w/ 64GB+ RAM
After upgrading to kernel 6.1.4 or later I get either a strong flickering white screen or solid. Some details:
Occurs after logging into Gnome, but not at the login screen
Sometimes the full display is constant solid white and sometimes it flickers solid white several times a second
When solid white, cursor is still visible and moveable
No sign of processes crashing or kernel backtrace in logs
Occurs with both Wayland and X11 sessions
After going through the patchset in 6.1.4 and testing while reverting, I was able to locate the commit that introduced the issue: drm/amdgpu: make display pinning more flexible (v2) . Reverting the commit eliminates the issue all the way through to 6.1.6 .
I can confirm that reverting the commit as stated in this issue fixes the all white and flickering white screen issues I've had with the same kernel versions, currently running 6.1.8 with the mentioned commit reverted and the display works again.
CPU: AMD Ryzen 7 6800H with Radeon Graphics (16) @ 3.200GHzGPU: AMD ATI Radeon RX 6700/6700 XT/6750 XT / 6800MGPU: AMD ATI Radeon 680M
You will need a kernel with CONFIG_DEBUG_FS enabled, however it seems like most distro kernels have that enabled by default so hopefully it isn't too much of a bother. Also, if the display is completely unusable after reproducing the issue, you can collect the output via ssh (assuming it is setup).
6.2.1 seemed to make matters a lot worse, before (6.1.4+) I needed to wait for display timeout before I ever saw any white screen with mouse issues. With 6.2.0 and 1 after logging in through gdm I immediately had a completely unusuable desktop :( However after installing the latest linux-firmware from kernel.org everything seems just fine ... I did notice however that anything above 60hz is no longer available. Before I was running my LG C1 @ 4K 120hz, on patched and later fixed 6.1.x.
I'm seeing the same issue with 6.1.18 on Ryzen 6900HX, 64Gb, laptop screen.
System might start without flicker but if display settings are changed or after sleep it either start flickering or just present solid white screen.
Thanks! Updating to 6.2.7 and with amdgpu.sg_display=0 in kernel options seem to do the trick and I do not get white screen flicker anymore. This also removed a number of visual artifacts which were present in KDE 5.27 wayland session even without fullscreen flicker.
Running 6.1.3 on my Arch Linux since a while because of this bug, today I took the time to bisect to find "drm/amdgpu: make display pinning more flexible (v2)" at fault. I am using a AMD Ryzen 9 7950X, internal GPU connected to Dell UltraSharp U4919DW.
Reverting that commit on v6.2.9 still fixes the problem.
Let me know if testing of a patch is required. Would be nice if I can use pre-built kernels again
Can those impacted by the S/G mode issue (i.e. setting amdgpu.sg_display=0 fixes the issue for you) please try the attached patch and see if it resolves the issue for you (Note: you must enable S/G mode by setting amdgpu.sg_display=1 or removing the entry from your kernel command line, for it to make sense to test).
I can confirm that it looks like the patch has fixed the issue for me also on 6.2.10. Would be nice, since I observed a loy of graphical glitches with amd sg off .... However it always takes some time before the issue occurs over here (amd ryzen 9 7950x igp and 64GB of 4800MT DDR5). From what I experineced so far it seems it mostly occurs after some extended display off time and resume gnome session afterwards. Display turns completely white, mouse is still visible.
@effective-light , I did a quick test, and the patch seems to fix the flickering for me (6.2.10). I'll continue testing and report back if there are any issues.
@effective-light I can confirm that the patch fixes the issue for me on 6.3.0-rc5. I did run into an edge case with two monitors attached to the iGPU: I have GDM set up to only show up on monitor 1 and the user configuration on 1 + 2. I did get a solid white screen on monitor 2 once (but not on monitor 1), but telling mutter to disable and enable monitor 2 works around it.
After some testing this patch works well for the monitor enablement case.
I still encountered a minor defect where if after a display is enabled and the WM automatically moves a window to it as full-screen, the screen may still flicker. In this case resizing the window does eliminate the problem, so it's quite minor.
@effective-light same here: The patch fixes it on my AMD Ryzen 7950X with internnal GPU using 6.2.10 with this patch, amdgpu.sg_display not set in kernel command line.
After one week of use of the first patch I observed similar issues as @jb044 did: After the system/monitor goes into sleep, it sometimes wakes up with a blank white screen. I wasn't able to recover from this situation.
However, during regular use, I never experienced the problem again, so the patch definitely helps during regular runtime.
This got me confused also and I ended up applying his updated patch :) Only to find a white screen upon reboot ... but strangely not on extended use of my AMD Ryzen 7950X pc.
Your patch does not apply on 6.2.11 though, guess this is intentional? ATM I use the kernel-ml source packages from elrepo on AlmaLinux 9.1.
@effective-light yes, in the last test I applied both in the same build. But that suffered from the same issue as the first patch: When the screen goes to sleep, it sometimes wakes up with a white screen. At runtime I don't see any flickers with both patches applied.
@effective-light I've applied the patch you linked (or rather a backported version of it 0001-drm-amd-display-fix-flickering-caused-by-S-G-mode.patch) ontop of v6.2.11 directly. Just running desktop worked pretty well, but when the screen went into standby I see the white screen again. This time the mouse pointer was still working, but otherwise the screen stays white. Also when switching between consoles (Ctrl+Alt+F3 back to Ctrl+Alt+F2), for a very brief moment the actual desktop shows up.
I'm running your back ported patch atm and haven't seen a single white screen so far. Only when I reboot the pc and Almalinux returns to gdm breefly before closing down I still see the white screen with a small black mouse pointer (gnome runs in hiDPI mode) before the system enters POST again. Not ideal but works for me comparing to having to reboot quite often just to be able to do something
I do see often glitches on the desktop though. Random artifacts of running apps on top of others. Running gnome as wayland session. Not sure if this is related to this problem.
I do see a lot more white screens when returning from display standy when the iGPU is under load. For example by running a podman container that uses vulcan to offload computations to the gpu. In this case by upscaling a video file.
@agners@jb044 by standby are you referring to DPMS or s2idle/S0ix? Also, if you are able to reproduce the standby issue even with amdgpu.sg_display=0 set, I would suggest opening a new issue to track that defect.
With standby I mean the "Screen Blank" setting in "Power Saving Options" of Gnome 43, which I think is DPMS.
With amdgpu.sg_display=0 set or "drm/amdgpu: make display pinning more flexible (v2)" reverted the screen comes back just fine every time it goes blank. So this issue is related.
FWIW, I did not notice correlation with load. What I did notice is that with the patch 0001-drm-amd-display-fix-flickering-caused-by-S-G-mode.patch the issue happens just much much less frequent. The most reliable way to trigger it is the screen blanking.
What @agners says: with the patch I see some white screens, lately mostly when switching from Gnome Wayland to gdm before reboot. But then I noticed that I've been experimenting with vulkan driven computing software on the AMD iGPU, and hadden't done that for a while. If I do this and the iGPU is on 100% load for extended time, I see frequent white screens when the display returns on after DPMS powersafe. With amdgpu.sg_display=0 I haven't seen a single white screen. With both I do see frequent glitches in display rendering (parts of apps blinking or form what it looks parts of other apps displayed over the current app briefly), but I don't know if this is related to this problem.
@jb044@agners do you see a difference in behavior between wayland and X11 for the standby issue? It might also be worthwhile to try disabling DCC (the easiest way to do that would be to add AMD_DEBUG=nodcc to /etc/environment, note it will require a reboot).
Was kind of busy lately, but will try and report back. FYI: 6.3 is no option as of yet because I use openzfs now, which doesn't support 6.3 yet. So still on 6.2.12.
With AMD_DEBUG=nodcc and amdgpu.sg_display=1 both Wayland and X11 sessions suffer from the problem. It still looks like iGPU load is part of the problem, at least on my system: Asus Prime X690-P and AMD 7950X CPU/iGPU. I can quickly reproduce it by triggering high load on the iGPU and suspend and then resume my PC. This is both in a Gnome Wayland session (my OSes default) and in a Gnome X11 session.
The only way so far to completely fix it is by adding amdgpu.sg_display=0 to the kernel boot params.
0001-drm-amd-display-fix-flickering-caused-by-S-G-mode.patch appeared to work; monitor could be powercycled and rendering was fine
v2-drm-amd-display-fix-flickering-caused-by-S-G-mode.patch did not appear to address the issue
Booting with that kernel command line doesn't boot for me: The system gets stuck at a point where it usually switches to a higher display resolution (presumably before switching to amdgpu from the EFI framebuffer?).
I have been using amdgpu.sg_display=0 which works well for 680M. Without it, 6.2 through 6.3-rc7 show a white screen while playing full screen videos in the browser (e.g., youtube). I can reproduce this with multiple browsers (chromium, firefox, chrome). So, this covers both vaapi and the non-vaapi path.
I've applied 40ac6cad52a969db30fd3e079f4886c41eadbb28 on linux 6.3 and it looks like it fixed a very annoying issue I was having while playing video accelerated videos on Chrome (Youtube), which is really good news.
The issue was that during video playback sometimes the image flickered between two different frames quickly or freezed until the next keyframe "cleared" it, which means every minute or so into a video the image went bad for a few seconds until the next keyframe.
I've played a few videos after applying the patch and so far it's good.
Specs:
OS: Arch Linux x86_64Kernel: 6.3.0-1-mainline-git-12049-g58DE: GNOME 43.5 (Wayland)CPU: AMD Ryzen 7 PRO 6850U with RadeonGPU: AMD ATI Radeon 680M
@nicolas.frenay the video stutter issue is likely different from S/G issues. The video stutter primarily affects vp9 videos. I've had that from before the S/G regressions. You are likely seeing mesa/mesa#8044 (closed)
Even on 6.4 rc1 on Fedora rawhide, I have the issue that full screen videos in the browser lead to a white screen. This is on hp 845 g9 with 680M and 64 GB RAM. So sg_display=0 continues to be necessary.
I also experience a white screen after login on an AMD Ryzen 9 7950X on a ASRock X670E Steel Legend using the built in GPU. This happened after I upgraded from Ubuntu 22.? to 23.04 with kernel 6.2.0-20-generic (and earlier kernel versions for that Ubuntu version, but I didn't keep track). I do not experience flickering.
Tried with two different monitors (not at the same time), currently on a LG 27UP85NP-W.
amdgpu.sg_display=0 fixes it. Output from sudo cat /sys/kernel/debug/dri/0/amdgpu_dm_dtn_log from before I set that: debug.txt
I experienced screen flickering to white (with only mouse cursor visible and movable) after upgrade from ubuntu 22.10 to 23.04 using 2 HP Z24i (at 60Hz as far as i could tell), Ryzen 7 7700X, Asus TUF GAMING B650-PLUS, 2x32GB Kingston KF548C38-32 with kernel 6.2.0-23-generic.
adding amdgpu.sg_display=0 to GRUB_CMDLINE_LINUX_DEFAULT, updating grub and rebooting fixed it.
Am also experiencing this issue, I have attached a video below. The laptop is HP 845 g9. Scrolling through this page shows me other folks with the same CPU and on-board GPU, even if it's a different laptop brand. Mine is AMD Ryzen 7 6800U with Radeon 680M integrated graphics. If it matters, I have 64gb RAM. I have multiple OS's installed and a quick Google search of the symptoms led me here. I have not witnessed this issue on Windows 10 or Windows 11. I also have Debian 12 installed, and am not able to reproduce while using XFCE. I am able to reproduce on Debian 12 with Gnome. I have also installed Debian 12 with Gnome from scratch on another laptop (with identical specs) and reproduced the issue. I am able to reproduce in Chrome, in Firefox, and in VLC. I am also seeing it occasionally happen when the laptop wakes from sleep (with no video programs or browsers running), and I'm unable to see/do anything on the screen while on the lock-screen so the only path forward is to force-power-off. Based on these results, I am confident that the root cause relates to Gnome.
I modified my etc/default/grub file and added amdgpu.sg_display=0 and updated grub and rebooted and the issue still happens. Going to remove one of my 32gb ram sticks and see what happens.
Note about video: when pressing f to full screen the YouTube video, the white flickering only starts after the message "press ESC to exit full screen" at the top fades away. Also, apologies about the potato quality. VID_20230702_020957