UTM

osy

Compatibility: This package is compatible with iOS 11.0.

UTM is a full featured virtual machine host for iOS. In short, it allows you to run Windows, Android, and more on your iPhone and iPad. More information at https://getutm.app/

This package requires AppSync Unified from Karen's Repo. Make sure to add https://cydia.akemi.ai/ to your repository list before installing!

Note upgrading from < v2.0.22: The old version of this package installs UTM to /Applications (just like other jailbreak apps). This was an issue because UTM uses sandboxed features and was partially broken when installed that way. Since AppSync Unified was released for iOS 14, UTM now installs the sandboxed IPA directly and as a result your old VMs will not be visible. If you had an older version installed, you need to move your VMs from /var/mobile/Documents to a temporary location and then open it from the built-in Files app to import it into the UTM sandbox location. Then, you can delete the old files.

Features

  • 30+ processors supported including x86_64, ARM64, and RISC-V thanks to QEMU as a backend
  • Fast native graphics through para-virtualization thanks to SPICE
  • JIT based acceleration using QEMU TCG
  • Frontend designed from scratch for iOS11+ using the latest and greatest APIs
  • Create, manage, run VMs directly from your device

Notes

  • If you wish to keep your VMs, make sure to back them up before uninstalling.
  • Some poorly written jailbreak tweaks cause iOS to go into a reboot loop if you run out of storage (regardless if UTM is installed or not). To be safe, make sure you never allocate more storage to a VM than the amount of free space you have.

Information

Developer
osy


Version
4.5.2


Compatibility
iOS 11.0


Section
Productivity


View Source Code

4.5.2

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.

Notes

  • (macOS) The automation URI scheme has been removed due to potential security issues if the user clicks a malicious link that sends an input to the VM. Most of the URI scheme functionality has moved to the scripting interface.

