UTM

适用于 iOS 和 macOS 的虚拟机。「Virtual machines for iOS and macOS」

Github星跟蹤圖

UTM

[Build][1]

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/

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, run VMs directly from your device

Additional macOS Features

  • Hardware accelerated virtualization using 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 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][3] which performs better than a traditional interpreter but still slower than JIT. This technique is similar to what [iSH][4] 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

  • [iSH][4]: emulates a usermode Linux terminal interface for running x86 Linux applications on iOS
  • [a-shell][5]: packages common Unix commands and utilities built natively for iOS and accessible through a terminal interface

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 License components:

Continuous integration hosting is provided by MacStadium

[<img src="https://uploads-ssl.webflow.com/5ac3c046c82724970fc60918/

主要指標

概覽
名稱與所有者utmapp/UTM
主編程語言Swift
編程語言Objective-C (語言數: 5)
平台
許可證Apache License 2.0
所有者活动
創建於2019-04-12 16:09:24
推送於2025-04-08 04:55:14
最后一次提交
發布數121
最新版本名稱v4.6.5 (發布於 )
第一版名稱v0.1 (發布於 )
用户参与
星數29.8k
關注者數366
派生數1.5k
提交數3.5k
已啟用問題?
問題數3353
打開的問題數924
拉請求數257
打開的拉請求數16
關閉的拉請求數94
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?