Page MenuHomeFreeBSD

UEFI Loader: Ditch console mode setting, choose optimal GOP mode later in boot
ClosedPublic

Authored by kevans on Mar 21 2018, 7:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 29, 8:44 AM
Unknown Object (File)
Tue, Apr 23, 2:14 PM
Unknown Object (File)
Dec 26 2023, 1:22 PM
Unknown Object (File)
Dec 22 2023, 11:32 PM
Unknown Object (File)
Dec 8 2023, 6:55 AM
Unknown Object (File)
Dec 2 2023, 10:46 PM
Unknown Object (File)
Nov 23 2023, 4:56 PM
Unknown Object (File)
Sep 9 2023, 11:31 PM
Subscribers

Details

Summary

[Successor to D14769]

boot1 is too early to be decided a good resolution. Console modes don't map cleanly/predictably to actual screen resolutions, and GOP does not reflect the actual screen resolution after a console mode change. Rip it out.

Add an efi-autoresize command to loader to choose an optimal screen resolution based on the current environment. We'll explicitly execute this later, preferably before we draw anything of value but after we load config and pick up any tunables we may need to decide where we're going.

This method also allows us to actually pass the correct framebuffer information on to the kernel.

UGA autoresizing is not implemented because it doesn't have the kind of mode enumeration that GOP does. I would like to get my hands on someone with one of these devices and see if UGA actually reflects the current screen resolution after the console mode change- if so, UGA autoresizing will just pick the best console mode that results in the right screen resolution (as reported by UGA).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

manu added inline comments.
stand/efi/loader/framebuffer.c
505 ↗(On Diff #40562)

efi-autoresize isn't really explicit I think

This isn't completely unreasonable

This revision is now accepted and ready to land.Mar 21 2018, 7:29 PM
This revision was automatically updated to reflect the committed changes.