libgfxinit: Add options to limit framebuffer size

Add maximum width and height options and set the default to 2560x1600
(WQXGA). The framebuffer will be scaled up to the displays' native
resolutions. So this should help with tiny fonts on high-DPI displays.

For laptops, reasonable defaults can be set at the mainboard level.

Change-Id: I47fba063629260c3a2854caf7a73f1a1e933d063
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/30585
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Nico Huber 2019-01-01 22:28:47 +01:00 committed by Patrick Georgi
parent b567977075
commit 2bc892cf56
2 changed files with 22 additions and 2 deletions

View File

@ -445,6 +445,22 @@ config LINEAR_FRAMEBUFFER
def_bool y
depends on VBE_LINEAR_FRAMEBUFFER || GENERIC_LINEAR_FRAMEBUFFER
config LINEAR_FRAMEBUFFER_MAX_WIDTH
int "Maximum width in pixels"
depends on LINEAR_FRAMEBUFFER && MAINBOARD_USE_LIBGFXINIT
default 2560
help
Set the maximum width of the framebuffer. This may help with
default fonts too tiny for high-resolution displays.
config LINEAR_FRAMEBUFFER_MAX_HEIGHT
int "Maximum height in pixels"
depends on LINEAR_FRAMEBUFFER && MAINBOARD_USE_LIBGFXINIT
default 1600
help
Set the maximum height of the framebuffer. This may help with
default fonts too tiny for high-resolution displays.
endmenu # "Display"
config SMBUS_HAS_AUX_CHANNELS

View File

@ -1,3 +1,7 @@
with CB.Config;
use CB;
with HW.GFX;
with HW.GFX.Framebuffer_Filler;
with HW.GFX.GMA;
@ -60,8 +64,8 @@ is
success : boolean;
min_h : pos32 := pos32'last;
min_v : pos32 := pos32'last;
min_h : pos32 := Config.LINEAR_FRAMEBUFFER_MAX_WIDTH;
min_v : pos32 := Config.LINEAR_FRAMEBUFFER_MAX_HEIGHT;
begin
lightup_ok := 0;