kdb output is not visible when simpledrmdrmfb is used for fbconsole

mika <[email protected]> Thu, 28 Aug 2025 00:27:24 +0300
Newsgroups org.kernel.vger.linux-debuggers
Message-ID <[email protected]>
Hello. I'm using the latest kernel on a few x86_64 systems and I'm experiencing an issue. I want to see the KDB output on a monitor. When I use a real GPU driver such as nouveau, amdgpu or i915, or when I use EFI/VESA fbdev without any DRM driver - in all those cases I can see the debugger's output. But on some systems I really need to use simpledrm (CONFIG_DRM_SIMPLEDRM). And whenever I use it, the KDB output is not visible... Important detail: it all becomes visible after I blindly type 'go' and CPUs leave the kdb NMI handlers.
I tried to change kernel/debug/kdb/kdb_io.c like this (inspired by kernel/panic.c) around the 'c->write()' call:
                 ++oops_in_progress;
+                console_unblank();
                 c->write(c, msg, msg_len);
+                console_flush_on_panic(CONSOLE_FLUSH_PENDING);
                 --oops_in_progress;
But it didn't help, I also added a call to redraw_screen() function of the vt subsystem,but again, nothing changed :(.
I was also able to make sure that the control actually reaches 'c->write()' there ,and 'c' refers to the correct graphical console.
But I can't currently understand what happens there, and why specifically on simpledrm... I viewed vt, fbcon code, added debug printks in some places, edited ...,but none helped.
I believe that simpledrm specific code is under drivers/gpu/drm/sysfb/, but I haven't found anything insightful in it either.
What can be the problem? Thanks.