Paul Kocialkowski wrote:
I am wondering what the best way to solve this would be.
..
- Having larger fonts for hi-dpi displays
This should be the top priority, because it provides the best user experience. (Ie. it looks the best.)
- Scaling the font to reach a particular DPI (e.g. based on the physical screen size reported from the EDID)
This is a great fallback solution which will make sure that a font is *always* available. As others wrote, upscale only once during init. If upscaling fails for whatever reason, fallback to the fallback is to simply use the 8x16 font as-is. Better small text than no text.
- Reducing the resolution, by optionally providing a preferred one from the config
I consider this an unacceptable alternative. Not only is it unreliable (it may not always work) but even more importantly it is likely to provide a worse user experience (uglier scaling) than upscaling the font, when the panel driver does scaling at all, otherwise the result will be as Patrick described; black border around small part of panel.
Among these, which ones do you think is the way to go?
Panels only have one native resolution, and that one is what they are optimized for. It's a bad idea to try to use anything else. Use hardware the way it was optimized for to get the best possible user experience - "less than best possible user experience" isn't a great goal.
I think the question is also whether we want a generic way to handle this
Yes, please. This is not unique to any device, but has been a generic problem since the VGA BIOS was invented.
//Peter