Hi Michal,
On 25.06.20 10:56, Michal Zygowski wrote:
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.
that's one use case for below options. If you set them, the framebuffer resolution will not grow above that. It may be limited by a lower reso- lution display, but then a bootsplash wouldn't fit either. libgfxinit calculates scaling such that the aspect ratio is maintained. I guess you could patch that code out or we could make it optional if need be. But stretching an image doesn't feel right. You can also avoid/reduce the pillars by choosing a more modern aspect ratio, e.g. 1280x800?
config LINEAR_FRAMEBUFFER_MAX_WIDTH and config LINEAR_FRAMEBUFFER_MAX_HEIGHT
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).
If you want a full-legacy experience, I suggest to look into integrating libgfxinit into SeaVGABIOS. I never did, because I don't use any kind of legacy boot. Once you disabled all boot menus, it won't matter how they would look like (probably odd on my 24:10 screen).
There are also things that your programs could do better. GRUB for instance can be configured to use the full resolution. It's just its default configurations that expect to be able to switch to a random one. The 1980s clashing with 2020 ;)
Nico