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.6.0


Compatibility
iOS 11.0


Section
Productivity


View Source Code

4.6.0

Highlights

  • QEMU v9.1.0 The backend has been updated to the latest upstream QEMU which brings with it a variety of bug fixes and performance improvements.
  • (macOS 15) Nested virtualization for Linux Linux VMs using Apple Virtualization backend on macOS 15 and M3 or newer will now have nested virtualization enabled by default.
  • (macOS 15) Total Store Ordering for QEMU VMs using QEMU backend on macOS 15 can now enable TSO (in QEMU settings). When TSO is enabled on a guest operating system that is aware of the system register (i.e. Rosetta for Linux), performance of Intel emulation within the guest can be greatly improved.

Notes

  • There is a known issue amongst some users with UTM running on macOS 15 where accesses to files will fail due to permission error. We are still investigating this (#6639) and related issues. In the meantime, we do not recommend upgrading to macOS 15.
  • The update to QEMU v9.1.0 will likely introduce new issues and regressions. If you experience any problem (crashes, performance, errors) that was not evident in v4.5.x, please open an issue and provide all the requested information. It would also be helpful if you can provide a reproducible example and note the last version of UTM where it worked properly.

Changes (v4.6.0)

  • Updated to QEMU v9.1.0
  • Fixed "RPC timeout" when stopping a VM
  • Fixed a race condition when cleaning up SPICE objects
  • Localization: Updated Chinese (Hong Kong, Simplified) (thanks @changanmoon)
  • (iOS 16+) Home: Always show the sidebar
  • (macOS 15) Enable nested virtualization when available

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 or newer.
  2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.

4.5.4

Highlights

  • (macOS) 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.
  • (macOS) 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. You can get it for free on the App Store.
  • (iOS) UTM SE's wizard now allow you to create a VM easily with a floppy boot image.
  • (iOS SE) We now accept donations through In-App Purchase. If you would like to support us, please use the heart button on top of the list of VMs.

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.4)

  • Fixed an issue causing "The file ... couldn't be opened" immediately after creating a new VM (#6398)
  • The timestamp of the .utm package will always update to the last time it runs, this should make managing backups easier (#6474)
  • Fixed the error "Failed to lock byte 100: Operation not supported" when trying to attach an ISO which the OS has mounted or from a network drive that does not support locking (#6564)
  • Fixed an issue where release notes loading can be delayed by a lack of internet connection (it should just fail silently)
  • Localization: Added Arabic (thanks @muhammadbahaa2001)
  • Localization: Updated Chinese (Simplified + Hong Kong) (thanks @changanmoon)
  • Localization: Updated Japanese (thanks @MMP0)
  • (iOS Remote) Remote: fixed empty list when a single VM is unavailable (#6380)
  • (iOS) Updated DEB to support rootless
  • (iOS) Terminal lines no longer get hidden by the top curved edge or by the keyboard (#6482)
  • (iOS) Fixed an issue where importing a drive shows up as a removable drive (#6485)
  • (iOS) Fixed an issue where creating a new drive sometimes automatically closes the popup
  • (iOS) External displays can now view serial output terminals (#6594)
  • (iOS) Added new tips overlay for new users
  • (macOS) Remote Server: Immediately start server when "autostart" option is checked (#6429)
  • (macOS) Remote Server: fixed crash when specifying an invalid port number (#6584)

Changes (v4.5.3)

  • Localization: Updated Japanese (thanks @MMP0)
  • Localization: Updated Chinese (Simplified + Hong Kong) (thanks @changanmoon)
  • Localization: Updated Italian (thanks @garamb1)
  • (macOS) Tweaked new icon picker: clicking the icon opens the picker (#6316) and fixed some layout issues (#6317)
  • (macOS) Fixed an issue where mouse/keyboard was not getting released when an error message popped up and "Capture .. automatically ..." is enabled (#6352)
  • (macOS 14+) AVF: New option to mount drive on virtual NVMe interface when running a Linux guest with Apple Virtualization. This should address file system corruption issues. (thanks @gnattu)
  • (macOS 12+) AVF: Use full synchronization mode for all non-external drives. This should address file system corruption issues. (thanks @gnattu)

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.3

Highlights

  • (macOS) 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.
  • (macOS) 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. You can get it for free on the App Store.
  • (iOS) UTM SE's wizard now allow you to create a VM easily with a floppy boot image.

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.3)

  • Localization: Updated Japanese (thanks @MMP0)
  • Localization: Updated Chinese (Simplified + Hong Kong) (thanks @changanmoon)
  • Localization: Updated Italian (thanks @garamb1)
  • (macOS) Tweaked new icon picker: clicking the icon opens the picker (#6316) and fixed some layout issues (#6317)
  • (macOS) Fixed an issue where mouse/keyboard was not getting released when an error message popped up and "Capture .. automatically ..." is enabled (#6352)
  • (macOS 14+) AVF: New option to mount drive on virtual NVMe interface when running a Linux guest with Apple Virtualization. This should address file system corruption issues. (thanks @gnattu)
  • (macOS 12+) AVF: Use full synchronization mode for all non-external drives. This should address file system corruption issues. (thanks @gnattu)

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

Highlights

  • (macOS) 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.
  • (macOS) 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. You can get it for free on the App Store.
  • (iOS) UTM SE's wizard now allow you to create a VM easily with a floppy boot image.

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.