Topics

Resolution and graphical issues with OVMF firmware and MacOS?

victorhooi@...
 

Hi,

I'm following this guide:

https://www.nicksherlock.com/2019/10/installing-macos-catalina-10-15-on-proxmox-6/

in order to install MacOS on a Proxmox system.

However, there appears to be a bug in the OVMF firmware - where you need to go into the OVMF Platform configuration, and set the resolution again on *every* boot in order to get it to boot.

Follow the steps above to set the screen resolution to 1920×1080, press F10 to save your changes, and “reset” to apply the new settings (not “continue”). This step is required to avoid scrambled graphics on boot and a hang (Clover resolution must match OVMF resolution, or else the Apple logo will be off-centre and the progress bar will be smeared across the screen, resulting in a lockup).
Note that in future you’ll find that when initially started, your VM doesn’t properly apply the the 1920×1080 screen resolution until you hit “Restart Computer” in Clover when the Clover menu appears (or “Reset” on the VM). You’ll notice this happening when the “Proxmox” logo fills a large area of the screen on boot due to the low resolution.
If you don't - you will get scrambled graphics when you boot up.

Is there some way of fixing this in the OVMF firmware itself?

Thanks,
Victor

Laszlo Ersek
 

On 03/24/20 14:49, victorhooi via Groups.Io wrote:
Hi,

I'm following this guide:

https://www.nicksherlock.com/2019/10/installing-macos-catalina-10-15-on-proxmox-6/

in order to install MacOS on a Proxmox system.

However, there appears to be a bug in the OVMF firmware - where you need to go into the OVMF Platform configuration, and set the resolution again on *every* boot in order to get it to boot.

Follow the steps above to set the screen resolution to 1920×1080, press F10 to save your changes, and “reset” to apply the new settings (not “continue”). This step is required to avoid scrambled graphics on boot and a hang (Clover resolution must match OVMF resolution, or else the Apple logo will be off-centre and the progress bar will be smeared across the screen, resulting in a lockup).
Note that in future you’ll find that when initially started, your VM doesn’t properly apply the the 1920×1080 screen resolution until you hit “Restart Computer” in Clover when the Clover menu appears (or “Reset” on the VM). You’ll notice this happening when the “Proxmox” logo fills a large area of the screen on boot due to the low resolution.
If you don't - you will get scrambled graphics when you boot up.

Is there some way of fixing this in the OVMF firmware itself?
Please talk to the Proxmox developers and/or the author of the guide you
linked above. There is no bug in OVMF in the area you mention -- it
works just fine on QEMU, using pflash for backing the UEFI variable
store. I don't know why the 1920x1080 screen resolution doesn't "stick"
for you, using proxmox; the resolution certainly sticks when
non-volatile UEFI variables are actually non-volatile.

Thanks
Laszlo

n.sherlock@...
 

The issue has been somewhat lost in translation here. The screen resolution is remembered just fine by OVMF.

The symptom is that OVMF doesn't yet apply the chosen resolution (1920x1080) on the boot logo screen, it stays in the low resolution default (800x600?). You can see this by the large size of the Proxmox boot logo on the screen (where the Tianocore logo would normally be):

https://i.imgur.com/NL9QlKv.png

Then when macOS boots, it looks like it thinks the framebuffer is only 800x600, but it has actually been resized to 1920x1080 by the Clover bootloader. This causes the Apple logo to appear at the top left corner of the framebuffer, and macOS fails to boot:

https://i.imgur.com/kuq9KqI.png

However, if you hit F2 during boot to enter OVMF, and simply hit "Reset", the 1920x1080 chosen resolution gets correctly applied to the boot logo screen:

https://i.imgur.com/CnL6df2.png

And now the size that macOS thinks the framebuffer is matches with the actual resolution, the Apple logo is correctly centred, and boot proceeds normally:

https://i.imgur.com/HvdoDml.png

Can you reproduce this quirk with the resolution of the boot logo screen?

Cheers,
Nicholas Sherlock

Laszlo Ersek
 

On 03/26/20 22:43, n.sherlock@... wrote:
The issue has been somewhat lost in translation here. The screen
resolution is remembered just fine by OVMF.

The symptom is that OVMF doesn't yet apply the chosen resolution
(1920x1080) on the boot logo screen, it stays in the low resolution
default (800x600?). You can see this by the large size of the Proxmox
boot logo on the screen (where the Tianocore logo would normally be):

https://i.imgur.com/NL9QlKv.png

Then when macOS boots, it looks like it thinks the framebuffer is only
800x600, but it has actually been resized to 1920x1080 by the Clover
bootloader. This causes the Apple logo to appear at the top left
corner of the framebuffer, and macOS fails to boot:

https://i.imgur.com/kuq9KqI.png

However, if you hit F2 during boot to enter OVMF, and simply hit
"Reset", the 1920x1080 chosen resolution gets correctly applied to the
boot logo screen:

https://i.imgur.com/CnL6df2.png

And now the size that macOS thinks the framebuffer is matches with the
actual resolution, the Apple logo is correctly centred, and boot
proceeds normally:

https://i.imgur.com/HvdoDml.png

Can you reproduce this quirk with the resolution of the boot logo
screen?
If I understand correctly, the complaint is that the resolution chosen
in the Setup TUI is not applied *at once*, without a reboot.

If I do understand correctly, then this is intended / by-design
behavior. Please read the "OVMF Settings" form carefully:

Preferred Resolution at 640x480 You can specify a new
Next Boot preference for the
Change Preferred <640x480> Graphics Console
Resolution for Next Boot here. The list is
Commit Changes and Exit filtered against the
Discard Changes and Exit video RAM size.

Cue the expression "Next Boot" in both of:

- "Preferred Resolution at *Next Boot*"

- "Change Preferred Resolution for *Next Boot*"

This is because, by the time the setup browser is entered, and the user
is given the opportunity for modifying the setting, the setting has
already been consumed by more foundational parts of the firmware.

If you want the changed resolution to take effect, before you boot the
OS, you *must* reboot at this point.

The dialog itself does not reboot automatically because (a) you might
want to change other configuration options in the setup TUI, (b) you
might even want to boot to e.g. the UEFI Shell with the presently active
resolution, perform some changes at the shell prompt, and reboot *then*.

So, after hitting Enter on "Commit Changes and Exit" (which returns you
to "Device Manager"), press ESC one (which will take you back to the
outermost menu), and there, select "Reset".

Thanks
Laszlo