Is drm_log the intended replacement for fbcon? It needs console=drm_log0 and loglevel=7 to show anything (7.3.0, amdgpu)
flat view
From: Guilherme Bember Duarte <hidden>
Date: 2026-11-02 00:25:54
Hi, I've been trying to run a kernel without fbcon, with drm_log for boot output and kmscon as the userspace console. Before I go further, I'd like to ask where this is heading: 1. Is fbcon (and fbdev emulation) planned to be deprecated? 2. If so, is drm_log the intended in-kernel replacement for its boot output, with the terminal left to userspace? 3. If that's the plan, why does drm_log need so much setup to work? Right now it doesn't behave like something meant to replace fbcon. What I found (7.3.0, amdgpu RX 6600, one DP monitor, CONFIG_FRAMEBUFFER_CONSOLE and DRM_FBDEV_EMULATION off, CONFIG_DRM_CLIENT_LOG=y and DEFAULT="log"): - console=tty0 loglevel=7 -> no video - console=tty0 console=drm_log0 loglevel=3 -> no video - console=tty0 console=drm_log0 loglevel=7 -> video, and kmscon takes over cleanly Why, as far as I can tell: - Without console=drm_log0 the console is registered but never enabled (flags 0x101, no CON_ENABLED; with the argument it is 0x107). tty0 is already first in the console list and has a tty binding, so register_console() doesn't enable drm_log by default. I saw this was discussed in the v9 drm_log thread in Dec 2024. The Kconfig help for DRM_CLIENT_LOG says nothing about console=, so a user gets a dark screen and no message. - Even once enabled, drm_log_init_client() only runs when the first record passes the console loglevel (it's called from drm_log_write_thread()). With a normal loglevel the screen stays dark. Needing loglevel=7 to get a display at all seems like a poor requirement for a boot display, and it is not documented anywhere I could find. If drm_log is meant to replace fbcon, at least for boot information before userspace handoff, I think it should light the display at boot without extra command line arguments and without depending on the loglevel, for example by doing the first probe and commit when the client registers, or on the first hotplug. If it is only meant as a debugging aid, as its DOC comment says, then a kernel without fbcon has no supported way to get a boot display, and I'd like to know that too. Thanks, Guilherme B.