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 |
- Hypervisor on iOS requires an M1 iPad.
- Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.