Implement graphics scaling support for high DPI displays #11981
mariobalanica
started this conversation in
Ideas
Replies: 1 comment
-
|
I've tried replacing the console font with Terminus Bold. Looks pretty good at 100%, 125%, 150% and 175% scaling on a 1080p screen. The plan is to support up to 500% (with one more fractional step at 250%) HII really wants The question remains: are we okay with using a different font for the graphics console? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment




Uh oh!
There was an error while loading. Please reload this page.
-
I've been meaning to look into implementing graphics scaling within EDK2 for high DPI displays and improved accessibility.
The general idea is having an
EDKII_DISPLAY_INFO_PROTOCOLsitting on top of eachEFI_GRAPHICS_OUTPUT_PROTOCOLhandle, which will provide the current logical display resolution and physical pixel mapping helpers to consumers such asGraphicsConsoleDxe. This protocol will be installed by a separate driver that can determine the preferred scaling factor based onEFI_EDID_ACTIVE_PROTOCOL(if available), native physical resolution or user choice (via HII configuration).This also gives the opportunity to drop the whole setup mode-setting logic copy-pasted throughout several built-in UI apps, which is limited to those particular apps and ends up looking less than ideal. Some GOP implementations don't even support modes lower than native.
Apart from the obvious necessary code changes in
BootLogoLibandGraphicsConsoleDxe, we also need larger bitmap assets for the platform logo and system font.For the platform logo, I believe the tianocore.org one would be fine.
For the font, well, here it gets tricky and I would really appreciate some input:
The 8x19
LaffStdfont is acceptable if we only support integer scaling (2x, 3x), but such factors can be overly large, e.g. in the case of a 14 inch 1080p panel. Maybe this isn't that big of a deal (and we also save some space on assets)?If we support fractional scaling,
LaffStdwould either need to be redesigned for those larger sizes in order to look reasonable (I do not have any plans for that) or simply replaced with another font. Terminus seems like a good alternative (somebody got it running in the graphics console before) and comes in various sizes to support 125%, 150% and 175% scaling. However, this is an 8x16 font, while the UEFI spec mandates an 8x19 system default font. So, we probably want to keepLaffStdaround as default, even if we won't be using it anymore?Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions