Hi all, I have recently attempted to install OpenBSD on QEMU, using UEFI boot and OVMF/TianoCore. I configured OVMF to have a resolution of 1440x900, which mapped to GOP mode 18.
boot(8) kept this resolution. When booting, efifb then uses the largest possible resolution that is exposed by the QEMU "std" video driver via OVMF, which is a very high resolution that is at most appropriate for people equipped with 4K monitors. I can override this with machine gop 18 (or whatever resolution is desired). I have traced this back to sys/arch/amd64/stand/efiboot/efiboot.c lines 855-868: When no GOP mode is specified, gopmode == -1. In this case, the code probes for the largest possible resolution available and sets it as the resolution passed on boot. The machine gop 18 command forces the gopmode variable and bypasses this auto-detection. However, I do not understand the reason that this auto-detection code was added for. Why is the GOP mode forwarded from UEFI not used directly? Why bother with finding the greatest possible resolution and then using that? Isn't it the job of UEFI to find this out for you? Thank you for your time. Apologies if this was already answered on the mailing lists and I failed to find the pertinent conversation(s). Cheers, Mark 'pandame' Rogers

