Re: Linux >= 5.14.12 and 5.15-rc5 fail to show anything on the screen with CONFIG_DRM_SIMPLEDRM=y

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 22.10.21 um 14:15 schrieb Artem S. Tashkinov:
Hello,

Kernel 5.14.12 introduced this change, git commit
ec7cc3f74b4236860ce612656aa5be7936d1c594:

--- a/linux-5.14.11/drivers/video/fbdev/Kconfig
+++ b/linux-5.14.12/drivers/video/fbdev/Kconfig
@@ -2191,8 +2191,9 @@ config FB_HYPERV
       This framebuffer driver supports Microsoft Hyper-V Synthetic Video.

  config FB_SIMPLE
-   bool "Simple framebuffer support"
-   depends on (FB = y) && !DRM_SIMPLEDRM
+   tristate "Simple framebuffer support"
+   depends on FB
+   depends on !DRM_SIMPLEDRM
     select FB_CFB_FILLRECT
     select FB_CFB_COPYAREA
     select FB_CFB_IMAGEBLIT


However if you enable CONFIG_DRM_SIMPLEDRM=y along with it, the system
will show a black screen on boot while logging these messages:

[drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on
minor 0
simple-framebuffer simple-framebuffer.0: [drm] *ERROR* fbdev: Failed to
setup generic emulation (ret=-22)
fbcon: Taking over console


When CONFIG_DRM_SIMPLEDRM is disabled it proceeds to boot normally:

simple-framebuffer simple-framebuffer.0: framebuffer at 0xe1000000,
0x300000 bytes
simple-framebuffer simple-framebuffer.0: format=a8r8g8b8,
mode=1024x768x32, linelength=4096
fbcon: Deferring console take-over
simple-framebuffer simple-framebuffer.0: fb0: simplefb registered!


This is discussed here: https://bugzilla.kernel.org/show_bug.cgi?id=214723

I really don't know what to make of it but I definitely don't like this
situation.

You might need commit b693e42921e0 ("drm/fbdev: Clamp fbdev surface size if too large"), which is only in -rc6.

Alternatively, make sure that fbdev overallocation has been disabled. The config that is attached to that bug report indicate that it's enabled.

  CONFIG_DRM_FBDEV_OVERALLOC=300

Temporarily set this value to 100 for now.

Sorry for any problems with simpledrm. It's still new and we're fixing the bug that it exposes.

BTW, you also have to make your bootloader pass the graphics mode to Linux. (GRUB_GFXPAYLOAD_LINUX="keep" for GRUB [1]).

Best regards
Thomas

[1] https://www.gnu.org/software/grub/manual/grub/html_node/gfxpayload.html



Best regards,
Artem

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux