Screen freezes, goes black, comes back but is frozen

I am having an issue where my screen(s) will go black, then a moment later come back. It only happens under very low load. I can keep typing, usually, to the point I can press F12 and type reboot and it will reboot, but the screen is frozen.

So, if I keep a game running 24/7 it never crashes, but if I am just typing in Discord or AFK the computer can just go toes up at any point (there is no seeming pattern to the issue).

What’s my best bet for catching this in the act? Xorg logs roll over when I reboot, so what should I be looking for before I do reboot? I can usually Ctrl+Alt+F2 to get to a terminal. What commands should I be ready to run to catch this issue? Obviously I should look at the Xorg.0.log in /var/log, but what else? Can I increase the level of what’s being logged? Is there a way to trace the driver in case it’s crashing?

I do see an drmmode_do_crtc_dpms cannot get last vblank counter event message that seems to correlate with the screen going black. I use VRR so VSYNC is totally irrelevant to me, can you turn it off altogether in Xorg?

Host: telperion Kernel: 5.15.7-1-MANJARO x86_64 bits: 64
Desktop: KDE Plasma 5.23.4 Distro: Manjaro Linux
Type: Desktop System: Gigabyte product: X570 AORUS ULTRA v: -CF
Mobo: Gigabyte model: X570 AORUS ULTRA v: x.x
serial: UEFI: American Megatrends v: F32
date: 01/18/2021
Info: 8-core AMD Ryzen 7 3700X [MT MCP] speed (MHz): avg: 2410
min/max: 2200/4426
Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT / 6800M] driver: amdgpu
v: kernel
Display: x11 server: X.Org driver: loaded: amdgpu,ati
unloaded: modesetting,radeon resolution: 1: 3440x1440~75Hz
2: 1920x1080~120Hz
OpenGL: renderer: AMD Radeon RX 6700 XT (NAVY_FLOUNDER DRM 3.42.0
5.15.7-1-MANJARO LLVM 13.0.0)
v: 4.6 Mesa 21.2.5
Device-1: Intel I211 Gigabit Network driver: igb
Local Storage: total: 10.7 TiB used: 8.92 TiB (83.4%)
Processes: 379 Uptime: 7m Memory: 62.81 GiB used: 7.52 GiB (12.0%)
Shell: Zsh inxi: 3.3.11

Hi @outsidefactor,

You can use this :point_down: to get the errors of the previous session:

sudo journalctl --boot=-1 --priority=3

Or you can use this :point_down: to simply get all the logs from the previous session:

sudo journalctl --boot=-1

From the previous session means you don’t have to type and diagnose it in TTY. You can simply reboot and use the commands as is in a new session to get the previous session’s logs.

Hope this helps!

Thanks for those commands.

Any suggestions about the actual problem?

That drmmode_do_crtc_dpms cannot get last vblank counter error seems to crop up in a lot of different situations.

1 Like