Nenhuma descrição

ThatsNiceGuy 06b9633d44 Add image of UTM running on macOS 3 anos atrás
.github 0d0e9725f6 github: update CI to Xcode 13.4 and macOS 12 3 anos atrás
Configuration 62a480ae61 system: serial console through SPICE port channel 3 anos atrás
Documentation 90dcc6b988 docs: added Dependencies documentation 3 anos atrás
Icons 1a6b7cd0f3 Add NixOS icon 3 anos atrás
JailbreakInterposer 438d818408 interposer: disable for simulator builds 4 anos atrás
Managers 753564cd3a vm(apple): support running from saved bookmark 3 anos atrás
Platform 753564cd3a vm(apple): support running from saved bookmark 3 anos atrás
QEMUHelper b65c9f6962 wizard: convert VHDX to QCOW2 for Windows VM 3 anos atrás
QEMULauncher 23d2b438f6 project: moved QEMULauncher-InfoPlist.strings to correct group 3 anos atrás
Renderer 4e275c8898 project: refactored CocoaSpice into package 3 anos atrás
UTM.xcodeproj 2224ffadba CocoaSpice: updated backend 3 anos atrás
patches d1da8fc25f spice: first USB device was being ignored 3 anos atrás
qapi 3ae512dbfa qapi: support handling VNC events 3 anos atrás
scripts d1da8fc25f spice: first USB device was being ignored 3 anos atrás
.gitignore 69d26785d5 project: move code signing config to external file 4 anos atrás
.gitmodules f0c0b25486 project: mass rename and reorganize 5 anos atrás
Build.xcconfig 16d0710b4e project: bumped version 3 anos atrás
CodeSigning.xcconfig.sample de973c410c build: make entitlement use configurable 4 anos atrás
LICENSE 7c8ea57607 UTM: implemented main view and configuration views 6 anos atrás
README.md 06b9633d44 Add image of UTM running on macOS 3 anos atrás
README.zh-Hans.md 135caafe54 Update README.zh-Hans.md 3 anos atrás
README.zh-Hant.md 7d394415e4 Fix typos 3 anos atrás
screen.png 3f5cf845d2 Update screen.png 4 anos atrás
screenmac.png 06b9633d44 Add image of UTM running on macOS 3 anos atrás

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

  • 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 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.

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