Installing with UTM on M1 Macbook Air

For me beta 4 worked fine in UTM without UEFI boot. When I installed beta 5 without UEFI boot, I could no longer change the screen resolution. The driver shown in screen settings changed. Beta 4 showed it’s using VESA Driver (Generic VESA), beta 5 uses VirtioGpu Driver (Virtio). Creating a VESA file didn’t work for me.

After trying around a bit with creating a UEFI boot partition, booting with UEFI, and different settings in UTM under Display → Emulated Display Card, I found a solution that works.

  1. Boot from ISO
  2. Follow these instruction to create a drive with GUID partition table and an UEFI boot partition.
  3. Install
  4. Turn off the virtual machine.
  5. Eject the ISO from the virtual DVD drive.
  6. Edit the virtual machine and turn off QEMU → Tweaks → UEFI Boot
  7. Set System → System to Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-7.2)
  8. Set Display → Emulated Display Card to VESA
  9. Start virtual machine
  10. :feather:-> Preferences → Screen should allow to change display resolution and refresh rate now.
  11. Shut down virtual machine
  12. Edit the virtual machine
  13. Set Display → Emulated Display Card to virtio-vga or virtio-vga-gl (GPU Supported)
  14. Start virtual machine
  15. :feather:-> Preferences → Screen should read VirtioGpu Driver (Virtio) and resolution and refresh rate should be configurable.

Versions and settings:
Haiku version: hrev57937+121 R1/beta5 (x86 64)
UTM version: 4.5.3 (99)
Virtual machine: Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-7.2) (q35), Emulated Display Card virtio-vga
Hardware: Apple MacBook Air M2 15"

Should I report this as a bug?

Edit: It seems the key is to set the Emulated Display Card to VESA at least once. I’m not sure the UEFI boot partition is necessary, however I couldn’t reproduce it without. I still suspect some of the steps above might not be necessary.

I couldn’t get Standard PC (1440FX + PlIX, 1996) (alias of pc-i440fx-7.2) (pc) to work. Q35 has better PCI support AFAIK.

1 Like