Hi Nico, Peter,
On 6/24/20 8:50 PM, Nico Huber wrote:
On 24.06.20 15:25, Peter Stuge wrote:
Michal Zygowski wrote:
when VGA option rom is used, SeaBIOS finds the mode it fits the bootsplash resolution and bpp. Additionaly the display area is adjusted to cover whole screen, i.e. when using 1024x768 bootsplash on 1920x1080 screen the bootsplash covers whole screen,
Stretching the graphic e.g. from 4:3 to 16:9 as in your example makes it appear distorted - stretched wide, right? Is that really desirable?
If yes, you would have to implement a bitmap scaler in coreboot/libgfxinit.
As Nico mentioned below, it looks like a pillarbox. Imagine GRUB graphical menu which starts automatically at 800x600 as a tiny box inside this pillarbox. Even more weird. Yes it is stretched, but it doesn't look that awful. I am more concerned about this weird resolution switches. One will have different max resolution display and everything will fall apart and look differently. AFAIK libgfxinit reads out the display information (EDID right?) so it is possible to calculate the scalers. Peter could you elaborate a little bit more about the bitmap scalers? What would it take to implement that?
libgfxinit can have the hardware scale the image, but it won't stretch it. You can use
config LINEAR_FRAMEBUFFER_MAX_WIDTH and config LINEAR_FRAMEBUFFER_MAX_HEIGHT
to reduce the framebuffer resolution, then the image would be scaled to fit in height, but with a pillarbox.
Indeed this is what I have currently. I have limited the resolution with these options to fit the bootsplash.
Libgfxinit is very cool when one has a built-in display like in a laptop, then the max resolution may be the same all the time. However for desktops the user experience for desktops with varying display types, it is not that beautiful. Personally I don't care that much about it, because I can always rebuild the coreboot, set the framebuffer resolution I need for my display and set GRUB gfx resolution to match my display. However, the problem occurs when I would like to offer more open silicon initialization by getting rid of closed VGA option rom. Of course I also would like to preserve the user experience I had previously (or even better).
Best regards,