Highlights
- QEMU v9.1.2 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) at the hypervisor level. 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. Note that if the guest kernel supports dynamically toggling TSO, you do not need to enable this.
- (macOS 15) Improved macOS guest support The last window size (including full screen size) will be restored when the guest supports dynamic resolution. Removable drives and shared directories can now be ejected and changed while the macOS VM is running. Copy/paste synchronization between macOS 15 guest and host now works when the guest tools are installed (from the CD icon in the toolbar).
Notes
- (macOS) There is a known issue with macOS 15.0 and 15.0.1 where accesses to files will fail due to a permission error. This issue has been resolved with macOS 15.1.
- (macOS) There is a known issue on M4 series of Macs where virtualization fails for macOS guests older than 13.4. The issue has been resolved with macOS 15.2.
- The default CPU for x86_64 emulation and virtualization will now try to match the architecture of your system or the highest architecture that QEMU supports. For example, a 2016 MacBook Pro or newer will now emulate a "Skylake" based processor instead of a generic x86_64 processor. This should improve compatibility and performance of newer operating systems but may cause issues with older operating systems. If you run into issues, you can manually change the CPU model to an older one in the VM's System settings.
Changes (v4.6.4)
- Fixed an issue with virtio-ramfb device where Windows may sometimes try to render to an inactive display target causing black screen, "Guest has not initialized the display (yet)", or broken cursor. This sometimes happens right after installing the viogpudo drivers for the first time and more recently while upgrading to Windows 11 24H2. (#6332, #6883)
- Fixed a crash that might occur when a serial port is used and a large amount of data arrives at startup
- Fixed a crash that might occur on a VM with a serial port if data arrives as the guest is shutting down
- (macOS) Fixed a crash launching any ARM64 virtualized QEMU VMs on macOS Monterey or older (#6881)
- (macOS) Fixed a deadlock (freeze) which can be observed if a Linux VM with GL acceleration enabled is left running for a long time (#5205)
- (macOS) Fixed auto-resolution restore not working properly after a macOS guest is paused or suspended (#6874)
- (macOS) Fixed an issue causing the mouse cursor to disappear when a macOS guest is paused (#6875)
Changes (v4.6.3)
- (iOS) Fixed a bug which caused Hypervisor to not work on supported devices
- (macOS) Fixed a bug where the restored resolution gets re-scaled causing the window size to be incorrect (#6854, #6864)
- (macOS) Workaround for a bizarre issue that causes QEMU VMs to not boot up because reading of the BIOS file results in failure
Changes (v4.6.2)
- Updated QEMU to v9.1.2 and fixed a crash during Windows setup (x86_64) (#6835)
- Fixed a race condition that causes starting VM to fail with "QMP stream error seen"
- (iOS) Fixed DEB install
- (iOS) Fixed a crash when the main bundle executable is not the same as the currently running executable
- (iOS) Fixed a crash on iOS 18 due to namespace collision with internal names
- (iOS) Fixed auto-zoom to fill screen not properly working when Display Zoom is used (#6736)
- (macOS) Fixed TSO mode not working in QEMU
- (macOS) Fixed slow virtualization issues on Intel Macs (#6325)
- (macOS) Fixed boot issues with Windows 11 24H2 (x86_64) (#6772)
- (macOS) Support > 32GiB RAM configurations in QEMU (#5537)
Changes (v4.6.1)
- Updated SPICE GTK to v0.42, libsoup to v3.6.0, and phodav to 3.0
- Fixed an issue where an empty and broken .utm package is created when creation of VM fails
- Localization: Updated Chinese (Hong Kong, Simplified) (thanks @changanmoon)
- Localization: Updated Japanese (thanks @MMP0)
- (macOS) Fix fullscreen button showing up as zoom when the dock icon is disabled (thanks @ntoskrnl) (#6269)
- (macOS) Fixed an issue "With SME enabled, at least one vector length must be enabled." when an M4 series Mac is running macOS 15.2 beta (#6790)
- (macOS) Fixed permission issue with EFI vars when installed with Nix (#6725)
- (macOS 13) Enable changing shared directory for newer macOS guests (#6807)
- (macOS) Fixed a memory leak caused by an event listener not unregistering after the VM window is closed
- (macOS) Support saving and restoring dynamic resolution when the guest supports it (both QEMU SPICE based and Apple Virtualization based guests)
- (macOS) Scripting: added new import and export commands to the Apple Script interface as well as extra QEMU args to the configuration for a new VM (thanks @naveenrajm7) (#6716, #6734, #6741)
- (macOS) Scripting: Fixed a crash when an invalid .utm package is found
- (macOS 15) Virtualization: Fixed nested virtualization not being set (#6789)
- (macOS 15) Virtualization: Support ejecting and changing removable drives while the VM is running
- (macOS 15) Virtualization: Support installing guest tools for macOS guests
- (macOS 15) Virtualization: Support copy-paste on macOS 15 guests when guest tools is installed
- (macOS) Home: Fixed alerts not showing up
- (macOS) Home: Fixed VM download confirmation not showing up when wizard is open (#6820)
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 |
- Hypervisor on iOS requires an M1 iPad or newer.
- Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.