Changes (v4.5.2)

  • Improved icon selector UI (thanks @js-john)
  • Changed the position of destructive buttons in various confirmation alerts to better comply with Apple Human Interface Guidelines
  • Wizard: New options for "Other" operating system to allow for Floppy boot as well as legacy hardware (useful for setting up a DOS machine)
  • Wizard: Fixed an issue where the Windows Guest Tools will be downloaded even when a non-Windows VM is created
  • Localization: Updated Chinese (Simplified + Hong Kong) (thanks @changanmoon)
  • Localization: Updated Polish (thanks @mavethee)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS) Fixed an issue where a machine with an empty removable drive cannot be booted
  • (iOS) New view for donation options
  • (visionOS) Fixed a crash when any VM is selected
  • (macOS) New setting: "Capture input automatically when window is focused" when enabled will automatically capture mouse/keyboard when a QEMU VM is started and when the VM window is clicked on (thanks @js-john)
  • (macOS) When "Capture input automatically when entering full screen" is enabled and the cursor moves to a different workspace (for example through a gesture), the cursor will be captured again upon re-entering the QEMU VM (#6242) (thanks @haroldm)
  • (macOS) Server: Fixed a crash due to bad format string
  • (macOS) Home: Support drag & drop onto a removable drive or shared directory (#3312) (thanks @hamtiko)
  • (macOS) Fixed an issue where cloning/moving an AVFW VM is extremely slower than Finder (#6262)
  • (macOS) Added a progress indicator for long duration tasks such as cloning/moving a VM or reclaiming free space (#4006)

Changes (v4.5.1)

  • Fixed an issue with file locking resulting in VMs refusing to boot (#5757, #5830)
  • Fixed incorrect VM size calculation (#6166)
  • Show confirmation popup for VM downloads (#6156)
  • Removed automation URI scheme due to potential security issues (#6155)
  • Fixed display of newly selected custom icon (#6137)
  • Wizard: allow completely deleting RAM and storage size (#5885)
  • Scripting: Fixed file and process commands not working due to incorrect object life cycle (#5963)
  • Localization: Updated Japanese (thanks @MMP0)
  • Localization: Updated Polish (thanks @mavethee)
  • Localization: Updated Chinese (Simplified + Traditional) (thanks @changanmoon)
  • (iOS) Fixed zooming with pinch (#6179)
  • (macOS) Fixed USB icon always disabled (#6222)
  • (macOS) Fixed a crash when removing a device while a text field is highlighted (#5901)
  • (macOS) Fixed error message when double-clicking on a headless VM which has already been started (#5972)
  • (macOS) AVF: New display option to disable dynamic resolution in macOS 14+ VMs (#5873)
  • (macOS) Remove "VM display size is fixed" global setting because it was confusing and does not do the right thing
  • (macOS) Fixed incorrect display scaling when host screen resolution is smaller than VM display size (#6214)

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.

4.5.1

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.

Notes

  • (macOS) The automation URI scheme has been removed due to potential security issues if the user clicks a malicious link that sends an input to the VM. Most of the URI scheme functionality has moved to the scripting interface.

Changes (v4.5.1)

  • Fixed an issue with file locking resulting in VMs refusing to boot (#5757, #5830)
  • Fixed incorrect VM size calculation (#6166)
  • Show confirmation popup for VM downloads (#6156)
  • Removed automation URI scheme due to potential security issues (#6155)
  • Fixed display of newly selected custom icon (#6137)
  • Wizard: allow completely deleting RAM and storage size (#5885)
  • Scripting: Fixed file and process commands not working due to incorrect object life cycle (#5963)
  • Localization: Updated Japanese (thanks @MMP0)
  • Localization: Updated Polish (thanks @mavethee)
  • Localization: Updated Chinese (Simplified + Traditional) (thanks @changanmoon)
  • (iOS) Fixed zooming with pinch (#6179)
  • (macOS) Fixed USB icon always disabled (#6222)
  • (macOS) Fixed a crash when removing a device while a text field is highlighted (#5901)
  • (macOS) Fixed error message when double-clicking on a headless VM which has already been started (#5972)
  • (macOS) AVF: New display option to disable dynamic resolution in macOS 14+ VMs (#5873)
  • (macOS) Remove "VM display size is fixed" global setting because it was confusing and does not do the right thing
  • (macOS) Fixed incorrect display scaling when host screen resolution is smaller than VM display size (#6214)

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.

4.5.0

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.

4.4.5

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.

4.4.4

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.

4.4.3

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.

4.4.2

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.

4.4.1

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.

4.4.0

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.

4.3.5

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.

4.3.4

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.

4.3.3

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.

4.3.2

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.

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.

4.3.1

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.

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.

4.3.0

Highlights

  • QEMU backend updated to v8.0.0.

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.

4.2.5

Highlights

  • (iOS SE) TCTI backend updates. Vector instruction support can improve the performance of certain workloads.
  • (macOS) Guest interface commands. New commands accessible from the scripting interface as well as the command line interface (utmctl) can be used to read/write files, execute commands, and list IP addresses. These commands require QEMU guest agent to be installed.
  • (macOS) Scripting interface additions. The scripting interface now allows for creation of a new VM, configuration an existing VM, changing drive image, and more. See this page for more details and the cheat sheet for example usage.
  • (macOS) External read-write drive images. In QEMU, if a supported drive interface is selected (USB, Floppy, etc) along with an image type of Disk, the drive can now be marked as either read-only or read-write. This can be used as an alternative way of transferring data to and from the VM when the guest does not support SPICE or VirtFS. In AVF, support for read-write images has be fixed as well (when "read only" is unchecked in the settings).

Changes (v4.2.5)

  • Reverted ANGLE to an older version which includes the fix detailed in v4.2.4 but also does not break the Metal backend (#5238)
  • Translation: updated Polish (thanks @matgaj, @mavethee)
  • (macOS) Fixed an issue where the pointer device stopped working on macOS Monterey guests (#5237)
  • (macOS) AVM: Added option to use emulated trackpad (requires macOS Ventura guest)

Changes (v4.2.4)

  • UTM will now display the release notes the first time a new version is launched
  • Updated ANGLE which should fix some GPU acceleration issues on Linux (please see known issues below for unresolved issues)
  • Fixed an issue where a removable drive or VirtIO shared directory was set up when QEMUHelper was already running and therefore was not able to create a bookmark and an "access denied" error shows up on startup
  • Introduced a new preference setting for using the Option key as Meta in the built in console. This was on by default in previous versions and is not off by default which should allow international text to be entered properly (#5202)
  • Wizard: Make virtio-gpu-pci default for Linux (again) which was reverted a few releases ago in order to address some GPU issues
  • Translation: updated Polish (thanks @matgaj)
  • (iOS) Fixed built in terminal overlapping in the safe area

Changes (v4.2.3)

  • Added support for read-write removable devices on supported interfaces (USB, Floppy, etc). To use this feature, set the image type to "Disk" and uncheck the "Read Only?" option in the drive settings. Note that you may have to eject and re-mount the drive image for effect to take place. (#5079)
  • Removable USB devices will no longer show up as a CD drive if the image type is set to "Disk" (#5171)
  • Reverted a change from v4.2.0 where virtio bus devices were removed (this broke some people's configurations) (#5137)
  • Fixed an issue where when QEMU fails to start, subsequent attempts to start the VM will automatically fail
  • Fixed an issue where due to a race, removable drives may not be mounted on start
  • (iOS) Fixed an issue when the pointer is hovering over a toolbar button when the VM starts and subsequent clicks will toggle the button (#4843)
  • (macOS) AVF: Fixed an issue where a removable drive that is not marked as read-only still gets marked as read-only after restarting UTM (when upgrading from a previous version, you must eject and re-mount the image for effect to take place) (#5170)
  • (macOS) Fixed an issue where incorrect subnet parameters are generated for vmnet advanced settings (#5128)
  • (macOS) CLI: Added a new clone command (#5004)

Changes (v4.2.2)

  • Fixed an issue where a VM that is moved manually (e.g. with Finder) cannot be started (#5121)
  • Fixed an issue where the cursor disappears after resuming a suspended VM (#4665)
  • (macOS) Scripting: Add support for make, duplicate, and delete verbs on virtual machines
  • (macOS) Scripting: Add support for modifying certain configuration options
  • (macOS) Scripting: Removed virtual machine properties: notes, machine, architecture, memory. You should now use similar properties in the configuration record
  • (macOS) Support changing the audio backend to CoreAudio and make CoreAudio the default (due to better latency and as a workaround to some crashes) (#5125)

Changes (v4.2.1)

  • QEMU: Support more than 8 cores for ARM64 targets (#4847)
  • Synchronize time on resume when QEMU guest agent is installed which should fix clock drift issues (#3218)
  • (iOS SE) Updated TCTI to latest branch from @ktemkin which has support for vector instructions (#4865)
  • (macOS) Switch to emulated trackpad when guest+host are macOS 13+ (second attempt for #4636 and #4645)
  • (macOS) Fixed the "raw image" checkbox when creating a new drive (#5100)
  • (macOS) Add PC speaker sound device as an option. You can now add a second sound device on supported targets (x86_64/i386 PC based targets) and set the hardware to PC Speaker to emulate older motherboard speakers.
  • (macOS) Scripting: new verbs "open file", "execute", and "query ip" which uses the QEMU guest agent to send commands to the guest. Use the Apple Script Editor's Open Dictionary tool for more information.
  • (macOS) CLI: new commands "file push", "file pull", "exec", and "ip-address". See utmctl help for more information.

Changes (v4.2.0)

  • Updated virglrenderer to latest (27/02/2023) commit
  • Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
  • ~~Remove virtio-bus devices (they didn't work) (#4893)~~
  • Support drag and drop to import an .utm package (#3599)
  • Support copying sparse images across different volumes (thanks @ktprograms)
  • Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
  • Fixed error when importing a new drive with the same name as an existing drive (#5052)
  • ~~Fixed a crash on startup when multiple audio devices are plugged in (#4629)~~
  • Wizard: Generate a working configuration for isapc (#4961)
  • Settings: Use pretty labels for CPU flags (#4940)
  • Translation: updated French (thanks @FRtranslator)
  • Translation: added Czech readme (thanks @stinovlasmp)
  • Translation: updated German (thanks @LostInCompilation and @afh)
  • (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
  • (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
  • (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
  • (macOS) Preference: added option to force Num Lock on (#4625)
  • (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
  • (macOS) Preference: added option to suppress exit confirmation (#4989)
  • (macOS) Fixed delete drive confirmation not showing up on latest macOS
  • (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
  • (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
  • (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
  • (macOS) Support following a change in system default input or output audio device (#3488)
  • (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
  • (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)

Issues

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

  • There is a known bug in newer versions of Mesa which prevents some Wayland applications (such as Firefox) from launching when GPU acceleration is enabled. One workaround is to switch to Xorg from the log-in screen (typically by clicking on the gear icon) and another is to patch Mesa to a newer version.
  • Debian 12 fails to load the GUI installer when GPU acceleration is enabled. Please use the text installer instead.

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.

4.2.4

Highlights

  • (iOS SE) TCTI backend updates. Vector instruction support can improve the performance of certain workloads.
  • (macOS) Guest interface commands. New commands accessible from the scripting interface as well as the command line interface (utmctl) can be used to read/write files, execute commands, and list IP addresses. These commands require QEMU guest agent to be installed.
  • (macOS) Scripting interface additions. The scripting interface now allows for creation of a new VM, configuration an existing VM, changing drive image, and more. See this page for more details and the cheat sheet for example usage.
  • (macOS) External read-write drive images. In QEMU, if a supported drive interface is selected (USB, Floppy, etc) along with an image type of Disk, the drive can now be marked as either read-only or read-write. This can be used as an alternative way of transferring data to and from the VM when the guest does not support SPICE or VirtFS. In AVF, support for read-write images has be fixed as well (when "read only" is unchecked in the settings).

Changes (v4.2.4)

  • UTM will now display the release notes the first time a new version is launched
  • Updated ANGLE which should fix some GPU acceleration issues on Linux (please see known issues below for unresolved issues)
  • Fixed an issue where a removable drive or VirtIO shared directory was set up when QEMUHelper was already running and therefore was not able to create a bookmark and an "access denied" error shows up on startup
  • Introduced a new preference setting for using the Option key as Meta in the built in console. This was on by default in previous versions and is not off by default which should allow international text to be entered properly (#5202)
  • Wizard: Make virtio-gpu-pci default for Linux (again) which was reverted a few releases ago in order to address some GPU issues
  • Translation: updated Polish (thanks @matgaj)
  • (iOS) Fixed built in terminal overlapping in the safe area

Changes (v4.2.3)

  • Added support for read-write removable devices on supported interfaces (USB, Floppy, etc). To use this feature, set the image type to "Disk" and uncheck the "Read Only?" option in the drive settings. Note that you may have to eject and re-mount the drive image for effect to take place. (#5079)
  • Removable USB devices will no longer show up as a CD drive if the image type is set to "Disk" (#5171)
  • Reverted a change from v4.2.0 where virtio bus devices were removed (this broke some people's configurations) (#5137)
  • Fixed an issue where when QEMU fails to start, subsequent attempts to start the VM will automatically fail
  • Fixed an issue where due to a race, removable drives may not be mounted on start
  • (iOS) Fixed an issue when the pointer is hovering over a toolbar button when the VM starts and subsequent clicks will toggle the button (#4843)
  • (macOS) AVF: Fixed an issue where a removable drive that is not marked as read-only still gets marked as read-only after restarting UTM (when upgrading from a previous version, you must eject and re-mount the image for effect to take place) (#5170)
  • (macOS) Fixed an issue where incorrect subnet parameters are generated for vmnet advanced settings (#5128)
  • (macOS) CLI: Added a new clone command (#5004)

Changes (v4.2.2)

  • Fixed an issue where a VM that is moved manually (e.g. with Finder) cannot be started (#5121)
  • Fixed an issue where the cursor disappears after resuming a suspended VM (#4665)
  • (macOS) Scripting: Add support for make, duplicate, and delete verbs on virtual machines
  • (macOS) Scripting: Add support for modifying certain configuration options
  • (macOS) Scripting: Removed virtual machine properties: notes, machine, architecture, memory. You should now use similar properties in the configuration record
  • (macOS) Support changing the audio backend to CoreAudio and make CoreAudio the default (due to better latency and as a workaround to some crashes) (#5125)

Changes (v4.2.1)

  • QEMU: Support more than 8 cores for ARM64 targets (#4847)
  • Synchronize time on resume when QEMU guest agent is installed which should fix clock drift issues (#3218)
  • (iOS SE) Updated TCTI to latest branch from @ktemkin which has support for vector instructions (#4865)
  • (macOS) Switch to emulated trackpad when guest+host are macOS 13+ (second attempt for #4636 and #4645)
  • (macOS) Fixed the "raw image" checkbox when creating a new drive (#5100)
  • (macOS) Add PC speaker sound device as an option. You can now add a second sound device on supported targets (x86_64/i386 PC based targets) and set the hardware to PC Speaker to emulate older motherboard speakers.
  • (macOS) Scripting: new verbs "open file", "execute", and "query ip" which uses the QEMU guest agent to send commands to the guest. Use the Apple Script Editor's Open Dictionary tool for more information.
  • (macOS) CLI: new commands "file push", "file pull", "exec", and "ip-address". See utmctl help for more information.

Changes (v4.2.0)

  • Updated virglrenderer to latest (27/02/2023) commit
  • Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
  • ~~Remove virtio-bus devices (they didn't work) (#4893)~~
  • Support drag and drop to import an .utm package (#3599)
  • Support copying sparse images across different volumes (thanks @ktprograms)
  • Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
  • Fixed error when importing a new drive with the same name as an existing drive (#5052)
  • ~~Fixed a crash on startup when multiple audio devices are plugged in (#4629)~~
  • Wizard: Generate a working configuration for isapc (#4961)
  • Settings: Use pretty labels for CPU flags (#4940)
  • Translation: updated French (thanks @FRtranslator)
  • Translation: added Czech readme (thanks @stinovlasmp)
  • Translation: updated German (thanks @LostInCompilation and @afh)
  • (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
  • (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
  • (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
  • (macOS) Preference: added option to force Num Lock on (#4625)
  • (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
  • (macOS) Preference: added option to suppress exit confirmation (#4989)
  • (macOS) Fixed delete drive confirmation not showing up on latest macOS
  • (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
  • (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
  • (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
  • (macOS) Support following a change in system default input or output audio device (#3488)
  • (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
  • (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)

Issues

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

  • There is a known bug in newer versions of Mesa which prevents some Wayland applications (such as Firefox) from launching when GPU acceleration is enabled. One workaround is to switch to Xorg from the log-in screen (typically by clicking on the gear icon) and another is to patch Mesa to a newer version.
  • Debian 12 fails to load the GUI installer when GPU acceleration is enabled. Please use the text installer instead.
  • The Metal renderer backend is broken on macOS, please change your renderer to OpenGL or "Default"

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.

4.2.3

Highlights

  • (iOS SE) TCTI backend updates. Vector instruction support can improve the performance of certain workloads.
  • (macOS) Guest interface commands. New commands accessible from the scripting interface as well as the command line interface (utmctl) can be used to read/write files, execute commands, and list IP addresses. These commands require QEMU guest agent to be installed.
  • (macOS) Scripting interface additions. The scripting interface now allows for creation of a new VM, configuration an existing VM, changing drive image, and more. See this page for more details and the cheat sheet for example usage.
  • (macOS) External read-write drive images. In QEMU, if a supported drive interface is selected (USB, Floppy, etc) along with an image type of Disk, the drive can now be marked as either read-only or read-write. This can be used as an alternative way of transferring data to and from the VM when the guest does not support SPICE or VirtFS. In AVF, support for read-write images has be fixed as well (when "read only" is unchecked in the settings).

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11

Changes (v4.2.3)

  • Added support for read-write removable devices on supported interfaces (USB, Floppy, etc). To use this feature, set the image type to "Disk" and uncheck the "Read Only?" option in the drive settings. Note that you may have to eject and re-mount the drive image for effect to take place. (#5079)
  • Removable USB devices will no longer show up as a CD drive if the image type is set to "Disk" (#5171)
  • Reverted a change from v4.2.0 where virtio bus devices were removed (this broke some people's configurations) (#5137)
  • Fixed an issue where when QEMU fails to start, subsequent attempts to start the VM will automatically fail
  • Fixed an issue where due to a race, removable drives may not be mounted on start
  • (iOS) Fixed an issue when the pointer is hovering over a toolbar button when the VM starts and subsequent clicks will toggle the button (#4843)
  • (macOS) AVF: Fixed an issue where a removable drive that is not marked as read-only still gets marked as read-only after restarting UTM (when upgrading from a previous version, you must eject and re-mount the image for effect to take place) (#5170)
  • (macOS) Fixed an issue where incorrect subnet parameters are generated for vmnet advanced settings (#5128)
  • (macOS) CLI: Added a new clone command (#5004)

Changes (v4.2.2)

  • Fixed an issue where a VM that is moved manually (e.g. with Finder) cannot be started (#5121)
  • Fixed an issue where the cursor disappears after resuming a suspended VM (#4665)
  • (macOS) Scripting: Add support for make, duplicate, and delete verbs on virtual machines
  • (macOS) Scripting: Add support for modifying certain configuration options
  • (macOS) Scripting: Removed virtual machine properties: notes, machine, architecture, memory. You should now use similar properties in the configuration record
  • (macOS) Support changing the audio backend to CoreAudio and make CoreAudio the default (due to better latency and as a workaround to some crashes) (#5125)

Changes (v4.2.1)

  • QEMU: Support more than 8 cores for ARM64 targets (#4847)
  • Synchronize time on resume when QEMU guest agent is installed which should fix clock drift issues (#3218)
  • (iOS SE) Updated TCTI to latest branch from @ktemkin which has support for vector instructions (#4865)
  • (macOS) Switch to emulated trackpad when guest+host are macOS 13+ (second attempt for #4636 and #4645)
  • (macOS) Fixed the "raw image" checkbox when creating a new drive (#5100)
  • (macOS) Add PC speaker sound device as an option. You can now add a second sound device on supported targets (x86_64/i386 PC based targets) and set the hardware to PC Speaker to emulate older motherboard speakers.
  • (macOS) Scripting: new verbs "open file", "execute", and "query ip" which uses the QEMU guest agent to send commands to the guest. Use the Apple Script Editor's Open Dictionary tool for more information.
  • (macOS) CLI: new commands "file push", "file pull", "exec", and "ip-address". See utmctl help for more information.

Changes (v4.2.0)

  • Updated virglrenderer to latest (27/02/2023) commit
  • Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
  • ~~Remove virtio-bus devices (they didn't work) (#4893)~~
  • Support drag and drop to import an .utm package (#3599)
  • Support copying sparse images across different volumes (thanks @ktprograms)
  • Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
  • Fixed error when importing a new drive with the same name as an existing drive (#5052)
  • ~~Fixed a crash on startup when multiple audio devices are plugged in (#4629)~~
  • Wizard: Generate a working configuration for isapc (#4961)
  • Settings: Use pretty labels for CPU flags (#4940)
  • Translation: updated French (thanks @FRtranslator)
  • Translation: added Czech readme (thanks @stinovlasmp)
  • Translation: updated German (thanks @LostInCompilation and @afh)
  • (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
  • (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
  • (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
  • (macOS) Preference: added option to force Num Lock on (#4625)
  • (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
  • (macOS) Preference: added option to suppress exit confirmation (#4989)
  • (macOS) Fixed delete drive confirmation not showing up on latest macOS
  • (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
  • (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
  • (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
  • (macOS) Support following a change in system default input or output audio device (#3488)
  • (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
  • (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)

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.

4.2.2

Highlights

  • (iOS SE) TCTI backend updates. Vector instruction support can improve the performance of certain workloads.
  • (macOS) Guest interface commands. New commands accessible from the scripting interface as well as the command line interface (utmctl) can be used to read/write files, execute commands, and list IP addresses. These commands require QEMU guest agent to be installed.
  • (macOS) Scripting interface additions. The scripting interface now allows for creation of a new VM, configuration an existing VM, changing drive image, and more. See this page for more details and the cheat sheet for example usage.

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11

Changes (v4.2.2)

  • Fixed an issue where a VM that is moved manually (e.g. with Finder) cannot be started (#5121)
  • Fixed an issue where the cursor disappears after resuming a suspended VM (#4665)
  • (macOS) Scripting: Add support for make, duplicate, and delete verbs on virtual machines
  • (macOS) Scripting: Add support for modifying certain configuration options
  • (macOS) Scripting: Removed virtual machine properties: notes, machine, architecture, memory. You should now use similar properties in the configuration record
  • (macOS) Support changing the audio backend to CoreAudio and make CoreAudio the default (due to better latency and as a workaround to some crashes) (#5125)

Changes (v4.2.1)

  • QEMU: Support more than 8 cores for ARM64 targets (#4847)
  • Synchronize time on resume when QEMU guest agent is installed which should fix clock drift issues (#3218)
  • (iOS SE) Updated TCTI to latest branch from @ktemkin which has support for vector instructions (#4865)
  • (macOS) Switch to emulated trackpad when guest+host are macOS 13+ (second attempt for #4636 and #4645)
  • (macOS) Fixed the "raw image" checkbox when creating a new drive (#5100)
  • (macOS) Add PC speaker sound device as an option. You can now add a second sound device on supported targets (x86_64/i386 PC based targets) and set the hardware to PC Speaker to emulate older motherboard speakers.
  • (macOS) Scripting: new verbs "open file", "execute", and "query ip" which uses the QEMU guest agent to send commands to the guest. Use the Apple Script Editor's Open Dictionary tool for more information.
  • (macOS) CLI: new commands "file push", "file pull", "exec", and "ip-address". See utmctl help for more information.

Changes (v4.2.0)

  • Updated virglrenderer to latest (27/02/2023) commit
  • Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
  • Remove virtio-bus devices (they didn't work) (#4893)
  • Support drag and drop to import an .utm package (#3599)
  • Support copying sparse images across different volumes (thanks @ktprograms)
  • Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
  • Fixed error when importing a new drive with the same name as an existing drive (#5052)
  • ~~Fixed a crash on startup when multiple audio devices are plugged in (#4629)~~
  • Wizard: Generate a working configuration for isapc (#4961)
  • Settings: Use pretty labels for CPU flags (#4940)
  • Translation: updated French (thanks @FRtranslator)
  • Translation: added Czech readme (thanks @stinovlasmp)
  • Translation: updated German (thanks @LostInCompilation and @afh)
  • (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
  • (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
  • (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
  • (macOS) Preference: added option to force Num Lock on (#4625)
  • (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
  • (macOS) Preference: added option to suppress exit confirmation (#4989)
  • (macOS) Fixed delete drive confirmation not showing up on latest macOS
  • (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
  • (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
  • (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
  • (macOS) Support following a change in system default input or output audio device (#3488)
  • (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
  • (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)

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.

4.2.1

Highlights

  • (iOS SE) TCTI backend updates. Vector instruction support can improve the performance of certain workloads.
  • (macOS) Guest interface commands. New commands accessible from the scripting interface as well as the command line interface (utmctl) can be used to read/write files, execute commands, and list IP addresses. These commands require QEMU guest agent to be installed.

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11

Changes (v4.2.1)

  • QEMU: Support more than 8 cores for ARM64 targets (#4847)
  • Synchronize time on resume when QEMU guest agent is installed which should fix clock drift issues (#3218)
  • (iOS SE) Updated TCTI to latest branch from @ktemkin which has support for vector instructions (#4865)
  • (macOS) Switch to emulated trackpad when guest+host are macOS 13+ (second attempt for #4636 and #4645)
  • (macOS) Fixed the "raw image" checkbox when creating a new drive (#5100)
  • (macOS) Add PC speaker sound device as an option. You can now add a second sound device on supported targets (x86_64/i386 PC based targets) and set the hardware to PC Speaker to emulate older motherboard speakers.
  • (macOS) Scripting: new verbs "open file", "execute", and "query ip" which uses the QEMU guest agent to send commands to the guest. Use the Apple Script Editor's Open Dictionary tool for more information.
  • (macOS) CLI: new commands "file push", "file pull", "exec", and "ip-address". See utmctl help for more information.

Changes (v4.2.0)

  • Updated virglrenderer to latest (27/02/2023) commit
  • Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
  • Remove virtio-bus devices (they didn't work) (#4893)
  • Support drag and drop to import an .utm package (#3599)
  • Support copying sparse images across different volumes (thanks @ktprograms)
  • Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
  • Fixed error when importing a new drive with the same name as an existing drive (#5052)
  • ~~Fixed a crash on startup when multiple audio devices are plugged in (#4629)~~
  • Wizard: Generate a working configuration for isapc (#4961)
  • Settings: Use pretty labels for CPU flags (#4940)
  • Translation: updated French (thanks @FRtranslator)
  • Translation: added Czech readme (thanks @stinovlasmp)
  • Translation: updated German (thanks @LostInCompilation and @afh)
  • (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
  • (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
  • (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
  • (macOS) Preference: added option to force Num Lock on (#4625)
  • (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
  • (macOS) Preference: added option to suppress exit confirmation (#4989)
  • (macOS) Fixed delete drive confirmation not showing up on latest macOS
  • (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
  • (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
  • (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
  • (macOS) Support following a change in system default input or output audio device (#3488)
  • (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
  • (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)

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.

4.2.0

Highlights

🌲

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11

Changes (v4.2.0)

  • Updated virglrenderer to latest (27/02/2023) commit
  • Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
  • Remove virtio-bus devices (they didn't work) (#4893)
  • Support drag and drop to import an .utm package (#3599)
  • Support copying sparse images across different volumes (thanks @ktprograms)
  • Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
  • Fixed error when importing a new drive with the same name as an existing drive (#5052)
  • Fixed a crash on startup when multiple audio devices are plugged in (#4629)
  • Wizard: Generate a working configuration for isapc (#4961)
  • Settings: Use pretty labels for CPU flags (#4940)
  • Translation: updated French (thanks @FRtranslator)
  • Translation: added Czech readme (thanks @stinovlasmp)
  • Translation: updated German (thanks @LostInCompilation and @afh)
  • (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
  • (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
  • (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
  • (macOS) Preference: added option to force Num Lock on (#4625)
  • (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
  • (macOS) Preference: added option to suppress exit confirmation (#4989)
  • (macOS) Fixed delete drive confirmation not showing up on latest macOS
  • (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
  • (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
  • (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
  • (macOS) Support following a change in system default input or output audio device (#3488)
  • (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
  • (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)

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.

4.1.6

This is the same release as v4.1.5 but with the change to default enable GPU acceleration for Linux reverted. This is due to a number of guest-side driver issues in the latest version of Mesa (#4983). As a result of these issues, we decided to disable GPU acceleration in Linux by default for new VMs created by the wizard. If you have an existing VM with graphical issues, you can disable GPU acceleration by going into the VM settings, under Display, change the Emulated Display Card to virtio-gpu-pci or another card that does not have -gl in the name. You can verify that GPU acceleration is disabled when the checkbox below the card is unchecked.

Highlights

  • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
  • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal and limit FPS (in Preferences). Switching to Metal is highly recommended.
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
  • (iOS) TrollStore build now supports TSO (Total Store Ordering). TSO is used by Rosetta on the Mac to improve x86_64 emulation on ARM64. It can now be used on M1 iPads with QEMU to improve performance of FEX-Emu or a patched Rosetta. Note that it is recommended that TSO be disabled if you do not need to emulate x86_64 because it can reduce performance of other tasks.
  • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
  • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • ~~Newly created Linux VMs will now use virtio-gpu-gl-pci by default. It is recommended that you change the display card of existing QEMU backend Linux VMs to this card in order to take advantage of the improved renderer backend. This should result in improved performance in GUI rendering. Note that some applications (particularly 3D applications) may lock up or crash UTM and if you are experiencing issues, you can go back to virtio-ramfb or virtio-vga.~~
  • Newly created Windows VMs will now use virtio-ramfb-gl (Apple Silicon) or virtio-vga-gl (Intel) by default. There is NO 3D acceleration drivers for Windows yet, so unlike Linux, this will not improve any compatibility with applications. However, the GL backend can still be beneficial to Windows users because it has smoother animations and less tearing and artifacts. The overall benefits will not be as pronounced as for Linux VMs so it is optional that you change existing VMs to a -gl display card.
  • (iOS) It is recommended that you switch to the Metal backend in Preferences for better performance. However, some applications such as glxgears will not work with the Metal backend.

Changes (v4.1.6)

  • Wizard: Re-introduced the checkbox for "Hardware OpenGL Acceleration" which is disabled by default due to guest-side issues in the latest Mesa driver

Changes (v4.1.5)

  • Improved rendering of non-GL graphics on the new renderer backend. This should reduce some of the tearing seen in earlier updates. For the best performance, it is recommended that a GL backend is selected.
  • Support read-only disk images in QEMU backend as well as selecting images that are read-only (#4838) Note: all external drive images (ISOs) are now loaded as read-only, this was not enforced in previous versions due to an error in the logic.
  • Newly created Windows VMs will now use virtio-ramfb-gl (Apple Silicon) or virtio-vga-gl (Intel) by default. See the Notes section for more information.
  • Fixed an issue where the incorrect tmp directory path was used by QEMU (#4882)
  • Scripting: Fixed an issue where the proper error message was not displayed in some cases.
  • CLI: Improved some help text.
  • Localization: updated Japanese (thanks @MMP0)

Changes (v4.1.4)

  • Fixed slow rendering of GRUB and EFI menus
  • Introduced new optimizations to renderer: bliting done on GPU instead of CPU now (for non-GL rendering), guest draw calls that are faster than the monitor refresh rate are now consolidated before drawing at vblank, rendering of multiple displays can happen concurrently now
  • Fixed rendering to multiple displays on the new renderer backend
  • Fixed an issue in QEMU where the vmnet backend uses 100% of CPU when the VM is suspended (#4803)
  • (iOS) TrollStore: Fixed JIT enable in the HV builds
  • (iOS) TrollStore: New option to enable TSO (Total Store Ordering) in QEMU settings (see Highlights for more details)
  • (iOS) Restored the default renderer backend to GL. This was changed in v4.1.3 because Metal is faster but the new backend can introduce regressions such as glxgears not working (#4856). As a result, the new backend is now opt-in but is still highly recommended.
  • (iOS) Fixed crash when changing VM settings on iOS 14 (#4864)
  • (iOS) Fixed crash when starting a VM with UTM SE (#4848)
  • (macOS) A tooltip will now reveal why suspend functionality is disabled

Changes (v4.1.3)

  • Updated QEMU to v7.2.0
  • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
  • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
  • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
  • Settings: clearly show if the current display hardware supports GPU acceleration
  • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
  • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
  • Fixed deadlock on startup caused by gstosxaudio (#2364)
  • Fixed memory leak when GPU acceleration is enabled (#4449)
  • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
  • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
  • Fixed incorrect logic when cloning a VM (#4815)
  • Fixed some thread scheduling warning (#4352)
  • Localization: updated French (thanks @FRtranslator)
  • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
  • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
  • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
  • (macOS) New design for global settings (Cmd+,) which better organizes the settings
  • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
  • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

Changes (v4.1.2)

  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
  • Localization: updated Chinese Simplified (thanks @changanmoon)
  • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
  • (macOS) Implement OSA interface for AppleScript
  • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
  • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
  • (macOS 13+) New settings option to disable the dock icon
  • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
  • (macOS) Fix a crash when the pasteboard is updated (#4745)
  • (macOS) Support custom resolutions for Apple Virtualization VMs
  • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

Changes (v4.1.1)

  • Fixed launching SPARC machines (#4575)
  • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
  • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
  • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
  • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
  • Localization: added Polish (thanks @mavethee)
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated French (thanks @FRtranslator)
  • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
  • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
  • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
  • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
  • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
  • (macOS) Added a confirmation dialog when deleting a drive (#4687)

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

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.

4.1.5

Highlights

  • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
  • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal and limit FPS (in Preferences). Switching to Metal is highly recommended.
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
  • (iOS) TrollStore build now supports TSO (Total Store Ordering). TSO is used by Rosetta on the Mac to improve x86_64 emulation on ARM64. It can now be used on M1 iPads with QEMU to improve performance of FEX-Emu or a patched Rosetta. Note that it is recommended that TSO be disabled if you do not need to emulate x86_64 because it can reduce performance of other tasks.
  • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
  • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • Newly created Linux VMs will now use virtio-gpu-gl-pci by default. It is recommended that you change the display card of existing QEMU backend Linux VMs to this card in order to take advantage of the improved renderer backend. This should result in improved performance in GUI rendering. Note that some applications (particularly 3D applications) may lock up or crash UTM and if you are experiencing issues, you can go back to virtio-ramfb or virtio-vga.
  • Newly created Windows VMs will now use virtio-ramfb-gl (Apple Silicon) or virtio-vga-gl (Intel) by default. There is NO 3D acceleration drivers for Windows yet, so unlike Linux, this will not improve any compatibility with applications. However, the GL backend can still be beneficial to Windows users because it has smoother animations and less tearing and artifacts. The overall benefits will not be as pronounced as for Linux VMs so it is optional that you change existing VMs to a -gl display card.
  • (iOS) It is recommended that you switch to the Metal backend in Preferences for better performance. However, some applications such as glxgears will not work with the Metal backend.

Changes (v4.1.5)

  • Improved rendering of non-GL graphics on the new renderer backend. This should reduce some of the tearing seen in earlier updates. For the best performance, it is recommended that a GL backend is selected.
  • Support read-only disk images in QEMU backend as well as selecting images that are read-only (#4838) Note: all external drive images (ISOs) are now loaded as read-only, this was not enforced in previous versions due to an error in the logic.
  • Newly created Windows VMs will now use virtio-ramfb-gl (Apple Silicon) or virtio-vga-gl (Intel) by default. See the Notes section for more information.
  • Fixed an issue where the incorrect tmp directory path was used by QEMU (#4882)
  • Scripting: Fixed an issue where the proper error message was not displayed in some cases.
  • CLI: Improved some help text.
  • Localization: updated Japanese (thanks @MMP0)

Changes (v4.1.4)

  • Fixed slow rendering of GRUB and EFI menus
  • Introduced new optimizations to renderer: bliting done on GPU instead of CPU now (for non-GL rendering), guest draw calls that are faster than the monitor refresh rate are now consolidated before drawing at vblank, rendering of multiple displays can happen concurrently now
  • Fixed rendering to multiple displays on the new renderer backend
  • Fixed an issue in QEMU where the vmnet backend uses 100% of CPU when the VM is suspended (#4803)
  • (iOS) TrollStore: Fixed JIT enable in the HV builds
  • (iOS) TrollStore: New option to enable TSO (Total Store Ordering) in QEMU settings (see Highlights for more details)
  • (iOS) Restored the default renderer backend to GL. This was changed in v4.1.3 because Metal is faster but the new backend can introduce regressions such as glxgears not working (#4856). As a result, the new backend is now opt-in but is still highly recommended.
  • (iOS) Fixed crash when changing VM settings on iOS 14 (#4864)
  • (iOS) Fixed crash when starting a VM with UTM SE (#4848)
  • (macOS) A tooltip will now reveal why suspend functionality is disabled

Changes (v4.1.3)

  • Updated QEMU to v7.2.0
  • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
  • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
  • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
  • Settings: clearly show if the current display hardware supports GPU acceleration
  • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
  • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
  • Fixed deadlock on startup caused by gstosxaudio (#2364)
  • Fixed memory leak when GPU acceleration is enabled (#4449)
  • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
  • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
  • Fixed incorrect logic when cloning a VM (#4815)
  • Fixed some thread scheduling warning (#4352)
  • Localization: updated French (thanks @FRtranslator)
  • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
  • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
  • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
  • (macOS) New design for global settings (Cmd+,) which better organizes the settings
  • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
  • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

Changes (v4.1.2)

  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
  • Localization: updated Chinese Simplified (thanks @changanmoon)
  • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
  • (macOS) Implement OSA interface for AppleScript
  • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
  • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
  • (macOS 13+) New settings option to disable the dock icon
  • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
  • (macOS) Fix a crash when the pasteboard is updated (#4745)
  • (macOS) Support custom resolutions for Apple Virtualization VMs
  • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

Changes (v4.1.1)

  • Fixed launching SPARC machines (#4575)
  • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
  • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
  • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
  • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
  • Localization: added Polish (thanks @mavethee)
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated French (thanks @FRtranslator)
  • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
  • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
  • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
  • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
  • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
  • (macOS) Added a confirmation dialog when deleting a drive (#4687)

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

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.

4.1.4

🎊Happy New Year!🎊

Highlights

  • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
  • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal and limit FPS (in Preferences). Switching to Metal is highly recommended.
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
  • (iOS) TrollStore build now supports TSO (Total Store Ordering). TSO is used by Rosetta on the Mac to improve x86_64 emulation on ARM64. It can now be used on M1 iPads with QEMU to improve performance of FEX-Emu or a patched Rosetta. Note that it is recommended that TSO be disabled if you do not need to emulate x86_64 because it can reduce performance of other tasks.
  • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
  • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

Changes (v4.1.4)

  • Fixed slow rendering of GRUB and EFI menus
  • Introduced new optimizations to renderer: bliting done on GPU instead of CPU now (for non-GL rendering), guest draw calls that are faster than the monitor refresh rate are now consolidated before drawing at vblank, rendering of multiple displays can happen concurrently now
  • Fixed rendering to multiple displays on the new renderer backend
  • Fixed an issue in QEMU where the vmnet backend uses 100% of CPU when the VM is suspended (#4803)
  • (iOS) TrollStore: Fixed JIT enable in the HV builds
  • (iOS) TrollStore: New option to enable TSO (Total Store Ordering) in QEMU settings (see Highlights for more details)
  • (iOS) Restored the default renderer backend to GL. This was changed in v4.1.3 because Metal is faster but the new backend can introduce regressions such as glxgears not working (#4856). As a result, the new backend is now opt-in but is still highly recommended.
  • (iOS) Fixed crash when changing VM settings on iOS 14 (#4864)
  • (iOS) Fixed crash when starting a VM with UTM SE (#4848)
  • (macOS) A tooltip will now reveal why suspend functionality is disabled

Changes (v4.1.3)

  • Updated QEMU to v7.2.0
  • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
  • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
  • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
  • Settings: clearly show if the current display hardware supports GPU acceleration
  • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
  • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
  • Fixed deadlock on startup caused by gstosxaudio (#2364)
  • Fixed memory leak when GPU acceleration is enabled (#4449)
  • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
  • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
  • Fixed incorrect logic when cloning a VM (#4815)
  • Fixed some thread scheduling warning (#4352)
  • Localization: updated French (thanks @FRtranslator)
  • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
  • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
  • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
  • (macOS) New design for global settings (Cmd+,) which better organizes the settings
  • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
  • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

Changes (v4.1.2)

  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
  • Localization: updated Chinese Simplified (thanks @changanmoon)
  • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
  • (macOS) Implement OSA interface for AppleScript
  • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
  • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
  • (macOS 13+) New settings option to disable the dock icon
  • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
  • (macOS) Fix a crash when the pasteboard is updated (#4745)
  • (macOS) Support custom resolutions for Apple Virtualization VMs
  • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

Changes (v4.1.1)

  • Fixed launching SPARC machines (#4575)
  • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
  • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
  • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
  • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
  • Localization: added Polish (thanks @mavethee)
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated French (thanks @FRtranslator)
  • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
  • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
  • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
  • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
  • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
  • (macOS) Added a confirmation dialog when deleting a drive (#4687)

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

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.

4.1.3

Highlights

  • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
  • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal (which is also the default for iOS now) and limit FPS.
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
  • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
  • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

Changes (v4.1.3)

  • Updated QEMU to v7.2.0
  • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
  • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
  • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
  • Settings: clearly show if the current display hardware supports GPU acceleration
  • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
  • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
  • Fixed deadlock on startup caused by gstosxaudio (#2364)
  • Fixed memory leak when GPU acceleration is enabled (#4449)
  • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
  • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
  • Fixed incorrect logic when cloning a VM (#4815)
  • Fixed some thread scheduling warning (#4352)
  • Localization: updated French (thanks @FRtranslator)
  • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
  • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
  • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
  • (macOS) New design for global settings (Cmd+,) which better organizes the settings
  • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
  • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

Changes (v4.1.2)

  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
  • Localization: updated Chinese Simplified (thanks @changanmoon)
  • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
  • (macOS) Implement OSA interface for AppleScript
  • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
  • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
  • (macOS 13+) New settings option to disable the dock icon
  • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
  • (macOS) Fix a crash when the pasteboard is updated (#4745)
  • (macOS) Support custom resolutions for Apple Virtualization VMs
  • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

Changes (v4.1.1)

  • Fixed launching SPARC machines (#4575)
  • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
  • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
  • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
  • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
  • Localization: added Polish (thanks @mavethee)
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated French (thanks @FRtranslator)
  • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
  • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
  • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
  • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
  • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
  • (macOS) Added a confirmation dialog when deleting a drive (#4687)

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

Issues

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

  • UTM SE is currently not working! (#4848)

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.

4.1.2

Highlights

  • QEMU backend updated to v7.1.0
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
  • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
  • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

Changes (v4.1.2)

  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
  • Localization: updated Chinese Simplified (thanks @changanmoon)
  • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
  • (macOS) Implement OSA interface for AppleScript
  • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
  • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
  • (macOS 13+) New settings option to disable the dock icon
  • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
  • (macOS) Fix a crash when the pasteboard is updated (#4745)
  • (macOS) Support custom resolutions for Apple Virtualization VMs
  • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

Changes (v4.1.1)

  • Fixed launching SPARC machines (#4575)
  • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
  • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
  • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
  • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
  • Localization: added Polish (thanks @mavethee)
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated French (thanks @FRtranslator)
  • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
  • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
  • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
  • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
  • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
  • (macOS) Added a confirmation dialog when deleting a drive (#4687)

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

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.

4.1.1

Highlights

  • QEMU backend updated to v7.1.0
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

Changes (v4.1.1)

  • Fixed launching SPARC machines (#4575)
  • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
  • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
  • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
  • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
  • Localization: added Polish (thanks @mavethee)
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • Localization: updated French (thanks @FRtranslator)
  • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
  • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
  • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
  • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
  • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
  • (macOS) Added a confirmation dialog when deleting a drive (#4687)

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

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.

4.1.0

Highlights

  • QEMU backend updated to v7.1.0
  • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.

Notes

  • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

Changes (v4.1.0)

  • Updated QEMU to v7.1.0
  • Updated ANGLE and virglrenderer to latest commit
  • Fixed an issue where user override of machine property settings was not applied properly
  • Localization: updated Japanese (thanks @MMP0)
  • Localization: updated Spanish (Latin America) (thanks @JezerM)
  • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
  • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

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.

4.0.9

Highlights

  • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
  • Ventura updates to Virtualization. macOS Ventura introduces new features that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon. Check out https://docs.getutm.app/guides/debian/ for an installation guide. Note that base M1 chip users may experience issues that will be addressed in a future update.
  • VirtFS sharing for QEMU. This alternative directory sharing backend is supported by Linux and can have better performance. Note that macOS UID are numbered differently than Linux so you may have to run chown in the guest. Check out https://docs.getutm.app/guest-support/linux/ for more details.
  • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
  • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
  • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 14.0-15.5b4 is supported on any M1 iPad running TrollStore.
  • New documentation site. https://docs.getutm.app/ is the home of the official UTM documentation.
  • New localization. Thanks to various community members, UTM is now translated to: Chinese (Simplified), Chinese (Traditional), Finnish, French, German, Japanese, Korean, and Spanish (Latin America)

Notes

  • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.
  • Since v4.0.6, the order of generated devices has changed to always create network devices first. This is to address an issue on some distributions (such as Ubuntu) where adding a device (drive, display, etc) would require re-configurating the network because the device name changed. Unfortunately, this change will cause the configuration issue to occur once more on any existing VM that is susceptible to the network issue. On Ubuntu, this will require you to modify /etc/netplan/00-installer-config.yaml and change the adapter name from enp0s9 (or whatever it is currently) to enp0s1 (which reflects the new device ordering). Other Linux distributions may require a similar change. However, after updating the guest network configuration, you should no longer have issues with networking when making device changes to the VM.

Changes (v4.0.9)

  • Fixed some broken links to documentation (#4529)
  • Fixed an issue where running ARM64 emulation on ARM64 gives an error "The ‘host’ CPU type can only be used with KVM or HVF" (#4528)
  • Fixed a regression where S390x and SPARC VMs cannot start due to missing USB bus
  • (iOS) Fixed UTM SE cannot launch any VMs (#4516)

Changes (v4.0.8)

  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator and @alexis-martel)
  • Translation: Added German (thanks @conath)
  • (macOS) Disable resize button in GUI Apple VM window
  • (macOS) Reverted some SwiftUI issue workarounds that are no longer present in Ventura RC

Changes (v4.0.7)

  • Fixed renamed VM not appearing on next launch (#4469)
  • Fixed TCP server not working (#4479)
  • Fixed random network issues caused by invalid MAC address generation (you must re-generate MAC to apply the change if your VM created in UTM v4 does not have working network) (#4477)
  • Fixed a crash when trying to boot Kali Linux with terminal enabled
  • Fixed hypervisor on iOS 14.6-14.8
  • Added new setting for serial device in TCP server mode to listen on remote/local interfaces (#4483)
  • Fixed URL automation sending text to terminal
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator)
  • Wizard: Link to new documentation site (#4443, #4445)
  • (iOS) Fixed disponible run option not appearing
  • (macOS) Fixed settings getting stuck at information page (#4465)
  • (macOS) Updated display menu option to match title bar when multiple displays are used (#4484)
  • (macOS) Fixed no mouse/keyboard on Intel Apple Virtualization (#4409)
  • (macOS) Fixed no audio input device on Linux running on Apple Virtualization (#4409)
  • (macOS) Fixed auto-quit when all windows are closed happening when headless VM is still running

Changes (v4.0.6)

  • Fixed an issue in argument generation where PS/2 input was forced even when USB was enabled (#4424)
  • Validate settings on save before closing the settings dialog
  • Network devices are now created first before all other devices. Note this means that networking will be broken on some existing VMs and must be re-configured! (See notes above)
  • Fixed a deadlock issue when saving settings
  • Fixed an error when saving a VM with an external drive selected
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator)
  • Wizard: The Windows guest tools auto-installer currently only works on Windows 10 and above. A new option is added in the wizard to make this explicit. (#4440)
  • Wizard: Use VirtFS sharing by default when Linux is selected
  • (iOS) Default to emulated network instead of failing when importing a VM created on macOS
  • (macOS) Fixed an issue where opening a new display window from a serial window did not work
  • (macOS) Fixed logic on macOS 11 where serial window was not created
  • (macOS) Fixed a crash on macOS 11 when saving settings while the QEMU tab is selected
  • (macOS 13) Support clipboard sharing on Linux with Apple Virtualization when spice-vdagent is installed
  • (macOS) Fixed an issue changing the boot OS where the incorrect image type is prompted
  • (macOS) Perform settings validation when launching an Apple Virtualization VM to ensure selected features are available
  • (macOS 12+) Set a machine identifier when launching an Apple Virtualization VM
  • (macOS 13) Emulate trackpad on macOS guests with Apple Virtualization
  • (macOS) Fixed an issue when a newly created VM will not launch on macOS 11

Changes (v4.0.5)

  • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
  • Translation: Updated Japanese (thanks @MMP0)
  • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
  • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
  • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

Changes (v4.0.4)

  • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
  • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
  • Fixed creating a VM with illegal path characters in the name (#4385)
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator)
  • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
  • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
  • (iOS) Fixed a crash when switching display in a window
  • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
  • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
  • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
  • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
  • (iOS) Show the device cursor when VM is paused
  • (iOS) Fixed a regression where external keyboard events are not captured
  • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
  • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
  • (macOS) Fixed a layout issue of the compress/resize buttons
  • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
  • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

Changes (v4.0.3)

  • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
  • Disable changing a VirtFS share from the home window (this is not an supported operation)
  • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
  • Fixed floppy drive argument not being correctly generated (#4362)
  • Fixed an issue where ejecting an external drive or shared directory does not persist
  • Fixed a memory issue when stopping or closing VMs causing UTM to crash
  • Fixed a regression where an access error occurs after moving a VM
  • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
  • Added support for more than 2 IDE drives in PC emulation
  • Restored the setting to turn off blinking cursor (#4296)
  • Translation: Updated Japanese (thanks @MMP0)
  • Wizard: Reworked some of the UI, text, and file selection
  • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
  • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
  • Wizard: Recommend UUP built ISO over the VHDX by default
  • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
  • (iOS 16) Use the new NavigationSplitView for a slightly polished look
  • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
  • (iOS) Fixed an issue where the file importer was not opening (#4365)
  • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
  • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
  • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
  • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
  • (macOS) Save the size of terminal windows (#4296)
  • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

Changes (v4.0.2)

  • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
  • VirtFS no longer requires SPICE to be enabled (thanks @tie)
  • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
  • Fixed incorrect parsing of CPU flags (#4282)
  • Do not save screenshots when running in disposable mode
  • Translation: Added Spanish (Latin America) (thanks @JezerM)
  • Translation: Added Finnish (thanks @marcusziade)
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
  • Translation: Updated French (thanks @FRtranslator)
  • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
  • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
  • (macOS) Fixed saving removable drives and shared directories for Apple VMs
  • (macOS) Fixed missing audio entitlements (#4342)
  • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
  • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

Changes (v4.0.1)

  • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
  • Added Elementary OS icon (thanks @Unbinilium)
  • Updated ja localization (thanks @MMP0)
  • Updated fr localization (thanks @FRtranslator)
  • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
  • Fixed custom icon not showing up for "legacy" configurations
  • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
  • Fixed USB redirection (#4263)
  • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
  • (iOS) Fixed resume button not appearing on < iOS 16
  • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
  • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
  • (iOS) Hide "Add" text on iOS 14 settings
  • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
  • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
  • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
  • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
  • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

Changes (v4.0.0)

  • USB redirection support in terminal mode
  • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
  • Newly imported disk images will be converted to QCOW2 automatically
  • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
  • Support multiple displays (#220)
  • Added Japanese localization (thanks @MMP0)
  • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
  • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
  • Support redirecting QEMU monitor and GDB stub to a serial port
  • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
  • Update ANGLE (GL backend) to latest git commit
  • Added French localization (thanks @FRtranslator)
  • Fixed microphone recording silence (#219)
  • Fixed a crash when attempting to delete a QEMU additional argument
  • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
  • Option in VM settings to change VGA RAM size (#4034)
  • Option in VM settings to enable virtio-balloon driver (#4136)
  • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
  • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
  • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
  • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
  • (iOS) Reimplemented the USB and Drives menu with a better UI
  • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
  • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
  • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
  • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
  • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
  • (macOS) Fixed running unsigned builds
  • (macOS) Removed some deprecated global settings
  • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
  • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
  • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
  • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
  • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
  • (macOS 13+) GUI display for Linux VMs (#4120)
  • (macOS 13+) Add removable drives, will show up as USB mass storage

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(2) | 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.

4.0.8

Update [20/10/22]: UTM SE build was removed and replaced with version v3.2.3 because of a bug that prevents any VM from starting up. If you have installed UTM SE v4.0.8, please re-install v3.2.3 or wait for the next update.

Highlights

  • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
  • Ventura updates to Virtualization. macOS Ventura introduces new features that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon. Check out https://docs.getutm.app/guides/debian/ for an installation guide. Note that base M1 chip users may experience issues that will be addressed in a future update.
  • VirtFS sharing for QEMU. This alternative directory sharing backend is supported by Linux and can have better performance. Note that macOS UID are numbered differently than Linux so you may have to run chown in the guest. Check out https://docs.getutm.app/guest-support/linux/ for more details.
  • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
  • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
  • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 14.0-15.5b4 is supported on any M1 iPad running TrollStore.
  • New documentation site. https://docs.getutm.app/ is the home of the official UTM documentation.
  • New localization. Thanks to various community members, UTM is now translated to: Chinese (Simplified), Chinese (Traditional), Finnish, French, German, Japanese, Korean, and Spanish (Latin America)

Notes

  • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
  • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.
  • Since v4.0.6, the order of generated devices has changed to always create network devices first. This is to address an issue on some distributions (such as Ubuntu) where adding a device (drive, display, etc) would require re-configurating the network because the device name changed. Unfortunately, this change will cause the configuration issue to occur once more on any existing VM that is susceptible to the network issue. On Ubuntu, this will require you to modify /etc/netplan/00-installer-config.yaml and change the adapter name from enp0s9 (or whatever it is currently) to enp0s1 (which reflects the new device ordering). Other Linux distributions may require a similar change. However, after updating the guest network configuration, you should no longer have issues with networking when making device changes to the VM.

Changes (v4.0.8)

  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator and @alexis-martel)
  • Translation: Added German (thanks @conath)
  • (macOS) Disable resize button in GUI Apple VM window
  • (macOS) Reverted some SwiftUI issue workarounds that are no longer present in Ventura RC

Changes (v4.0.7)

  • Fixed renamed VM not appearing on next launch (#4469)
  • Fixed TCP server not working (#4479)
  • Fixed random network issues caused by invalid MAC address generation (you must re-generate MAC to apply the change if your VM created in UTM v4 does not have working network) (#4477)
  • Fixed a crash when trying to boot Kali Linux with terminal enabled
  • Fixed hypervisor on iOS 14.6-14.8
  • Added new setting for serial device in TCP server mode to listen on remote/local interfaces (#4483)
  • Fixed URL automation sending text to terminal
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator)
  • Wizard: Link to new documentation site (#4443, #4445)
  • (iOS) Fixed disponible run option not appearing
  • (macOS) Fixed settings getting stuck at information page (#4465)
  • (macOS) Updated display menu option to match title bar when multiple displays are used (#4484)
  • (macOS) Fixed no mouse/keyboard on Intel Apple Virtualization (#4409)
  • (macOS) Fixed no audio input device on Linux running on Apple Virtualization (#4409)
  • (macOS) Fixed auto-quit when all windows are closed happening when headless VM is still running

Changes (v4.0.6)

  • Fixed an issue in argument generation where PS/2 input was forced even when USB was enabled (#4424)
  • Validate settings on save before closing the settings dialog
  • Network devices are now created first before all other devices. Note this means that networking will be broken on some existing VMs and must be re-configured! (See notes above)
  • Fixed a deadlock issue when saving settings
  • Fixed an error when saving a VM with an external drive selected
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator)
  • Wizard: The Windows guest tools auto-installer currently only works on Windows 10 and above. A new option is added in the wizard to make this explicit. (#4440)
  • Wizard: Use VirtFS sharing by default when Linux is selected
  • (iOS) Default to emulated network instead of failing when importing a VM created on macOS
  • (macOS) Fixed an issue where opening a new display window from a serial window did not work
  • (macOS) Fixed logic on macOS 11 where serial window was not created
  • (macOS) Fixed a crash on macOS 11 when saving settings while the QEMU tab is selected
  • (macOS 13) Support clipboard sharing on Linux with Apple Virtualization when spice-vdagent is installed
  • (macOS) Fixed an issue changing the boot OS where the incorrect image type is prompted
  • (macOS) Perform settings validation when launching an Apple Virtualization VM to ensure selected features are available
  • (macOS 12+) Set a machine identifier when launching an Apple Virtualization VM
  • (macOS 13) Emulate trackpad on macOS guests with Apple Virtualization
  • (macOS) Fixed an issue when a newly created VM will not launch on macOS 11

Changes (v4.0.5)

  • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
  • Translation: Updated Japanese (thanks @MMP0)
  • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
  • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
  • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

Changes (v4.0.4)

  • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
  • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
  • Fixed creating a VM with illegal path characters in the name (#4385)
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated French (thanks @FRtranslator)
  • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
  • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
  • (iOS) Fixed a crash when switching display in a window
  • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
  • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
  • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
  • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
  • (iOS) Show the device cursor when VM is paused
  • (iOS) Fixed a regression where external keyboard events are not captured
  • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
  • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
  • (macOS) Fixed a layout issue of the compress/resize buttons
  • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
  • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

Changes (v4.0.3)

  • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
  • Disable changing a VirtFS share from the home window (this is not an supported operation)
  • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
  • Fixed floppy drive argument not being correctly generated (#4362)
  • Fixed an issue where ejecting an external drive or shared directory does not persist
  • Fixed a memory issue when stopping or closing VMs causing UTM to crash
  • Fixed a regression where an access error occurs after moving a VM
  • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
  • Added support for more than 2 IDE drives in PC emulation
  • Restored the setting to turn off blinking cursor (#4296)
  • Translation: Updated Japanese (thanks @MMP0)
  • Wizard: Reworked some of the UI, text, and file selection
  • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
  • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
  • Wizard: Recommend UUP built ISO over the VHDX by default
  • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
  • (iOS 16) Use the new NavigationSplitView for a slightly polished look
  • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
  • (iOS) Fixed an issue where the file importer was not opening (#4365)
  • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
  • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
  • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
  • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
  • (macOS) Save the size of terminal windows (#4296)
  • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

Changes (v4.0.2)

  • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
  • VirtFS no longer requires SPICE to be enabled (thanks @tie)
  • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
  • Fixed incorrect parsing of CPU flags (#4282)
  • Do not save screenshots when running in disposable mode
  • Translation: Added Spanish (Latin America) (thanks @JezerM)
  • Translation: Added Finnish (thanks @marcusziade)
  • Translation: Updated Japanese (thanks @MMP0)
  • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
  • Translation: Updated French (thanks @FRtranslator)
  • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
  • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
  • (macOS) Fixed saving removable drives and shared directories for Apple VMs
  • (macOS) Fixed missing audio entitlements (#4342)
  • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
  • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

Changes (v4.0.1)

  • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
  • Added Elementary OS icon (thanks @Unbinilium)
  • Updated ja localization (thanks @MMP0)
  • Updated fr localization (thanks @FRtranslator)
  • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
  • Fixed custom icon not showing up for "legacy" configurations
  • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
  • Fixed USB redirection (#4263)
  • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
  • (iOS) Fixed resume button not appearing on < iOS 16
  • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
  • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
  • (iOS) Hide "Add" text on iOS 14 settings
  • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
  • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
  • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
  • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
  • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

Changes (v4.0.0)

  • USB redirection support in terminal mode
  • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
  • Newly imported disk images will be converted to QCOW2 automatically
  • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
  • Support multiple displays (#220)
  • Added Japanese localization (thanks @MMP0)
  • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
  • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
  • Support redirecting QEMU monitor and GDB stub to a serial port
  • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
  • Update ANGLE (GL backend) to latest git commit
  • Added French localization (thanks @FRtranslator)
  • Fixed microphone recording silence (#219)
  • Fixed a crash when attempting to delete a QEMU additional argument
  • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
  • Option in VM settings to change VGA RAM size (#4034)
  • Option in VM settings to enable virtio-balloon driver (#4136)
  • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
  • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
  • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
  • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
  • (iOS) Reimplemented the USB and Drives menu with a better UI
  • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
  • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
  • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
  • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
  • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
  • (macOS) Fixed running unsigned builds
  • (macOS) Removed some deprecated global settings
  • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
  • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
  • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
  • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
  • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
  • (macOS 13+) GUI display for Linux VMs (#4120)
  • (macOS 13+) Add removable drives, will show up as USB mass storage

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(2) | 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.