On Tue, Sep 12, 2023, at 09:14, Geert Uytterhoeven wrote: > On Mon, Sep 11, 2023 at 10:53 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: >> --- a/drivers/gpu/drm/Kconfig >> +++ b/drivers/gpu/drm/Kconfig >> @@ -135,7 +135,7 @@ config DRM_FBDEV_EMULATION >> bool "Enable legacy fbdev support for your modesetting driver" >> depends on DRM >> select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE >> - default y >> + default FB > > While this is true for existing configs, it is no longer true in general, > as DRM_FBDEV_EMULATION is no longer related to FB. I think it still makes some sense though, as configs that have both DRM and FB enabled almost certainly want this enabled. >> diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig >> index b575cf54174af..83c2d7329ca58 100644 >> --- a/drivers/video/console/Kconfig >> +++ b/drivers/video/console/Kconfig >> @@ -74,6 +74,7 @@ config DUMMY_CONSOLE_ROWS >> config FRAMEBUFFER_CONSOLE >> bool "Framebuffer Console support" >> depends on FB_CORE && !UML >> + default DRM_FBDEV_EMULATION > > Sounds good to me, although it looks a bit strange at first sight > (FRAMEBUFFER_CONSOLE defaults to n on a system with real fbdev, but > y on emulated fbdev?). > So this is the fix for commit a5ae331edb02b ("drm: Drop select > FRAMEBUFFER_CONSOLE for DRM_FBDEV_EMULATION"). Correct, this should restore the console on configs that accidentally lost it. The real problem here is much older, the assymetry between framebuffer-only configs (with console default off) and DRM configs (with console selected unconditionally) started back in 2009 with commit 6fcefd56f5060 ("drm/kms: fix kms helper license + Kconfig"). I think that was a mistake, but there is little we can do to fix that now without breaking users. The only alternative I can think of would be to default-enable or force-enable FRAMEBUFFER_CONSOLE for any config that includes both VT_CONSOLE and FB_CORE. This would increase defconfig builds for systems that currently only want CONFIG_FB for either FB_DEVICE or LOGO but don't care about FRAMEBUFFER_CONSOLE. I have no idea who uses such a config, but I think Javier previously said this was an important use case. >> diff --git a/drivers/video/fbdev/core/Kconfig b/drivers/video/fbdev/core/Kconfig >> index 114cb8aa6c8fd..804c2bec9b43c 100644 >> --- a/drivers/video/fbdev/core/Kconfig >> +++ b/drivers/video/fbdev/core/Kconfig >> @@ -28,7 +28,7 @@ config FIRMWARE_EDID >> config FB_DEVICE >> bool "Provide legacy /dev/fb* device" >> depends on FB_CORE >> - default y >> + default FB > > Changing this means possibly causing regressions on systems running > an fbdev userspace. How? FB_DEVICE is a new config that was just split out from CONFIG_FB in 6.6-rc1, so nobody should have any defconfig that disables CONFIG_FB but relies on the FB_DEVICE default yet. Arnd