UTM Virtual machines for iOS and macOS

UTM is a full-featured system emulator and virtual machine host for iOS and macOS. It is based on QEMU. In short, it allows you to run Windows, Linux, and more on your Mac, iPhone, and iPad. More information at https://getutm.app/ and https://mac.getutm.app/

UTM
Virtual machines for iOS and macOS

Features

  • Full system emulation (MMU, devices, etc) using QEMU
  • 30+ processors supported including x86_64, ARM64, and RISC-V
  • VGA graphics mode using SPICE and QXL
  • Text terminal mode
  • USB devices
  • JIT based acceleration using QEMU TCG
  • Frontend designed from scratch for macOS 11 and iOS 11+ using the latest and greatest APIs
  • Create, manage, and run VMs directly from your device

Additional macOS Features

  • Hardware-accelerated virtualization using the Hypervisor framework and QEMU
  • Boot macOS guests with Virtualization. framework on macOS 12+

UTM SE

UTM/QEMU requires dynamic code generation (JIT) for maximum performance. JIT on iOS devices requires either a jailbroken device or one of the various workarounds found for specific versions of iOS (see “Install” for more details).

UTM SE (“slow edition”) uses a threaded interpreter, which performs better than a traditional interpreter but is still slower than JIT. This technique is similar to what iSH does for dynamic execution. As a result, UTM SE does not require jailbreaking or any JIT workarounds and can be sideloaded as a regular app.

To optimize for size and build times, only the following architectures are included in UTM SE: ARM, PPC, RISC-V, and x86 (all with both 32-bit and 64-bit variants).

Install

UTM (SE) for iOS: https://getutm.app/install/

UTM is also available for macOS: https://mac.getutm.app/

UTM Latest Update:

v4.7.1 (Beta) Pre-release

Highlights

  • QEMU v10.0.2: The backend has been updated to the latest upstream QEMU which brings with it a variety of bug fixes and performance improvements.
  • Liquid Glass: UTM adopts the Liquid Glass design on *OS 26.
  • App Intents: New support for automation with Shortcuts.
  • Keyboard Shortcuts: Define custom key combinations (such as Ctrl+Alt+Del) that can be sent to the VM from the new Keyboard menu.
  • Improved Wizard: Simplify the creation of emulated machines by selecting from a list of well-supported configurations. The updated wizard can create more working configurations such as RISC-V64 Ubuntu and classic Mac OS 8.x/9.x.

Notes

  • (iOS) iOS 26 breaks the technique that AltJIT and similar tools use to enable JIT.

Changes (v4.7.1)

  • New Liquid Glass icon thanks to @forcequitOS
  • Added App Intents for VM operations (#6245)
  • Added UEFI boot support for RISC-V64 and LoongArch64. This allows Ubuntu for RISC-V64 to work out of the box. (#7183)
  • QEMU PPC: Disable bootindex when boot-device is used in prom-env. This allows Yellow Dog Linux for PPC to work out of the box. (#6436)
  • QEMU x86_64: Fixed floppy boot order configuration for other PC models (isapc, i440fx) (#7166)
  • QEMU PPC/M68K: Includes classicvirtio drivers to support cursor input without capture and directory sharing (#6520)
  • QEMU M68K: Fixed virtio drive config (#7008)
  • Fixed a rare crash after stopping VM due to a race condition in libusb
  • Home: improve screenshot contrast in Dark Mode (#6894)
  • Config: Fixed a crash when trying to enter a large size value when creating a new drive (#7295)
  • Config: Corrected the default host IP address in port forwarding config to “0.0.0.0” when it incorrectly displayed “127.0.0.1” (#7132)
  • Keyboard Shortcuts: Create custom combinations of keyboard shortcuts from either Settings -> Input or via the Keyboard icon in the VM (press and hold on iOS/visionOS). This will allow you to easily send key commands such as Ctrl+Alt+Del or Stop+A to the VM. (#5698#6310#6757)
  • Wizard: New option to import an existing drive image when setting up a Linux VM. This allows Ubuntu for RISC-V64 to work out of the box. (#7183)
  • Wizard: New option to create a serial port only Linux VM. This allows Ubuntu for RISC-V64 to work out of the box. (#7183)
  • Wizard: Removed VHDX import option because Microsoft now provides ARM64 ISO images. Note: You can still create manually import an VHDX after creating a new VM.
  • Wizard: New template to create classic Mac OS VMs for M68K and PPC (#3504#6890)
  • Wizard: Most common and supported machines for emulation are now listed prominently with the full list of supported QEMU architectures/targets hidden behind an “Expert” mode. This is necessary because most of the QEMU targets are not properly supported by the wizard anyways and does not generate a bootable config. They usually require a lot more manual tinkering. The page order of the wizard is also tweaked so the hardware config comes before the boot config now.
  • Localization: Updated Chinese (Hong Kong, Simplified) (thanks @changanmoon)
  • (iOS SE) Fixed a crash when launching ArchLinux due to mis-handling of REV32
  • (iOS SE) Fixed a crash when the first instruction executed is a goto
  • (iOS SE) Removed ARM32, RISC-V32, and added M68K. There is little use for ARM32 and RISC-V32 as they cannot boot anything useful that cannot also be booted by the 64-bit variant (which is still included). If you have a counter example of this, please open an issue on GitHub and we can consider re-adding it back in the future. However, removing these will make the app size a lot smaller. M68K is added to support classic Mac OS.
  • (macOS 11) Fixed guest tools mounting (#7297)
  • (macOS 11) Fixed stop button not working (#7298)
  • (macOS) Fixed a bug where an error message on startup leads to the window being stuck (#7161)
  • (macOS) Settings: New setting to disable file locking so VMs can be launched from a network share or a filesystem that does not support locking (#7211)
  • (macOS) Settings: New setting to disable screenshots completely for privacy reasons (#6620)
  • (macOS) Settings: New setting to swap Ctrl and Cmd keys in VMs (#4003)
  • (macOS 26) Settings: Brand new layout with a sidebar to match other native apps
  • (macOS) AVF: Added clearer message when trying to install macOS beta without having the latest beta support tools installed
  • (macOS) AVF: New option to resize (expand) disk images (#6891)
  • (macOS 26) Fixed a layout issue with the resize image popover
  • (macOS) Home: Fixed hide sidebar button
  • (macOS) Config: Show localized network adapter names when available (#7287) (thanks @Schamper)
  • (macOS) Scripting: Fixed an issue where wrong UUIDs were generated for display configs (#7145)

Written By:

  • Michael Warner - Michael Warner is an award-winning tech journalist, developer, and digital entrepreneur with over 15 years of hands-on experience in iOS jailbreaking, app development, and tweak creation. He is the founder of Zee iPA Library, a leading platform in the alternative app distribution ecosystem, trusted by millions of iOS enthusiasts worldwide.

    Michael Warner is an award-winning tech journalist and iOS developer with over 25 years of experience in jailbreaking, Cydia, Sileo tweak creation, and mobile app innovation. As the founder of Zee iPA Library, he’s a trusted name in the iOS community. Based in Australia, he also blogs about sports and lifestyle, and is a proud father of two.