UTM Versions Save

Virtual machines for iOS and macOS

v4.5.0

1 month ago

Highlights

  • UTM Remote server for macOS On macOS 13+, you can enable UTM Server from the new option on the home screen or from Window -> UTM Server. Once enabled, you can stream QEMU backend VMs to supported clients. The preferences page includes additional options including auto-starting the server and allowing external connections so it can be used outside of the local network. New documentation pages will be added in the future.
  • UTM Remote client for iOS and visionOS When UTM Server is enabled on macOS, you can connect to it with the new UTM Remote client which uses the same frontend as UTM for iOS/visionOS but without any of the QEMU backend. TestFlight will be available as soon as it is approved and the plans are to release it as a free app in the App Store.

Changes (v4.5.0)

  • Updated ANGLE to latest Safari version
  • Fixed a crash due to screenshot being saved while the image was being destroyed (#4009)
  • Fixed a memory leak caused by a retain cycle while observing changes in the VM state
  • Localization: Added Italian (thanks @garamb1)
  • Localization: Updated Japanese (thanks @MMP0)
  • Localization: Updated Polish (thanks @mavethee)
  • Localization: Updated Chinese (Simplified + Traditional) (thanks @changanmoon)
  • (macOS) Add UTM Server feature
  • (iOS) Fixed the icon name for UTM SE erroneously set to UTM in translation (#5968)
  • (iOS) Disable logging of keyboard keys when Debug Logs are enabled. They aren't helpful for any issue debugging and poses a privacy issue.
  • (iOS) Reworked automatic resolution changing when SPICE tools are installed
  • (iOS) Fix crash due to race when re-sizing while a view is being destroyed
  • (visionOS) Move toolbar to top of window and support hiding
  • (visionOS) Make VM windows less rounded
  • (visionOS) Integrate new keyboard view

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
UTM-Remote.ipa Remote client Any No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.4.5

3 months ago

macOS Users: there is no difference between v4.4.4 and v4.4.5. You do not need to update.

Highlights

  • macOS Sonoma support New Apple Virtualization features include save/restore VM state and dynamic resolution for macOS Sonoma guests. Note that currently, you must remove the Sound and Entropy device in order to use save/restore VM state.
  • Automatically save state when you close a VM This will only work on VMs that support save states. If your VM does not support it, you will get an error message with an explanation.
  • (macOS) USB commands in utmctl You can now use utmctl usb commands to connect and disconnect USB devices from a running VM.
  • (iOS) TrollStore support for newer iOS With the release of TrollStore 2, this update brings JIT support for all iOS device that can run TrollStore. If (and only if) you are on at most iOS 16.3.1 AND your device is M1, M2, or A16, then you can also use the virtualization option. No other device or higher iOS version will likely ever be supported due to Apple removing Hypervisor in iOS 16.4. The only way around this is if Apple un-deletes the code (unlikely) or a jailbreak powerful enough to run a custom kernel is released (even more unlikely as this has never been done on a modern iOS device).

Notes

  • (macOS) If you are running a virtualized VM on an Intel Mac with TPM enabled and the guest freezes on startup, you will need to temporarily disable Hypervisor (Settings -> QEMU -> Use Hypervisor), boot into Windows, and then re-enable Hypervisor after shutting down. The TPM device changed in v4.4.1 and this causes an issue on existing VMs.
  • (macOS) When entering full-screen, auto-capture of system keys in AVF (introduced in v4.3.2) and of mouse in QEMU (introduced in v4.4.0) is no longer default. You can enable the option in preferences (Cmd+,) under the Input tab.
  • Linux guests: Mesa 23.2.1 introduced a bug that will crash UTM with the error GL_ARB_clear_texture. If you experience this bug, temporarily disable GPU acceleration, then downgrade your Mesa package (or update to the next version when it comes out/nightly build), and the switch back to GPU acceleration.
  • Windows guests: the guest tools have been updated to fix the double cursor bug as well as some driver signing issues when Secure Boot is enabled. To update the guest tools, make sure you have ejected any mounted ISO and then use the CD icon and select "Install Windows Guest Tools". This should automatically download and mount the latest tools.

Changes (v4.4.5)

  • Fixed a "device not found" error when starting a VM with an empty interface (#5845)
  • Fixed JIT for TrollStore builds (#5216) (thanks @crstestacc)
  • Added support for virtualization on iOS 16.3.1 and lower (M1, M2, A16 only) (thanks @xliuxu)

Changes (v4.4.4)

  • (macOS) AVF: Fixed keyboard device not showing up on older macOS guests (#5814)

Changes (v4.4.3)

  • Guest Tools: supports caching the latest version and will only re-download when a newer version is available (#5692)
  • Fixed a bug where a suspended QEMU VM with a locked CD drive will refuse to resume
  • Localization: Updated Russian (thanks @s0rd3s)
  • (visionOS) Fixed display scaling sometimes not applying
  • (visionOS) Reimplemented multiple-window support with newer APIs and fixes an issue where the main window is resized on startup to the last VM display size
  • (visionOS) Process gaze touch events as indirect input
  • (visionOS) Fixed an issue where the keyboard button was not opening the keyboard and sometimes causes the keyboard to keep popping up after being closed
  • (macOS) Fixed an issue where efi_vars.fd is locked when the QEMU process deadlocks (#5769)

Changes (v4.4.2)

  • Added some default devices for PPC64 (#5737, #5734)
  • Fixed an issue where some VMs refuse to boot (#5745)
  • QEMUKit: Fixed a memory leak due to a retain cycle
  • Fixed an issue where ejecting an ISO or removing a shared directory does not sync after saving (#5708)
  • Localization: Added Russian (thanks @s0rd3s)
  • Localization: Added Chinese (Hong Kong) (thanks @changanmoon)
  • Localization: Updated Chinese (Traditional) (thanks @PeterDaveHello)
  • (visionOS) Added button to open preferences
  • (visionOS) Removed unused options from preferences
  • (macOS) Fixed crash when closing terminal too early (#5660)
  • (macOS) Fixed duplicate windows opening when suspending a VM with multiple windows and restarting it
  • (macOS) Fixed some resource leak issues when suspending a VM on close
  • (macOS) AVF: Added MacBook Air M2 resolutions to the predefined list (#5716)
  • (macOS) AVF: Fixed an error on deleting "vmstate" when force stopping a VM (#5758)

Changes (v4.4.1)

  • Hide keystroke data from debug logs (#5651)
  • Scripting: add new usb devices element
  • utmctl: add new usb command
  • Fixed an issue where bookmarks to removable drives and shares were not being saved (#5615)
  • Fixed an issue where some VMs failed to boot due to suspend support probing (#5624)
  • Fixed TPM support for x86_64/i386 VMs (#5619)
  • Fixed an issue where starting a VM fails when a removable floppy disk is used
  • Fixed an issue where the PTTY address is not shown
  • Fixed an issue where new lines could be inserted into the VM name through copy and paste (#5627)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Wizard: do not disable the emulation button even if JIT is not enabled
  • (visionOS) Fixed build issues due to API changes in the latest Xcode
  • (visionOS) Fixed display of release notes
  • (macOS) Allow clearing of installer IPSW from settings (#5611)
  • (macOS) Moved auto-capture of mouse/keyboard in full screen as a preference and do not enable it by default (#5633)
  • (macOS) AVF: File sizes displayed are now the size occupied on disk to be more consistent with QEMU VMs (#5637)
  • (macOS) AVF: Fixed macOS installer not working when a shared directory is selected (#5634)
  • (macOS) AVF: Fixed an issue where shared directory cannot be selected from the home screen (#5617)
  • (macOS) AVF: Fixed an issue where the cursor could disappear after a VM is stopped (#5607)
  • (macOS 14) Wizard: Excess separators shown by SwiftUI changes are now hidden
  • (macOS 12+) Settings sheet should have the bottom toolbar stop before the sidebar in compliance with HIG standards

Changes (v4.4.0)

  • Fixed an issue where shared directories and removable drives did not persist when UTM is closed (#5531)
  • Replaced ANGLE with WebKit ANGLE
  • Fixed an issue in gstreamer which can crash if an error happens before start
  • Fixed a race condition that broke BIOS loading (#5523)
  • Fixed the automatic screenshot timer (#5541)
  • Fixed UI lockup during a long copy operation when moving/exporting VM
  • Localization: Updated Polish (thanks @ku1ik)
  • Localization: Updated French (thanks @alex-kinokon)
  • Localization: Updated Traditional Chinese (thanks @pan93412)
  • Localization: Updated Simplified Chinese (thanks @changanmoon)
  • (iOS) Fixed an issue where quickly double tapping on the play button results in various issues
  • (iOS) Fixed "Retina" mode resizing so the native display dimensions are passed to the guest
  • (macOS) utmctl: Fixed an issue where the CLI did not work properly if UTM.app was not located in /Applications (#5526)
  • (macOS) Fixed window resize not automatically updating the guest dynamic resolution if Accessibility APIs are used (#5577)
  • (macOS) Automatically capture the mouse (after displaying a confirmation message) when entering full screen (#5514)
  • (macOS) Automatically save state when closing a VM (#5591)
  • (macOS) AVF: shared directory is now automatically mounted on macOS 13+ (#5571)
  • (macOS 14) Fixed IPSW selection
  • (macOS 14) AVF: implemented save/restore VM state
  • (macOS 14) AVF: enable Rosetta caching if supported by the host
  • (macOS 14) AVF: automatically re-size macOS 14 guests

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.4.4

5 months ago

Highlights

  • macOS Sonoma support New Apple Virtualization features include save/restore VM state and dynamic resolution for macOS Sonoma guests. Note that currently, you must remove the Sound and Entropy device in order to use save/restore VM state.
  • Automatically save state when you close a VM This will only work on VMs that support save states. If your VM does not support it, you will get an error message with an explanation.
  • (macOS) USB commands in utmctl You can now use utmctl usb commands to connect and disconnect USB devices from a running VM.

Notes

  • (macOS) If you are running a virtualized VM on an Intel Mac with TPM enabled and the guest freezes on startup, you will need to temporarily disable Hypervisor (Settings -> QEMU -> Use Hypervisor), boot into Windows, and then re-enable Hypervisor after shutting down. The TPM device changed in v4.4.1 and this causes an issue on existing VMs.
  • (macOS) When entering full-screen, auto-capture of system keys in AVF (introduced in v4.3.2) and of mouse in QEMU (introduced in v4.4.0) is no longer default. You can enable the option in preferences (Cmd+,) under the Input tab.
  • Linux guests: Mesa 23.2.1 introduced a bug that will crash UTM with the error GL_ARB_clear_texture. If you experience this bug, temporarily disable GPU acceleration, then downgrade your Mesa package (or update to the next version when it comes out/nightly build), and the switch back to GPU acceleration.
  • Windows guests: the guest tools have been updated to fix the double cursor bug as well as some driver signing issues when Secure Boot is enabled. To update the guest tools, make sure you have ejected any mounted ISO and then use the CD icon and select "Install Windows Guest Tools". This should automatically download and mount the latest tools.

Changes (v4.4.4)

  • (macOS) AVF: Fixed keyboard device not showing up on older macOS guests (#5814)

Changes (v4.4.3)

  • Guest Tools: supports caching the latest version and will only re-download when a newer version is available (#5692)
  • Fixed a bug where a suspended QEMU VM with a locked CD drive will refuse to resume
  • Localization: Updated Russian (thanks @s0rd3s)
  • (visionOS) Fixed display scaling sometimes not applying
  • (visionOS) Reimplemented multiple-window support with newer APIs and fixes an issue where the main window is resized on startup to the last VM display size
  • (visionOS) Process gaze touch events as indirect input
  • (visionOS) Fixed an issue where the keyboard button was not opening the keyboard and sometimes causes the keyboard to keep popping up after being closed
  • (macOS) Fixed an issue where efi_vars.fd is locked when the QEMU process deadlocks (#5769)

Changes (v4.4.2)

  • Added some default devices for PPC64 (#5737, #5734)
  • Fixed an issue where some VMs refuse to boot (#5745)
  • QEMUKit: Fixed a memory leak due to a retain cycle
  • Fixed an issue where ejecting an ISO or removing a shared directory does not sync after saving (#5708)
  • Localization: Added Russian (thanks @s0rd3s)
  • Localization: Added Chinese (Hong Kong) (thanks @changanmoon)
  • Localization: Updated Chinese (Traditional) (thanks @PeterDaveHello)
  • (visionOS) Added button to open preferences
  • (visionOS) Removed unused options from preferences
  • (macOS) Fixed crash when closing terminal too early (#5660)
  • (macOS) Fixed duplicate windows opening when suspending a VM with multiple windows and restarting it
  • (macOS) Fixed some resource leak issues when suspending a VM on close
  • (macOS) AVF: Added MacBook Air M2 resolutions to the predefined list (#5716)
  • (macOS) AVF: Fixed an error on deleting "vmstate" when force stopping a VM (#5758)

Changes (v4.4.1)

  • Hide keystroke data from debug logs (#5651)
  • Scripting: add new usb devices element
  • utmctl: add new usb command
  • Fixed an issue where bookmarks to removable drives and shares were not being saved (#5615)
  • Fixed an issue where some VMs failed to boot due to suspend support probing (#5624)
  • Fixed TPM support for x86_64/i386 VMs (#5619)
  • Fixed an issue where starting a VM fails when a removable floppy disk is used
  • Fixed an issue where the PTTY address is not shown
  • Fixed an issue where new lines could be inserted into the VM name through copy and paste (#5627)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Wizard: do not disable the emulation button even if JIT is not enabled
  • (visionOS) Fixed build issues due to API changes in the latest Xcode
  • (visionOS) Fixed display of release notes
  • (macOS) Allow clearing of installer IPSW from settings (#5611)
  • (macOS) Moved auto-capture of mouse/keyboard in full screen as a preference and do not enable it by default (#5633)
  • (macOS) AVF: File sizes displayed are now the size occupied on disk to be more consistent with QEMU VMs (#5637)
  • (macOS) AVF: Fixed macOS installer not working when a shared directory is selected (#5634)
  • (macOS) AVF: Fixed an issue where shared directory cannot be selected from the home screen (#5617)
  • (macOS) AVF: Fixed an issue where the cursor could disappear after a VM is stopped (#5607)
  • (macOS 14) Wizard: Excess separators shown by SwiftUI changes are now hidden
  • (macOS 12+) Settings sheet should have the bottom toolbar stop before the sidebar in compliance with HIG standards

Changes (v4.4.0)

  • Fixed an issue where shared directories and removable drives did not persist when UTM is closed (#5531)
  • Replaced ANGLE with WebKit ANGLE
  • Fixed an issue in gstreamer which can crash if an error happens before start
  • Fixed a race condition that broke BIOS loading (#5523)
  • Fixed the automatic screenshot timer (#5541)
  • Fixed UI lockup during a long copy operation when moving/exporting VM
  • Localization: Updated Polish (thanks @ku1ik)
  • Localization: Updated French (thanks @alex-kinokon)
  • Localization: Updated Traditional Chinese (thanks @pan93412)
  • Localization: Updated Simplified Chinese (thanks @changanmoon)
  • (iOS) Fixed an issue where quickly double tapping on the play button results in various issues
  • (iOS) Fixed "Retina" mode resizing so the native display dimensions are passed to the guest
  • (macOS) utmctl: Fixed an issue where the CLI did not work properly if UTM.app was not located in /Applications (#5526)
  • (macOS) Fixed window resize not automatically updating the guest dynamic resolution if Accessibility APIs are used (#5577)
  • (macOS) Automatically capture the mouse (after displaying a confirmation message) when entering full screen (#5514)
  • (macOS) Automatically save state when closing a VM (#5591)
  • (macOS) AVF: shared directory is now automatically mounted on macOS 13+ (#5571)
  • (macOS 14) Fixed IPSW selection
  • (macOS 14) AVF: implemented save/restore VM state
  • (macOS 14) AVF: enable Rosetta caching if supported by the host
  • (macOS 14) AVF: automatically re-size macOS 14 guests

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.4.3

5 months ago

Highlights

  • macOS Sonoma support New Apple Virtualization features include save/restore VM state and dynamic resolution for macOS Sonoma guests. Note that currently, you must remove the Sound and Entropy device in order to use save/restore VM state.
  • visionOS support UTM is now working on visionOS but until we get our hands on a real device, it is TBD on how to actually run it. If you are a lucky owner of a development unit, you can try it out yourself with the provided IPAs.
  • Automatically save state when you close a VM This will only work on VMs that support save states. If your VM does not support it, you will get an error message with an explanation.
  • (macOS) USB commands in utmctl You can now use utmctl usb commands to connect and disconnect USB devices from a running VM.

Notes

  • (macOS) If you are running a virtualized VM on an Intel Mac with TPM enabled and the guest freezes on startup, you will need to temporarily disable Hypervisor (Settings -> QEMU -> Use Hypervisor), boot into Windows, and then re-enable Hypervisor after shutting down. The TPM device changed in v4.4.1 and this causes an issue on existing VMs.
  • (macOS) When entering full-screen, auto-capture of system keys in AVF (introduced in v4.3.2) and of mouse in QEMU (introduced in v4.4.0) is no longer default. You can enable the option in preferences (Cmd+,) under the Input tab.
  • Linux guests: Mesa 23.2.1 introduced a bug that will crash UTM with the error GL_ARB_clear_texture. If you experience this bug, temporarily disable GPU acceleration, then downgrade your Mesa package (or update to the next version when it comes out/nightly build), and the switch back to GPU acceleration.

Changes (v4.4.3)

  • Guest Tools: supports caching the latest version and will only re-download when a newer version is available (#5692)
  • Fixed a bug where a suspended QEMU VM with a locked CD drive will refuse to resume
  • Localization: Updated Russian (thanks @s0rd3s)
  • (visionOS) Fixed display scaling sometimes not applying
  • (visionOS) Reimplemented multiple-window support with newer APIs and fixes an issue where the main window is resized on startup to the last VM display size
  • (visionOS) Process gaze touch events as indirect input
  • (visionOS) Fixed an issue where the keyboard button was not opening the keyboard and sometimes causes the keyboard to keep popping up after being closed
  • (macOS) Fixed an issue where efi_vars.fd is locked when the QEMU process deadlocks (#5769)

Changes (v4.4.2)

  • Added some default devices for PPC64 (#5737, #5734)
  • Fixed an issue where some VMs refuse to boot (#5745)
  • QEMUKit: Fixed a memory leak due to a retain cycle
  • Fixed an issue where ejecting an ISO or removing a shared directory does not sync after saving (#5708)
  • Localization: Added Russian (thanks @s0rd3s)
  • Localization: Added Chinese (Hong Kong) (thanks @changanmoon)
  • Localization: Updated Chinese (Traditional) (thanks @PeterDaveHello)
  • (visionOS) Added button to open preferences
  • (visionOS) Removed unused options from preferences
  • (macOS) Fixed crash when closing terminal too early (#5660)
  • (macOS) Fixed duplicate windows opening when suspending a VM with multiple windows and restarting it
  • (macOS) Fixed some resource leak issues when suspending a VM on close
  • (macOS) AVF: Added MacBook Air M2 resolutions to the predefined list (#5716)
  • (macOS) AVF: Fixed an error on deleting "vmstate" when force stopping a VM (#5758)

Changes (v4.4.1)

  • Hide keystroke data from debug logs (#5651)
  • Scripting: add new usb devices element
  • utmctl: add new usb command
  • Fixed an issue where bookmarks to removable drives and shares were not being saved (#5615)
  • Fixed an issue where some VMs failed to boot due to suspend support probing (#5624)
  • Fixed TPM support for x86_64/i386 VMs (#5619)
  • Fixed an issue where starting a VM fails when a removable floppy disk is used
  • Fixed an issue where the PTTY address is not shown
  • Fixed an issue where new lines could be inserted into the VM name through copy and paste (#5627)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Wizard: do not disable the emulation button even if JIT is not enabled
  • (visionOS) Fixed build issues due to API changes in the latest Xcode
  • (visionOS) Fixed display of release notes
  • (macOS) Allow clearing of installer IPSW from settings (#5611)
  • (macOS) Moved auto-capture of mouse/keyboard in full screen as a preference and do not enable it by default (#5633)
  • (macOS) AVF: File sizes displayed are now the size occupied on disk to be more consistent with QEMU VMs (#5637)
  • (macOS) AVF: Fixed macOS installer not working when a shared directory is selected (#5634)
  • (macOS) AVF: Fixed an issue where shared directory cannot be selected from the home screen (#5617)
  • (macOS) AVF: Fixed an issue where the cursor could disappear after a VM is stopped (#5607)
  • (macOS 14) Wizard: Excess separators shown by SwiftUI changes are now hidden
  • (macOS 12+) Settings sheet should have the bottom toolbar stop before the sidebar in compliance with HIG standards

Changes (v4.4.0)

  • Fixed an issue where shared directories and removable drives did not persist when UTM is closed (#5531)
  • Replaced ANGLE with WebKit ANGLE
  • Fixed an issue in gstreamer which can crash if an error happens before start
  • Fixed a race condition that broke BIOS loading (#5523)
  • Fixed the automatic screenshot timer (#5541)
  • Fixed UI lockup during a long copy operation when moving/exporting VM
  • Localization: Updated Polish (thanks @ku1ik)
  • Localization: Updated French (thanks @alex-kinokon)
  • Localization: Updated Traditional Chinese (thanks @pan93412)
  • Localization: Updated Simplified Chinese (thanks @changanmoon)
  • (iOS) Fixed an issue where quickly double tapping on the play button results in various issues
  • (iOS) Fixed "Retina" mode resizing so the native display dimensions are passed to the guest
  • (macOS) utmctl: Fixed an issue where the CLI did not work properly if UTM.app was not located in /Applications (#5526)
  • (macOS) Fixed window resize not automatically updating the guest dynamic resolution if Accessibility APIs are used (#5577)
  • (macOS) Automatically capture the mouse (after displaying a confirmation message) when entering full screen (#5514)
  • (macOS) Automatically save state when closing a VM (#5591)
  • (macOS) AVF: shared directory is now automatically mounted on macOS 13+ (#5571)
  • (macOS 14) Fixed IPSW selection
  • (macOS 14) AVF: implemented save/restore VM state
  • (macOS 14) AVF: enable Rosetta caching if supported by the host
  • (macOS 14) AVF: automatically re-size macOS 14 guests

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
UTM-visionOS.ipa visionOS version (sideloading) Custom resigning ? No No
UTM-SE-visionOS.ipa visionOS version (sideloading) Custom resigning No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.4.2

5 months ago

Highlights

  • macOS Sonoma support New Apple Virtualization features include save/restore VM state and dynamic resolution for macOS Sonoma guests. Note that currently, you must remove the Sound and Entropy device in order to use save/restore VM state.
  • visionOS support UTM is now working on visionOS but until we get our hands on a real device, it is TBD on how to actually run it. If you are a lucky owner of a development unit, you can try it out yourself with the provided IPAs.
  • Automatically save state when you close a VM This will only work on VMs that support save states. If your VM does not support it, you will get an error message with an explanation.
  • (macOS) USB commands in utmctl You can now use utmctl usb commands to connect and disconnect USB devices from a running VM.

Notes

  • (macOS) If you are running a virtualized VM on an Intel Mac with TPM enabled and the guest freezes on startup, you will need to temporarily disable Hypervisor (Settings -> QEMU -> Use Hypervisor), boot into Windows, and then re-enable Hypervisor after shutting down. The TPM device changed in v4.4.1 and this causes an issue on existing VMs.
  • (macOS) When entering full-screen, auto-capture of system keys in AVF (introduced in v4.3.2) and of mouse in QEMU (introduced in v4.4.0) is no longer default. You can enable the option in preferences (Cmd+,) under the Input tab.

Changes (v4.4.2)

  • Added some default devices for PPC64 (#5737, #5734)
  • Fixed an issue where some VMs refuse to boot (#5745)
  • QEMUKit: Fixed a memory leak due to a retain cycle
  • Fixed an issue where ejecting an ISO or removing a shared directory does not sync after saving (#5708)
  • Localization: Added Russian (thanks @s0rd3s)
  • Localization: Added Chinese (Hong Kong) (thanks @changanmoon)
  • Localization: Updated Chinese (Traditional) (thanks @PeterDaveHello)
  • (visionOS) Added button to open preferences
  • (visionOS) Removed unused options from preferences
  • (macOS) Fixed crash when closing terminal too early (#5660)
  • (macOS) Fixed duplicate windows opening when suspending a VM with multiple windows and restarting it
  • (macOS) Fixed some resource leak issues when suspending a VM on close
  • (macOS) AVF: Added MacBook Air M2 resolutions to the predefined list (#5716)
  • (macOS) AVF: Fixed an error on deleting "vmstate" when force stopping a VM (#5758)

Changes (v4.4.1)

  • Hide keystroke data from debug logs (#5651)
  • Scripting: add new usb devices element
  • utmctl: add new usb command
  • Fixed an issue where bookmarks to removable drives and shares were not being saved (#5615)
  • Fixed an issue where some VMs failed to boot due to suspend support probing (#5624)
  • Fixed TPM support for x86_64/i386 VMs (#5619)
  • Fixed an issue where starting a VM fails when a removable floppy disk is used
  • Fixed an issue where the PTTY address is not shown
  • Fixed an issue where new lines could be inserted into the VM name through copy and paste (#5627)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Wizard: do not disable the emulation button even if JIT is not enabled
  • (visionOS) Fixed build issues due to API changes in the latest Xcode
  • (visionOS) Fixed display of release notes
  • (macOS) Allow clearing of installer IPSW from settings (#5611)
  • (macOS) Moved auto-capture of mouse/keyboard in full screen as a preference and do not enable it by default (#5633)
  • (macOS) AVF: File sizes displayed are now the size occupied on disk to be more consistent with QEMU VMs (#5637)
  • (macOS) AVF: Fixed macOS installer not working when a shared directory is selected (#5634)
  • (macOS) AVF: Fixed an issue where shared directory cannot be selected from the home screen (#5617)
  • (macOS) AVF: Fixed an issue where the cursor could disappear after a VM is stopped (#5607)
  • (macOS 14) Wizard: Excess separators shown by SwiftUI changes are now hidden
  • (macOS 12+) Settings sheet should have the bottom toolbar stop before the sidebar in compliance with HIG standards

Changes (v4.4.0)

  • Fixed an issue where shared directories and removable drives did not persist when UTM is closed (#5531)
  • Replaced ANGLE with WebKit ANGLE
  • Fixed an issue in gstreamer which can crash if an error happens before start
  • Fixed a race condition that broke BIOS loading (#5523)
  • Fixed the automatic screenshot timer (#5541)
  • Fixed UI lockup during a long copy operation when moving/exporting VM
  • Localization: Updated Polish (thanks @ku1ik)
  • Localization: Updated French (thanks @alex-kinokon)
  • Localization: Updated Traditional Chinese (thanks @pan93412)
  • Localization: Updated Simplified Chinese (thanks @changanmoon)
  • (iOS) Fixed an issue where quickly double tapping on the play button results in various issues
  • (iOS) Fixed "Retina" mode resizing so the native display dimensions are passed to the guest
  • (macOS) utmctl: Fixed an issue where the CLI did not work properly if UTM.app was not located in /Applications (#5526)
  • (macOS) Fixed window resize not automatically updating the guest dynamic resolution if Accessibility APIs are used (#5577)
  • (macOS) Automatically capture the mouse (after displaying a confirmation message) when entering full screen (#5514)
  • (macOS) Automatically save state when closing a VM (#5591)
  • (macOS) AVF: shared directory is now automatically mounted on macOS 13+ (#5571)
  • (macOS 14) Fixed IPSW selection
  • (macOS 14) AVF: implemented save/restore VM state
  • (macOS 14) AVF: enable Rosetta caching if supported by the host
  • (macOS 14) AVF: automatically re-size macOS 14 guests

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
UTM-visionOS.ipa visionOS version (sideloading) Custom resigning ? No No
UTM-SE-visionOS.ipa visionOS version (sideloading) Custom resigning No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.4.1

6 months ago

Highlights

  • macOS Sonoma support New Apple Virtualization features include save/restore VM state and dynamic resolution for macOS Sonoma guests. Note that currently, you must remove the Sound and Entropy device in order to use save/restore VM state.
  • visionOS support UTM is now working on visionOS but until we get our hands on a real device, it is TBD on how to actually run it. If you are a lucky owner of a development unit, you can try it out yourself with the provided IPAs.
  • Automatically save state when you close a VM This will only work on VMs that support save states. If your VM does not support it, you will get an error message with an explanation.
  • (macOS) USB commands in utmctl You can now use utmctl usb commands to connect and disconnect USB devices from a running VM.

Notes

  • (macOS) If you are running a virtualized VM on an Intel Mac with TPM enabled and the guest freezes on startup, you will need to temporarily disable Hypervisor (Settings -> QEMU -> Use Hypervisor), boot into Windows, and then re-enable Hypervisor after shutting down. The TPM device changed in v4.4.1 and this causes an issue on existing VMs.
  • (macOS) When entering full-screen, auto-capture of system keys in AVF (introduced in v4.3.2) and of mouse in QEMU (introduced in v4.4.0) is no longer default. You can enable the option in preferences (Cmd+,) under the Input tab.

Changes (v4.4.1)

  • Hide keystroke data from debug logs (#5651)
  • Scripting: add new usb devices element
  • utmctl: add new usb command
  • Fixed an issue where bookmarks to removable drives and shares were not being saved (#5615)
  • Fixed an issue where some VMs failed to boot due to suspend support probing (#5624)
  • Fixed TPM support for x86_64/i386 VMs (#5619)
  • Fixed an issue where starting a VM fails when a removable floppy disk is used
  • Fixed an issue where the PTTY address is not shown
  • Fixed an issue where new lines could be inserted into the VM name through copy and paste (#5627)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Wizard: do not disable the emulation button even if JIT is not enabled
  • (visionOS) Fixed build issues due to API changes in the latest Xcode
  • (visionOS) Fixed display of release notes
  • (macOS) Allow clearing of installer IPSW from settings (#5611)
  • (macOS) Moved auto-capture of mouse/keyboard in full screen as a preference and do not enable it by default (#5633)
  • (macOS) AVF: File sizes displayed are now the size occupied on disk to be more consistent with QEMU VMs (#5637)
  • (macOS) AVF: Fixed macOS installer not working when a shared directory is selected (#5634)
  • (macOS) AVF: Fixed an issue where shared directory cannot be selected from the home screen (#5617)
  • (macOS) AVF: Fixed an issue where the cursor could disappear after a VM is stopped (#5607)
  • (macOS 14) Wizard: Excess separators shown by SwiftUI changes are now hidden
  • (macOS 12+) Settings sheet should have the bottom toolbar stop before the sidebar in compliance with HIG standards

Changes (v4.4.0)

  • Fixed an issue where shared directories and removable drives did not persist when UTM is closed (#5531)
  • Replaced ANGLE with WebKit ANGLE
  • Fixed an issue in gstreamer which can crash if an error happens before start
  • Fixed a race condition that broke BIOS loading (#5523)
  • Fixed the automatic screenshot timer (#5541)
  • Fixed UI lockup during a long copy operation when moving/exporting VM
  • Localization: Updated Polish (thanks @ku1ik)
  • Localization: Updated French (thanks @alex-kinokon)
  • Localization: Updated Traditional Chinese (thanks @pan93412)
  • Localization: Updated Simplified Chinese (thanks @changanmoon)
  • (iOS) Fixed an issue where quickly double tapping on the play button results in various issues
  • (iOS) Fixed "Retina" mode resizing so the native display dimensions are passed to the guest
  • (macOS) utmctl: Fixed an issue where the CLI did not work properly if UTM.app was not located in /Applications (#5526)
  • (macOS) Fixed window resize not automatically updating the guest dynamic resolution if Accessibility APIs are used (#5577)
  • (macOS) Automatically capture the mouse (after displaying a confirmation message) when entering full screen (#5514)
  • (macOS) Automatically save state when closing a VM (#5591)
  • (macOS) AVF: shared directory is now automatically mounted on macOS 13+ (#5571)
  • (macOS 14) Fixed IPSW selection
  • (macOS 14) AVF: implemented save/restore VM state
  • (macOS 14) AVF: enable Rosetta caching if supported by the host
  • (macOS 14) AVF: automatically re-size macOS 14 guests

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
UTM-visionOS.ipa visionOS version (sideloading) Custom resigning ? No No
UTM-SE-visionOS.ipa visionOS version (sideloading) Custom resigning No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.4.0

7 months ago

Highlights

  • macOS Sonoma support New Apple Virtualization features include save/restore VM state and dynamic resolution for macOS Sonoma guests. Note that currently, you must remove the Sound and Entropy device in order to use save/restore VM state.
  • visionOS support UTM is now working on visionOS but until we get our hands on a real device, it is TBD on how to actually run it. If you are a lucky owner of a development unit, you can try it out yourself with the provided IPAs.
  • Automatically save state when you close a VM This will only work on VMs that support save states. If your VM does not support it, you will get an error message with an explanation.

Changes (v4.4.0)

  • Fixed an issue where shared directories and removable drives did not persist when UTM is closed (#5531)
  • Replaced ANGLE with WebKit ANGLE
  • Fixed an issue in gstreamer which can crash if an error happens before start
  • Fixed a race condition that broke BIOS loading (#5523)
  • Fixed the automatic screenshot timer (#5541)
  • Fixed UI lockup during a long copy operation when moving/exporting VM
  • Localization: Updated Polish (thanks @ku1ik)
  • Localization: Updated French (thanks @alex-kinokon)
  • Localization: Updated Traditional Chinese (thanks @pan93412)
  • Localization: Updated Simplified Chinese (thanks @changanmoon)
  • (iOS) Fixed an issue where quickly double tapping on the play button results in various issues
  • (iOS) Fixed "Retina" mode resizing so the native display dimensions are passed to the guest
  • (macOS) utmctl: Fixed an issue where the CLI did not work properly if UTM.app was not located in /Applications (#5526)
  • (macOS) Fixed window resize not automatically updating the guest dynamic resolution if Accessibility APIs are used (#5577)
  • (macOS) Automatically capture the mouse (after displaying a confirmation message) when entering full screen (#5514)
  • (macOS) Automatically save state when closing a VM (#5591)
  • (macOS) AVF: shared directory is now automatically mounted on macOS 13+ (#5571)
  • (macOS 14) Fixed IPSW selection
  • (macOS 14) AVF: implemented save/restore VM state
  • (macOS 14) AVF: enable Rosetta caching if supported by the host
  • (macOS 14) AVF: automatically re-size macOS 14 guests

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM-HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM-SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
UTM-visionOS.ipa visionOS version (sideloading) Custom resigning ? No No
UTM-SE-visionOS.ipa visionOS version (sideloading) Custom resigning No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.3.5

7 months ago

Highlights

  • Rewrite of QEMU support internals. Much of the code to support QEMU has been refactored into a new project, QEMUKit, which will make it easier to support QEMU changes as well as support for new platforms.
  • TPM 2.0 and Secure Boot This is required for Windows 11 updates to 22H2. To enable TPM on an existing virtual machine (only x86_64, i386, and ARM64 architectures are supported), open the VM settings, go to the QEMU page and select "UEFI Boot", "TPM 2.0 Device", and "Reset UEFI Variables." Any new VM created through the wizard will have TPM 2.0 and Secure Boot enabled by default if Windows 10+ support is checked.
  • Download Windows installer with a new utility. We know that creating a Windows installer can be a hassle which is why we are releasing a new free tool called CrystalFetch which can be found on GitHub as well as free on the Mac App Store. This companion to UTM will allow you to generate a Windows 11 ISO with a few clicks (no Terminal, Homebrew, or scripts required). Note that just like before, you still need a valid license from Microsoft to use Windows.

Notes

  • On i386 and x86_64 machines, HPET is now disabled by default. This improves performance (slightly) on some guests and also addresses boot issues with OpenIndiana. This change means that suspended VM state from previous versions are not compatible, so please shut down those VMs before updating. If you require HPET to be enabled for any reason, go into the VM's settings and under QEMU → QEMU Machine Properties, add the text hpet=on.
  • In v4.3.5, we rolled back backend updates to QEMU and EDK2 due to a critical issue that prevented VMs from booting. While the issue is investigated, the last stable version will be used and once the issue is resolved, a new update will be released.
  • If you suspended an Apple Virtualization VM in v4.4 and then downgrade to v4.3, you will not be able to resume the VM or start it at all. Please make sure you shut down any such VMs before downgrading or you may suffer data loss.

Changes (v4.3.5)

  • Rollback QEMU version to 7.2.0
  • Rollback EDK2 firmware to edk2-stable202102
  • Reduced amount of logging when Debug Log is not checked
  • (macOS) Wizard: Fixed boot ISO not saving for AVF (#5517)

Changes (v4.3.4)

  • Localization: Updated Japanese (thanks @MMP0)
  • Fixed WebDAV shared directory not setup on start (#5506)
  • (macOS) Improved debug logging by showing more verbose logging for SPICE. If "Enable Debug Log" is selected, more verbose logging will be activated.
  • (macOS) Fixed an issue where the VM freezes or shows "port not connected" when the computer is under memory pressure (#5489)
  • (macOS 11) Disabled options in the context menu which had broken UI leading to freezes or crashes (#5147)
  • (macOS 12) Wizard: Fixed a crash when selecting a file with VoiceOver (#5250)
  • (macOS 12+) Settings: new table view for QEMU custom arguments

Changes (v4.3.3)

  • Fixed a crash when selecting a VM (#5481)
  • Fixed a crash when starting a VM and an error occurred when creating display/serial devices (#5472)
  • Fixed boot issues when trying to load OpenIndiana by disabling HPET timers by default (#2394)
  • Fixed an issue where selected removable drive image and shared directory are not syncing correctly
  • QEMUKit: Fixed race condition when multiple RPC commands are sent (#5477)
  • EDK2: Fixed an issue preventing some versions of Windows 11 from booting (#5495)
  • utmctl: Add a more verbose error message when utmctl fails because it is launched from an SSH session or before logging in (#5499)
  • Wizard: Fixed selected boot ISO not saving (#5471)
  • Wizard: Link to CrystalFetch when Windows is selected
  • (macOS) AVF: Automatically un-capture system keys when VM terminates

Changes (v4.3.2)

  • The last update introduced two units per bus for IDE devices. However, some machines do not support this configuration, so now two units per bus will only be enabled for supported machines. Other machines will retain pre v4.3.1 behaviour.
  • Fixed some state tracking issues leading to various errors when a VM is quickly stopped and started again.
  • Changed the style of the icons on various VM operations in the home screen and context menu (iOS) (thanks @jnsdrtlf) (#5441, #4759)
  • Fixed an issue where serial device hardware was not saved
  • Fixed the error that shows up when trying to rename a VM (#5444)
  • Fixed a crash on startup due to mishandling of VM parsing (#5424)
  • Fixed debug logging not working due to backend changes in v4.3.1
  • Fixed a crash when QEMU tries to output non-printable characters
  • Add support for SWTPM for TPM 2.0 emulation
  • Add Secure Boot firmware for ARM64. Only the Secure Boot firmwares have TPM 2.0 support built in, so when TPM 2.0 and UEFI are enabled, UTM will automatically select the Secure Boot firmware. By default the UTM platform keys and Microsoft key exchange keys are enrolled. You can manually set up your own keys from the UEFI menu.
  • Updated the EDK2 UEFI firmware to the 202305 release
  • Debug logs will no longer be deleted when a VM configuration is saved and debug log is not disabled
  • Fixed an issue where the mouse cursor stopped working due to backend changes in v4.3.1
  • If the Documents directory does not exist in UTM's container, it will now be created automatically. This addresses an error that shows up if the Documents directory does not get created properly by macOS. (#5419)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Fixed an issue where TSO setting was not saved
  • (macOS) Fixed an issue where every time a VM is started with a terminal window, the width of the window gets a bit larger
  • (macOS) Fixed an issue where starting a stopped VM does not change the display scale
  • (macOS) AVM: System keys will be captured automatically when entering full screen and released when exiting full screen (#3668)
  • (macOS) AVM: Fixed the request stop method in both the GUI and scripting interfaces (#5425)

Changes (v4.3.1)

  • Updated QEMU backend to v8.0.2
  • Refactored QEMU support to a new project: QEMUKit
  • Machines with IDE interface (i44FX/PIIX) will now support two units per bus. Previously, we mapped IDE devices to one unit per bus. This means on some machines, the limit was two devices maximum. Now, we map two units per IDE bus which should increase the limit to four devices. Existing VMs will not get this change automatically in order to maintain compatibility. You can choose to opt-in to this new mapping by pressing the “Update Interface” button on each IDE drive in the VM settings. (#5358)
  • Localization: Updated Japanese (thanks @MMP0 and @studio1a9)
  • (macOS) Fixed crash when AVM window is closed (#5347)
  • (macOS) New option “Automatic” for bridged network connection which will use the bridge the first active connection on the host. Both AVM and QEMU backends are supported. (#5410)
  • (macOS) Fixed trackpad setting not saving (#5369)

Changes (v4.3.0)

  • Updated QEMU backend to v8.0.0
  • Changed audio backend from CoreAudio back to SPICE (as it was before v4.2.x). Clarify that CoreAudio backend does not support microphone (#5253)
  • Add support for mouse buttons 4 and 5 (#5295)
  • Wizard: Properly display an error message when there is a failure writing to disk (#5271)
  • Fixed an issue where ISAPC emulation target cannot be started (#5280)
  • Fixed CoreAudio being instantiated even when audio is disabled
  • Fixed an issue where legacy VMs with AC97 sound card has an empty name in settings
  • Fixed an QEMU issue where the ucomiss instruction causes a crash in some applications (#5294)
  • Fixed an issue preventing VMs with commas in their name from starting (note only new VMs will be fixed) (#5332)
  • (macOS) AVM: Support canceling macOS installation
  • (macOS) utmctl: Added delete command (#5290)
  • (macOS) Fixed an issue creating a shortcut from drag & drop as well as double clicking from Finder (#5310, #5311)
  • (macOS) Added DHCP start/end settings for vmnet (#5301)
  • (macOS) Added automatically syncing of system clock when macOS wakes up from sleep (when QEMU guest agent is installed) (#5252)

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM.HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM.SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.3.4

7 months ago

This version is broken due to a bug which prevents VMs from starting. Please update UTM to the latest version. If you obtained UTM from the Mac App Store, you may need to open the App Store to the Updates tab to see it.

Highlights (Original)

  • QEMU backend updated to v8.0.2
  • Rewrite of QEMU support internals. Much of the code to support QEMU has been refactored into a new project, QEMUKit, which will make it easier to support QEMU changes as well as support for new platforms.
  • TPM 2.0 and Secure Boot This is required for Windows 11 updates to 22H2. To enable TPM on an existing virtual machine (only x86_64, i386, and ARM64 architectures are supported), open the VM settings, go to the QEMU page and select "UEFI Boot", "TPM 2.0 Device", and "Reset UEFI Variables." Any new VM created through the wizard will have TPM 2.0 and Secure Boot enabled by default if Windows 10+ support is checked.
  • Download Windows installer with a new utility. We know that creating a Windows installer can be a hassle which is why we are releasing a new free tool called CrystalFetch which can be found on GitHub as well as free on the Mac App Store. This companion to UTM will allow you to generate a Windows 11 ISO with a few clicks (no Terminal, Homebrew, or scripts required). Note that just like before, you still need a valid license from Microsoft to use Windows.

Notes

On i386 and x86_64 machines, HPET is now disabled by default. This improves performance (slightly) on some guests and also addresses boot issues with OpenIndiana. This change means that suspended VM state from previous versions are not compatible, so please shut down those VMs before updating. If you require HPET to be enabled for any reason, go into the VM's settings and under QEMU → QEMU Machine Properties, add the text hpet=on.

Changes (v4.3.4)

  • Localization: Updated Japanese (thanks @MMP0)
  • Fixed WebDAV shared directory not setup on start (#5506)
  • (macOS) Improved debug logging by showing more verbose logging for SPICE. If "Enable Debug Log" is selected, more verbose logging will be activated.
  • (macOS) Fixed an issue where the VM freezes or shows "port not connected" when the computer is under memory pressure (#5489)
  • (macOS 11) Disabled options in the context menu which had broken UI leading to freezes or crashes (#5147)
  • (macOS 12) Wizard: Fixed a crash when selecting a file with VoiceOver (#5250)
  • (macOS 12+) Settings: new table view for QEMU custom arguments

Changes (v4.3.3)

  • Fixed a crash when selecting a VM (#5481)
  • Fixed a crash when starting a VM and an error occurred when creating display/serial devices (#5472)
  • Fixed boot issues when trying to load OpenIndiana by disabling HPET timers by default (#2394)
  • Fixed an issue where selected removable drive image and shared directory are not syncing correctly
  • QEMUKit: Fixed race condition when multiple RPC commands are sent (#5477)
  • EDK2: Fixed an issue preventing some versions of Windows 11 from booting (#5495)
  • utmctl: Add a more verbose error message when utmctl fails because it is launched from an SSH session or before logging in (#5499)
  • Wizard: Fixed selected boot ISO not saving (#5471)
  • Wizard: Link to CrystalFetch when Windows is selected
  • (macOS) AVF: Automatically un-capture system keys when VM terminates

Changes (v4.3.2)

  • The last update introduced two units per bus for IDE devices. However, some machines do not support this configuration, so now two units per bus will only be enabled for supported machines. Other machines will retain pre v4.3.1 behaviour.
  • Fixed some state tracking issues leading to various errors when a VM is quickly stopped and started again.
  • Changed the style of the icons on various VM operations in the home screen and context menu (iOS) (thanks @jnsdrtlf) (#5441, #4759)
  • Fixed an issue where serial device hardware was not saved
  • Fixed the error that shows up when trying to rename a VM (#5444)
  • Fixed a crash on startup due to mishandling of VM parsing (#5424)
  • Fixed debug logging not working due to backend changes in v4.3.1
  • Fixed a crash when QEMU tries to output non-printable characters
  • Add support for SWTPM for TPM 2.0 emulation
  • Add Secure Boot firmware for ARM64. Only the Secure Boot firmwares have TPM 2.0 support built in, so when TPM 2.0 and UEFI are enabled, UTM will automatically select the Secure Boot firmware. By default the UTM platform keys and Microsoft key exchange keys are enrolled. You can manually set up your own keys from the UEFI menu.
  • Updated the EDK2 UEFI firmware to the 202305 release
  • Debug logs will no longer be deleted when a VM configuration is saved and debug log is not disabled
  • Fixed an issue where the mouse cursor stopped working due to backend changes in v4.3.1
  • If the Documents directory does not exist in UTM's container, it will now be created automatically. This addresses an error that shows up if the Documents directory does not get created properly by macOS. (#5419)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Fixed an issue where TSO setting was not saved
  • (macOS) Fixed an issue where every time a VM is started with a terminal window, the width of the window gets a bit larger
  • (macOS) Fixed an issue where starting a stopped VM does not change the display scale
  • (macOS) AVM: System keys will be captured automatically when entering full screen and released when exiting full screen (#3668)
  • (macOS) AVM: Fixed the request stop method in both the GUI and scripting interfaces (#5425)

Changes (v4.3.1)

  • Updated QEMU backend to v8.0.2
  • Refactored QEMU support to a new project: QEMUKit
  • Machines with IDE interface (i44FX/PIIX) will now support two units per bus. Previously, we mapped IDE devices to one unit per bus. This means on some machines, the limit was two devices maximum. Now, we map two units per IDE bus which should increase the limit to four devices. Existing VMs will not get this change automatically in order to maintain compatibility. You can choose to opt-in to this new mapping by pressing the “Update Interface” button on each IDE drive in the VM settings. (#5358)
  • Localization: Updated Japanese (thanks @MMP0 and @studio1a9)
  • (macOS) Fixed crash when AVM window is closed (#5347)
  • (macOS) New option “Automatic” for bridged network connection which will use the bridge the first active connection on the host. Both AVM and QEMU backends are supported. (#5410)
  • (macOS) Fixed trackpad setting not saving (#5369)

Changes (v4.3.0)

  • Updated QEMU backend to v8.0.0
  • Changed audio backend from CoreAudio back to SPICE (as it was before v4.2.x). Clarify that CoreAudio backend does not support microphone (#5253)
  • Add support for mouse buttons 4 and 5 (#5295)
  • Wizard: Properly display an error message when there is a failure writing to disk (#5271)
  • Fixed an issue where ISAPC emulation target cannot be started (#5280)
  • Fixed CoreAudio being instantiated even when audio is disabled
  • Fixed an issue where legacy VMs with AC97 sound card has an empty name in settings
  • Fixed an QEMU issue where the ucomiss instruction causes a crash in some applications (#5294)
  • Fixed an issue preventing VMs with commas in their name from starting (note only new VMs will be fixed) (#5332)
  • (macOS) AVM: Support canceling macOS installation
  • (macOS) utmctl: Added delete command (#5290)
  • (macOS) Fixed an issue creating a shortcut from drag & drop as well as double clicking from Finder (#5310, #5311)
  • (macOS) Added DHCP start/end settings for vmnet (#5301)
  • (macOS) Added automatically syncing of system clock when macOS wakes up from sleep (when QEMU guest agent is installed) (#5252)

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM.HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM.SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

v4.3.3

7 months ago

Highlights

  • QEMU backend updated to v8.0.2
  • Rewrite of QEMU support internals. Much of the code to support QEMU has been refactored into a new project, QEMUKit, which will make it easier to support QEMU changes as well as support for new platforms. This means that v4.3.1 may contain a lot of UI bugs as testing is needed to make sure the new internals match up with the existing UI. Please help us by reporting any such issue you stumble upon.
  • TPM 2.0 and Secure Boot This is required for Windows 11 updates to 22H2. To enable TPM on an existing virtual machine (only x86_64, i386, and ARM64 architectures are supported), open the VM settings, go to the QEMU page and select "UEFI Boot", "TPM 2.0 Device", and "Reset UEFI Variables." Any new VM created through the wizard will have TPM 2.0 and Secure Boot enabled by default if Windows 10+ support is checked.
  • Download Windows installer with a new utility. We know that creating a Windows installer can be a hassle which is why we are releasing a new free tool called CrystalFetch which can be found on GitHub as well as free on the Mac App Store. This companion to UTM will allow you to generate a Windows 11 ISO with a few clicks (no Terminal, Homebrew, or scripts required). Note that just like before, you still need a valid license from Microsoft to use Windows.

Notes

On i386 and x86_64 machines, HPET is now disabled by default. This improves performance (slightly) on some guests and also addresses boot issues with OpenIndiana. This change means that suspended VM state from previous versions are not compatible, so please shut down those VMs before updating. If you require HPET to be enabled for any reason, go into the VM's settings and under QEMU → QEMU Machine Properties, add the text hpet=on.

Changes (v4.3.3)

  • Fixed a crash when selecting a VM (#5481)
  • Fixed a crash when starting a VM and an error occurred when creating display/serial devices (#5472)
  • Fixed boot issues when trying to load OpenIndiana by disabling HPET timers by default (#2394)
  • Fixed an issue where selected removable drive image and shared directory are not syncing correctly
  • QEMUKit: Fixed race condition when multiple RPC commands are sent (#5477)
  • EDK2: Fixed an issue preventing some versions of Windows 11 from booting (#5495)
  • utmctl: Add a more verbose error message when utmctl fails because it is launched from an SSH session or before logging in (#5499)
  • Wizard: Fixed selected boot ISO not saving (#5471)
  • Wizard: Link to CrystalFetch when Windows is selected
  • (macOS) AVF: Automatically un-capture system keys when VM terminates

Changes (v4.3.2)

  • The last update introduced two units per bus for IDE devices. However, some machines do not support this configuration, so now two units per bus will only be enabled for supported machines. Other machines will retain pre v4.3.1 behaviour.
  • Fixed some state tracking issues leading to various errors when a VM is quickly stopped and started again.
  • Changed the style of the icons on various VM operations in the home screen and context menu (iOS) (thanks @jnsdrtlf) (#5441, #4759)
  • Fixed an issue where serial device hardware was not saved
  • Fixed the error that shows up when trying to rename a VM (#5444)
  • Fixed a crash on startup due to mishandling of VM parsing (#5424)
  • Fixed debug logging not working due to backend changes in v4.3.1
  • Fixed a crash when QEMU tries to output non-printable characters
  • Add support for SWTPM for TPM 2.0 emulation
  • Add Secure Boot firmware for ARM64. Only the Secure Boot firmwares have TPM 2.0 support built in, so when TPM 2.0 and UEFI are enabled, UTM will automatically select the Secure Boot firmware. By default the UTM platform keys and Microsoft key exchange keys are enrolled. You can manually set up your own keys from the UEFI menu.
  • Updated the EDK2 UEFI firmware to the 202305 release
  • Debug logs will no longer be deleted when a VM configuration is saved and debug log is not disabled
  • Fixed an issue where the mouse cursor stopped working due to backend changes in v4.3.1
  • If the Documents directory does not exist in UTM's container, it will now be created automatically. This addresses an error that shows up if the Documents directory does not get created properly by macOS. (#5419)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Fixed an issue where TSO setting was not saved
  • (macOS) Fixed an issue where every time a VM is started with a terminal window, the width of the window gets a bit larger
  • (macOS) Fixed an issue where starting a stopped VM does not change the display scale
  • (macOS) AVM: System keys will be captured automatically when entering full screen and released when exiting full screen (#3668)
  • (macOS) AVM: Fixed the request stop method in both the GUI and scripting interfaces (#5425)

Changes (v4.3.1)

  • Updated QEMU backend to v8.0.2
  • Refactored QEMU support to a new project: QEMUKit
  • Machines with IDE interface (i44FX/PIIX) will now support two units per bus. Previously, we mapped IDE devices to one unit per bus. This means on some machines, the limit was two devices maximum. Now, we map two units per IDE bus which should increase the limit to four devices. Existing VMs will not get this change automatically in order to maintain compatibility. You can choose to opt-in to this new mapping by pressing the “Update Interface” button on each IDE drive in the VM settings. (#5358)
  • Localization: Updated Japanese (thanks @MMP0 and @studio1a9)
  • (macOS) Fixed crash when AVM window is closed (#5347)
  • (macOS) New option “Automatic” for bridged network connection which will use the bridge the first active connection on the host. Both AVM and QEMU backends are supported. (#5410)
  • (macOS) Fixed trackpad setting not saving (#5369)

Changes (v4.3.0)

  • Updated QEMU backend to v8.0.0
  • Changed audio backend from CoreAudio back to SPICE (as it was before v4.2.x). Clarify that CoreAudio backend does not support microphone (#5253)
  • Add support for mouse buttons 4 and 5 (#5295)
  • Wizard: Properly display an error message when there is a failure writing to disk (#5271)
  • Fixed an issue where ISAPC emulation target cannot be started (#5280)
  • Fixed CoreAudio being instantiated even when audio is disabled
  • Fixed an issue where legacy VMs with AC97 sound card has an empty name in settings
  • Fixed an QEMU issue where the ucomiss instruction causes a crash in some applications (#5294)
  • Fixed an issue preventing VMs with commas in their name from starting (note only new VMs will be fixed) (#5332)
  • (macOS) AVM: Support canceling macOS installation
  • (macOS) utmctl: Added delete command (#5290)
  • (macOS) Fixed an issue creating a shortcut from drag & drop as well as double clicking from Finder (#5310, #5311)
  • (macOS) Added DHCP start/end settings for vmnet (#5301)
  • (macOS) Added automatically syncing of system clock when macOS wakes up from sleep (when QEMU guest agent is installed) (#5252)

Issues

Please check the full list on Github and help report any bug you find that is not listed.

Installation

File Description Installation JIT Hypervisor USB
UTM.deb Jailbroken iOS version Open in Cydia, dpkg, or Sileo Yes Yes(1) Yes
UTM.dmg macOS version Mounting and copying UTM.app to /Applications Yes Yes Yes
UTM.ipa Non-jailbroken iOS version (sideloading) AltStore, etc (see guide) Yes(2) No No
UTM.HV.ipa Non-jailbroken iOS version (TrollStore) TrollStore Yes Yes(1) Yes
UTM.SE.ipa Non-jailbroken iOS version (sideloading) AltStore, enterprise signing, etc No No No
  1. Hypervisor on iOS requires an M1 iPad.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.