Hi Am 18.02.22 um 11:08 schrieb Michal Suchánek: > 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? It was a 32-bit AthlonXP. So as legacy as it gets. > >> 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. I wonder if this fixes a few more of the complains we've seen about missing resolutions. > > 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. No doubt about that. Best regards Thomas > > Thanks > > Michal > >> >>> >>> Fixes: 11e8f5fd223b ("drm: Add simpledrm driver") >>> Signed-off-by: Michal Suchanek >>> --- >>> 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 -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev