UTM README

The project's README from github.com/utmapp/UTM. As one markdown file: README.md.

UTM

Build

It is possible to invent a single machine which can be used to compute any computable sequence.

-- Alan Turing, 1936

UTM is a full featured system emulator and virtual machine host for iOS and macOS. It is based off of 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 running on an iPhone
UTM running on a MacBook

Features

Additional macOS Features

UTM SE

UTM/QEMU requires dynamic code generation (JIT) for maximum performance. JIT on iOS devices require 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 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/

Development

macOS Development

iOS Development

License

UTM is distributed under the permissive Apache 2.0 license. However, it uses several (L)GPL components. Most are dynamically linked but the gstreamer plugins are statically linked and parts of the code are taken from qemu. Please be aware of this if you intend on redistributing this application.

Some icons made by Freepik from www.flaticon.com.

Additionally, UTM frontend depends on the following MIT/BSD License components:

Continuous integration hosting is provided by MacStadium

MacStadium logo

UTM (utmapp/UTM)

Searching Database…

35.9K ·GitHub
What is this?UTM is a full system emulator and virtual machine host for iOS and macOS, built on QEMU, that lets you run Windows, Linux, and other operating systems directly on your Mac, iPhone, or iPad.
Is this one app, or are there different versions for different needs?There are two editions: the full UTM app with JIT-accelerated QEMU emulation, and 'UTM SE' (slow edition), a lighter version using a threaded interpreter that can be sideloaded without jailbreaking.
Do I need a jailbroken device to use UTM?Only for the full-speed UTM, since its JIT acceleration requires a jailbroken iOS device or a version-specific JIT workaround; UTM SE avoids this entirely by using a slower interpreter instead of JIT.
What do I give up by using UTM SE instead of the full UTM?UTM SE is slower than JIT-based emulation and only ships ARM, PPC, RISC-V, and x86 architectures (32-bit and 64-bit) to keep the build small, instead of the 30+ processors supported by the full version.
Does it work the same on iPhone/iPad as on a Mac?No: on macOS, UTM can use Hypervisor.framework for hardware-accelerated virtualization and boot macOS guests via Virtualization.framework on macOS 12+, while on iOS performance depends on JIT availability as described above.
What's the deal with the license?UTM itself is Apache 2.0, but it statically links GPL-licensed gstreamer plugins and includes code taken from QEMU, so redistributors need to be aware of those (L)GPL obligations.
What hardware can UTM emulate?It emulates full systems including MMU and devices for 30+ processor types such as x86_64, ARM64, and RISC-V, with VGA graphics via SPICE/QXL, text terminal mode, and USB device support.
How is UTM different from iSH?iSH only emulates a usermode Linux terminal for running x86 Linux binaries on iOS, while UTM provides full system emulation so you can boot entire guest operating systems like Windows or Linux.
Can I run macOS itself as a guest?Yes, on macOS 12 and later UTM can boot macOS guests using Apple's Virtualization.framework.
What are similar projects?try-omarchy, darwin-vm, Husk, steamac, Podroid, macos, vphone-aio, AirCard
Creator
utmapp
Size
50.3 MB
Stars
35.9K
Age
7y
Commits · 90 Days