(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: 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.
| 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.
Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
UTM lets you run Windows® 10, Windows® 11, Ubuntu®, or macOS(*) fully virtualized with maximum performance. Run Windows® 7, Windows® XP, and other older operating system emulated with decent performance.
UTM uses the popular QEMU system emulator securely in a sandboxed environment to protect your data from viruses and malware in the emulated operating system.
Designed for macOS using the latest and greatest Apple technologies, UTM is built from the ground up with the Mac in mind.
Features:
Run ARM64 operating systems such as Windows® for ARM and Ubuntu® ARM on your Apple Silicon Mac fully virtualized at near native speeds
Run Intel/AMD operating system such as Windows® 7, Windows® XP, Ubuntu® Linux, and more (emulated with limited performance on Apple Silicon Macs, fully virtualized on Intel Macs)
Run macOS 12 or higher in a virtualized environment(*)
Run Intel applications on Linux with Rosetta(**)
Over 30 processors can be emulated by the QEMU backend including i386, x64, ARM32, ARM64, MIPS, PPC, and RISC-V for developers and enthusiasts
Supports macOS Sandbox to protect your data from any viruses or malware infecting the emulated operating system (such as Windows®)
GUI display mode, terminal console mode, and headless mode (with support for multiple displays)
Attach USB devices to your virtual machine
Experimental: GPU accelerated OpenGL on Linux VMs
Bridged and shared networking support
Run and store VMs from external drives
Don't know how to use QEMU? Confused at all the options QEMU provides? UTM provides an easy to understand UI for creating and configuring VMs that does not require knowledge of QEMU command line arguments
Current Limitations:
We are working hard to provide new features. Below are some things currently missing from UTM. We hope to support at least some of these features in the future.
No direct mounting of external disks and drives, only mounting disk images is supported
No drag & drop of files and data, only copy paste of text and sharing of a single directory is supported with tools installed
No GPU acceleration for Windows® and only experimental OpenGL acceleration for Linux (most Windows® games will NOT run)
macOS virtualization only runs on Apple Silicon Macs running macOS 12 and up. macOS 12 does not support USB sharing, copy/paste, or dynamic resolution.
(*) macOS virtualization is only supported on Apple Silicon Macs running macOS 12 and up.
(**) Linux with Rosetta is only supported on Apple Silicon Macs running macOS 13 and up.