Fără Descriere

osy 438d818408 interposer: disable for simulator builds 4 ani în urmă
.github 1719710cf2 build: add iOS simulator build variant 4 ani în urmă
CocoaSpice 0b6b257d67 project: fix warnings 4 ani în urmă
Configuration 218de3a258 qemu: update constants 4 ani în urmă
Documentation 69d26785d5 project: move code signing config to external file 4 ani în urmă
Icons f0c0b25486 project: mass rename and reorganize 5 ani în urmă
JailbreakInterposer 438d818408 interposer: disable for simulator builds 4 ani în urmă
Managers 3bcf5366f7 system: fix usb input for virt machines 4 ani în urmă
Platform a192459665 Merge branch 'master' into dev 4 ani în urmă
QEMUHelper 4a22d436d8 system: support vmnet-macos 4 ani în urmă
QEMULauncher 9de8954104 helper: added missing Info.plist 4 ani în urmă
Renderer 23dde8cfaa CocoaSpice: refactor cursor drawing into display 4 ani în urmă
UTM.xcodeproj 1719710cf2 build: add iOS simulator build variant 4 ani în urmă
gstreamer 0b6b257d67 project: fix warnings 4 ani în urmă
patches 17bc4ecaca qemu: add screamer device patch 4 ani în urmă
qapi d3f33a827a qapi: fixed missing return check 4 ani în urmă
scripts 1719710cf2 build: add iOS simulator build variant 4 ani în urmă
.gitignore 69d26785d5 project: move code signing config to external file 4 ani în urmă
.gitmodules f0c0b25486 project: mass rename and reorganize 5 ani în urmă
Build.xcconfig 057dde9e6a project: fix quoted sysroot dir path 4 ani în urmă
CodeSigning.xcconfig.sample 69d26785d5 project: move code signing config to external file 4 ani în urmă
LICENSE 7c8ea57607 UTM: implemented main view and configuration views 6 ani în urmă
README.md 847e0ce46f readme: add note about UTM SE processor support 4 ani în urmă
README.zh-Hans.md 9257da5473 Update README.zh-Hans.md 4 ani în urmă
README.zh-Hant.md 9eb03e1e46 build: rename sign to package scripts 4 ani în urmă
screen.png 9288ce6160 readme: added screenshot and link 5 ani în urmă

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/

Screenshot of UTM running on iPhone

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

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

Related

  • iSH: emulates a usermode Linux terminal interface for running x86 Linux applications on iOS
  • a-shell: 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.