Hello, On Fri, Feb 18, 2022 at 10:57:33AM +0100, Thomas Zimmermann wrote: > Hi Michal > > Am 18.02.22 um 10:33 schrieb Michal Suchanek: > > Since switch to simpledrm VESA graphic modes are no longer available > > with legacy BIOS. > > > > The x86 realmode boot code enables the VESA graphic modes when option > > FB_BOOT_VESA_SUPPORT is enabled. > > > > To enable use of VESA modes with simpledrm in legacy BIOS boot mode drop > > dependency of BOOT_VESA_SUPPORT on FB, also drop the FB_ prefix, and > > select the option when simpledrm is built-in on x86. > > Thanks for sending the patch. > > I tested simpledrm on a VESA-based systems and it work. Do you have a In EFI or legacy mode? > concrete example of a mode that doesn't work any longer? As per discussion in https://bugzilla.opensuse.org/show_bug.cgi?id=1193250 vga=791 does not. Also it is clear examinig the realmode code that this option is needed to enable graphic mode selection. I don't have a system with legacy BIOS at hand but from user testing this improves the situation - kernel does not reeject the videomode argument, and simpledrm is initialized during boot. Thanks Michal > > > > > Fixes: 11e8f5fd223b ("drm: Add simpledrm driver") > > Signed-off-by: Michal Suchanek <msuchanek@xxxxxxx> > > --- > > arch/x86/boot/video-vesa.c | 4 ++-- > > drivers/gpu/drm/tiny/Kconfig | 1 + > > drivers/video/fbdev/Kconfig | 9 ++++----- > > 3 files changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/arch/x86/boot/video-vesa.c b/arch/x86/boot/video-vesa.c > > index 7e185977a984..c2c6d35e3a43 100644 > > --- a/arch/x86/boot/video-vesa.c > > +++ b/arch/x86/boot/video-vesa.c > > @@ -83,7 +83,7 @@ static int vesa_probe(void) > > (vminfo.memory_layout == 4 || > > vminfo.memory_layout == 6) && > > vminfo.memory_planes == 1) { > > -#ifdef CONFIG_FB_BOOT_VESA_SUPPORT > > +#ifdef CONFIG_BOOT_VESA_SUPPORT > > /* Graphics mode, color, linear frame buffer > > supported. Only register the mode if > > if framebuffer is configured, however, > > @@ -121,7 +121,7 @@ static int vesa_set_mode(struct mode_info *mode) > > if ((vminfo.mode_attr & 0x15) == 0x05) { > > /* It's a supported text mode */ > > is_graphic = 0; > > -#ifdef CONFIG_FB_BOOT_VESA_SUPPORT > > +#ifdef CONFIG_BOOT_VESA_SUPPORT > > } else if ((vminfo.mode_attr & 0x99) == 0x99) { > > /* It's a graphics mode with linear frame buffer */ > > is_graphic = 1; > > diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig > > index 712e0004e96e..1bc30c64ed15 100644 > > --- a/drivers/gpu/drm/tiny/Kconfig > > +++ b/drivers/gpu/drm/tiny/Kconfig > > @@ -54,6 +54,7 @@ config DRM_GM12U320 > > config DRM_SIMPLEDRM > > tristate "Simple framebuffer driver" > > depends on DRM && MMU > > + select BOOT_VESA_SUPPORT if X86 && DRM_SIMPLEDRM = y > > We shouldn't select this option in drivers IMHO. Simple-framebuffer devices > with VESA are enabled with [1] and that should also select the > BOOT_VESA_SUPPORT. Sounds ok to select from there, it should also cover simplefb then. Thanks Michal