UTM - Virtual machines for iOS and macOS

Overview

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.
UTM uses ZIP Foundation, which is released under the MIT License.

Comments
  • UTM 2.0 Design Concept

    UTM 2.0 Design Concept

    Update 9/8/20: Check out this post for the latest design.

    For UTM 2.0, we will be completely re-implementing the GUI in SwiftUI. The only exception will be the actual VM view because we use a lot of features that cannot be replicated in SwiftUI easily (gesture handlers, custom toolbar, custom keyboard, etc). For the rest of the UI, code will be shared across all platforms.

    In addition to the UI overhaul, there are other design elements that needs to be changed:

    • Creating a disk drive requires too many steps and is more complicated than it needs to be. We also don't provide a good way to change boot order. Also we wish to support removable disks.
    • Settings that would commonly change (shared directory, removable drives, etc) should be exposed front and center without requiring the user to dig deep into settings.
    • Less used/advanced settings should be hidden by default
    • The Systems page is too filed, we'll refactor it into System and QEMU settings

    This is a work in progress and feedback is appreciated.

    (Thanks to #334 for some ideas)

    iPhone

    utm-iphone-1 utm-iphone-2 utm-iphone-3

    iPad

    utm-ipad-1 utm-ipad-2

    macOS

    utm-macos-1 utm-macos-2

    enhancement interface settings 
    opened by osy 107
  • New GUI Concept

    New GUI Concept

    (Edited) I have made a new GUI for UTM: iPhone, iPad and MacOS (In Progress)

    Instead of scrolling, I update the latest GUI at https://vishy-dev.github.io/utmGUI/

    If you want to suggest something, add a comment. If you want to see the new GUI, just use the link

    enhancement interface 
    opened by f1shy-dev 107
  • iOS 14 seems to SIGKILL the ptrace trick

    iOS 14 seems to SIGKILL the ptrace trick

    Describe the bug Just tried it out in a sample app and got a SIGKILL due to codesigning. I can confirm that CS_DEBUGGED is no longer being set for the process if you try to ptrace yourself.

    To Reproduce Steps to reproduce the behavior:

    1. ptrace yourself.
    2. Allocate a writable page and put shellcode in it.
    3. Mark the page R-X.
    4. Run it.
    let ptrace = unsafeBitCast(dlsym(dlopen(nil, RTLD_LAZY), "ptrace"), to: (@convention(c) (CInt, pid_t, caddr_t?, CInt) -> CInt).self)
    print(ptrace(0, 0, nil, 0))
    
    let page = mmap(nil, 0x1000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0)
    memcpy(page, [
    	// mov x0, 1
    	0x20,
    	0x00,
    	0x80,
    	0xd2,
    	
    	// ret
    	0xc0,
    	0x03,
    	0x5f,
    	0xd6,
    ] as [UInt8], 8)
    mprotect(page, 0x1000, PROT_READ | PROT_EXEC)
    guard unsafeBitCast(page, to: (@convention(c) () -> Int).self)() == 1 else {
    	preconditionFailure("wrong return")
    }
    

    Crash log

    GetTaskAllowTest 6-24-20, 11-18.log

    bug 
    opened by saagarjha 94
  • [UTM] App freezes/white screen on launch

    [UTM] App freezes/white screen on launch

    iOS 13.3 on iPhone XS.

    While not jailbroken, the app itself can be opened as long as it is signed, however, the app will crash right after clicking on any of the VMs. Configuration menu works without issues.

    Additionally, the app will crash when a fairly large VM is attempting to be launched even in jailbroken mode (in my case, a Windows XP install with a 2 GB hard drive, it was set up on the device itself and was fully functional until I shut down the VM and attempted to re-launch the virtual machine later on); when reopened, the app will stay on the white splash screen after the initial crash and stop functioning, even after removing the app in the switcher/respringing/su && ldrestart (possibly due to lack of cleanup?). This is also reproducible by shutting down the virtual machine with the power button on the top menu UI; the machine shuts down and the app freezes. Only fixable by rebooting and re-jailbreaking. IMG_0660

    crash 
    opened by unorderedpizza 94
  • UTM VM

    UTM VM "Getting ready" stuck while opening Windows on M1 Macbook

    Hi! I'm having issue with installing Windows 11 on my Macbook M1. I do everything like it is shown in gallery (and many others tutorials) but after I lunch VM i see Windows spinning and message "Getting ready" I waited for 2 hours but nothing happens. Can someone help me?

    opened by Kulllach 78
  • Cursor sometimes disappears or shows a stale state when SPICE is installed

    Cursor sometimes disappears or shows a stale state when SPICE is installed

    Describe the issue My Windows pointer is somewhere, but the pointer is actually somewhere else. Screenshot attached.

    Configuration

    • UTM Version: Version 2.1.1 (30)
    • OS Version: macOS 12.0 Dev Beta 1
    • Intel or Apple Silicon? Apple Silicon

    Crash log If the app crashed, you need a crash log. To get your crash log, open Console.app, go to Crash Reports, and find the latest entry for either QEMU, QEMUHelper, or qemu-*. Right click and choose Reveal in Finder. Attach the report here.

    Debug log For all issues, including crashes, you should attach a debug log. Open UTM, and open the settings for the VM you wish to launch. Near the top of the QEMU page is Debug Log. Turn it on and save the VM. After you experience the issue, open the VM settings again and select Export Log... and attach it here.

    Upload VM (Optional) If possible, upload the config.plist inside the .utm. If you do not have this, you can upload the entire .utm but note this contains your personal data. Since Github has an attachment size limit, you may want to upload to another service such as Google Drive. Link it here.

    spice 
    opened by Terabyte1385 76
  • UTM refuses to install on iOS 14.2 with Odyessyra1n (Checkra1n with Sileo) Jailbreak

    UTM refuses to install on iOS 14.2 with Odyessyra1n (Checkra1n with Sileo) Jailbreak

    UTM refuses to install on my iPhone 7 with iOS 14.2 and jailbroken with Checkra1n. When I try to install it with Filza, it fails and says Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.FVF0y5/extracted/Payload/UTM.app : 0xe800801C (No code signature found.) Could someone please help me understand what I am doing wrong?

    help wanted 
    opened by Vishram1123 70
  • Crash on start VM

    Crash on start VM

    Message from developer: I'm hijacking this issue to point out this common problem. UTM does NOT work with AppCake and many similar "cloud" signing services! You can either use a Filza + a jailbroken device to install the fakesigned IPA release OR follow the resign instructions to install on a stock device.

    UTM 0.3 iPad Air 3 64GB on 12.4 jailbroken I tried XP, 7 RAM 1024/2048 both tried Disk 20480MB These settings can work on my iPhone11 Pro Max but ram should be 1024 It may cause by A12?

    crash 
    opened by WongIong 61
  • Completely black screen when installing Kali M1 version

    Completely black screen when installing Kali M1 version

    When I try to install Kali Linux with graphical installation the screen go black. Note: I'm using the M1 installer provided by kali linux website.

    UTM Version: 3.2.4 Monterey 12.2.1 Mac M1 air 2020

    external dependency 
    opened by bacchilega 59
  • Modifier keys and non-US layout not mapped properly

    Modifier keys and non-US layout not mapped properly

    Describe the issue UTM app does not map certain keys for the non-english keyboards.

    Keys that fail

    option + q supposed to print @ but it printing q " and é are at the same key but it is unresponsive [>] and [<] are at the same key but it prints "

    There seems to be no other issue. Keyboard language is Turkish / TR

    Configuration

    • UTM Version: Version 2.2.4 (36)
    • OS Version: Big Sur
    • Intel or Apple Silicon?: Apple Silicon M1
    **Debug log**
    Running:  -L /Applications/UTM.app/Contents/Resources/qemu -S -qmp tcp:127.0.0.1:4001,server,nowait -nodefaults -vga none -spice "unix=on,addr=/Users/ozberkakbas/Library/Group Containers/WDNLXAD4W8.com.utmapp.UTM/3B2EE660-5AB5-4A89-AE8B-6BF7397230BC.spice,disable-ticketing=on,image-compression=off,playback-compression=off,streaming-video=off,gl=on" -device virtio-ramfb-gl -cpu cortex-a72 -smp cpus=8,sockets=1,cores=8,threads=1 -machine virt-6.1,highmem=off -accel hvf -accel tcg,tb-size=1024 -drive if=pflash,format=raw,unit=0,file=/Applications/UTM.app/Contents/Resources/qemu/edk2-aarch64-code.fd,readonly=on -drive if=pflash,format=raw,unit=1,file=/Users/ozberkakbas/Library/Containers/com.utmapp.UTM/Data/Documents/Ubuntu.utm/Images/efi_vars.fd -boot menu=on -m 4096 -device intel-hda -device hda-duplex -name Ubuntu -device qemu-xhci,id=usb-bus -device usb-tablet,bus=usb-bus.0 -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 -device ich9-usb-ehci1,id=usb-controller-0 -device ich9-usb-uhci1,masterbus=usb-controller-0.0,firstport=0,multifunction=on -device ich9-usb-uhci2,masterbus=usb-controller-0.0,firstport=2,multifunction=on -device ich9-usb-uhci3,masterbus=usb-controller-0.0,firstport=4,multifunction=on -chardev spicevmc,name=usbredir,id=usbredirchardev0 -device usb-redir,chardev=usbredirchardev0,id=usbredirdev0,bus=usb-controller-0.0 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=usb-controller-0.0 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=usb-controller-0.0 -device nvme,drive=drive0,serial=drive0,bootindex=0 -drive if=none,media=disk,id=drive0,file=/Users/ozberkakbas/Library/Containers/com.utmapp.UTM/Data/Documents/Ubuntu.utm/Images/disk-0.qcow2,cache=writethrough -device usb-storage,drive=drive1,removable=true,bootindex=1 -drive if=none,media=cdrom,id=drive1 -device virtio-net-pci,mac=46:52:FC:E9:F2:BA,netdev=net0 -netdev vmnet-macos,mode=shared,id=net0 -device virtio-serial -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -chardev spicevmc,id=vdagent,debug=0,name=vdagent -uuid 3B2EE660-5AB5-4A89-AE8B-6BF7397230BC -rtc base=localtime
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: Started vmnet interface with configuration:
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: MTU:              1500
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: Max packet size:  1514
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: MAC:             REDACTED
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: DHCP IPv4 start:  REDACTED
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: DHCP IPv4 end:    REDACTED
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: IPv4 subnet mask:REDACTED
    qemu-aarch64-softmmu: -netdev vmnet-macos,mode=shared,id=net0: info: UUID:             1FABB9AB-E693-4762-8192-7941489DDAC0
    qemu-aarch64-softmmu: warning: Spice: playback:0 (0x139897120): setsockopt failed, Operation not supported on socket
    qemu-aarch64-softmmu: warning: Spice: record:0 (0x1398971d0): setsockopt failed, Operation not supported on socket
    gl_version 30 - es profile enabled
    WARNING: running without ARB/KHR robustness in place may crash
    GLSL feature level 130
    
    bug 
    opened by ozbrk 55
  • All network interfaces broken on v2.2.1 (Beta) (Ubuntu 20.04.3)

    All network interfaces broken on v2.2.1 (Beta) (Ubuntu 20.04.3)

    Describe the issue Using UTM v2.2.1 (Beta), a fresh installation of Ubuntu Server for ARM is not detecting any network interfaces. I am unable to try to manually change settings because the YAML files in cd /etc/netplan are empty and I cannot get any kind of Desktop Environment installed to troubleshoot with a GUI, since there is no network access for apt.

    I have tried nearly every setting in the Network pane, including the new Bridged network mode. After going through several GitHub issues, it seems that virtio-net-pci and rtl8139 are the correct emulated network card, but they also produce no results under any Network Mode.

    Running dig @1.1.1.1 [any url] times out.

    Configuration

    • UTM Version: v2.2.1 (Beta)
    • OS Version: macOS Big Sur 11.5.2
    • Apple Silicon

    debug.log config.plist.zip

    opened by SuperOkazaki 51
  • Running without ARB/KHR robustness in place may crash

    Running without ARB/KHR robustness in place may crash

    Describe the issue
    When regularly using the VM (Windows 11), it suddenly hangs for 15 seconds then this comes on screen. Happening at random with no clear indicator.

    Configuration

    • UTM Version: 4.1.5 (74)
    • macOS Version: 13.1
    • Mac Chip (Intel, M1, ...): M1

    Debug log debug.log

    Upload VM
    config.plist.zip

    Additional Attachments QEMULauncher Crash Log Screenshot 2023-01-05 at 22 17 43

    opened by Terabyte1385 0
  • Adding a host configured printer on Ubuntu managed by UTM VM

    Adding a host configured printer on Ubuntu managed by UTM VM

    Describe the issue
    Hi,

    I am using Ubuntu installed on UTM VM. I am trying to add the printer that is already configured and working well on MacBook Pro. However, I do not find the device when I try to add a printer via settings. Am I missing any settings or configuration to make it work?

    Configuration

    • UTM Version: 4.0.9 (68)
    • macOS Version: Ventura 13.1 (22C65)
    • Mac Chip (Intel, M1, ...): Intel Core i9
    opened by shan-to-shan 0
  • persistent enumeration failures

    persistent enumeration failures

    Describe the issue

    Following these instructions plus the workaround in #2610, I'm attempting to boot macOS x86 on a macOS M1 host. Without the workaround, the machine crashes with the reported failure. After applying the workaround, it no longer crashes, but repeatedly emits a few messages while consuming the bulk of the host CPU.

    AppleUSB20HubPort004810000: AppleUSBHostPort::createDevice: failed to create device (0xe00002ba:)
    AppleUSB20HubPort004810000: AppleUSB20HubPort::resetAndCreateDevice: failed to create device, disabling port
    AppleUSB20HubPort004810000: AppleUSBHostPort::disconnect: persistent enumeration failures.
    

    Those messages are re-typed from what I could read from the machine thumbnail after terminating it. There might be typos or characters I couldn't read accurately due to resolution.

    Even if terminating the VM very quickly (by human standards), UTM becomes mostly unresponsive and killing it difficult (sometimes requires force-quitting the app or some bash processes).

    I tried switching to USB 2.0, but that prevented booting altogether.

    Configuration

    • UTM Version: 4.1.4
    • macOS Version: 13.1
    • Mac Chip (Intel, M1, ...): M1

    Debug log

    I was able to capture a debug.log, even though it's supposed to be unavailable for macOS-on-macOS VMs (perhaps because this is a custom x86 vm). The file is small, so probably doesn't provide a lot of insight.

    Upload VM

    Here is the VM.

    Any advice is appreciated.

    opened by jaraco 0
  • Multiple cursors on Windows VM when mouse is not captured

    Multiple cursors on Windows VM when mouse is not captured

    Describe the issue
    When the mouse is not captured, multiple cursors are displayed. For one, the MacOS native cursor (not visible in screenshot), under it the current Windows cursor and the last displayed windows cursor. As soon as mouse capture is enabled, only the correct Windows cursor gets displayed. I'm using ANGLE (Metal) and virtio-gp-gl-pci. This issue seems to be new since 4.1.5, did not see that before.

    Configuration

    • UTM Version: 4.1.5
    • macOS Version: 13.1
    • Mac Chip: M1 Pro
    Screenshot 2023-01-04 at 20 34 55
    opened by LostInCompilation 2
  • virtio-gpu-gl-device not working with new v4.1.5 release

    virtio-gpu-gl-device not working with new v4.1.5 release

    Describe the issue
    Since the new release 4.1.5 the virtio-gpu-gl-device prevents all VMs from booting. Happens in OpenGL and METAL setting. Looks like the display doesn't get initialized.

    It works with the virtio-gpu-gl-pci setting.

    Configuration

    • UTM Version: 4.1.5
    • macOS Version: 13.1
    • Mac Chip: M1 Pro
    Screenshot 2023-01-04 at 19 38 02
    opened by LostInCompilation 5
Releases(v4.1.5)
  • v4.1.5(Jan 4, 2023)

    Highlights

    • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
    • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal and limit FPS (in Preferences). Switching to Metal is highly recommended.
    • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
    • (iOS) TrollStore build now supports TSO (Total Store Ordering). TSO is used by Rosetta on the Mac to improve x86_64 emulation on ARM64. It can now be used on M1 iPads with QEMU to improve performance of FEX-Emu or a patched Rosetta. Note that it is recommended that TSO be disabled if you do not need to emulate x86_64 because it can reduce performance of other tasks.
    • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
    • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

    Notes

    • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • Newly created Linux VMs will now use virtio-gpu-gl-pci by default. It is recommended that you change the display card of existing QEMU backend Linux VMs to this card in order to take advantage of the improved renderer backend. This should result in improved performance in GUI rendering. Note that some applications (particularly 3D applications) may lock up or crash UTM and if you are experiencing issues, you can go back to virtio-ramfb or virtio-vga.
    • Newly created Windows VMs will now use virtio-ramfb-gl (Apple Silicon) or virtio-vga-gl (Intel) by default. There is NO 3D acceleration drivers for Windows yet, so unlike Linux, this will not improve any compatibility with applications. However, the GL backend can still be beneficial to Windows users because it has smoother animations and less tearing and artifacts. The overall benefits will not be as pronounced as for Linux VMs so it is optional that you change existing VMs to a -gl display card.
    • (iOS) It is recommended that you switch to the Metal backend in Preferences for better performance. However, some applications such as glxgears will not work with the Metal backend.

    Changes (v4.1.5)

    • Improved rendering of non-GL graphics on the new renderer backend. This should reduce some of the tearing seen in earlier updates. For the best performance, it is recommended that a GL backend is selected.
    • Support read-only disk images in QEMU backend as well as selecting images that are read-only (#4838) Note: all external drive images (ISOs) are now loaded as read-only, this was not enforced in previous versions due to an error in the logic.
    • Newly created Windows VMs will now use virtio-ramfb-gl (Apple Silicon) or virtio-vga-gl (Intel) by default. See the Notes section for more information.
    • Fixed an issue where the incorrect tmp directory path was used by QEMU (#4882)
    • Scripting: Fixed an issue where the proper error message was not displayed in some cases.
    • CLI: Improved some help text.
    • Localization: updated Japanese (thanks @MMP0)

    Changes (v4.1.4)

    • Fixed slow rendering of GRUB and EFI menus
    • Introduced new optimizations to renderer: bliting done on GPU instead of CPU now (for non-GL rendering), guest draw calls that are faster than the monitor refresh rate are now consolidated before drawing at vblank, rendering of multiple displays can happen concurrently now
    • Fixed rendering to multiple displays on the new renderer backend
    • Fixed an issue in QEMU where the vmnet backend uses 100% of CPU when the VM is suspended (#4803)
    • (iOS) TrollStore: Fixed JIT enable in the HV builds
    • (iOS) TrollStore: New option to enable TSO (Total Store Ordering) in QEMU settings (see Highlights for more details)
    • (iOS) Restored the default renderer backend to GL. This was changed in v4.1.3 because Metal is faster but the new backend can introduce regressions such as glxgears not working (#4856). As a result, the new backend is now opt-in but is still highly recommended.
    • (iOS) Fixed crash when changing VM settings on iOS 14 (#4864)
    • (iOS) Fixed crash when starting a VM with UTM SE (#4848)
    • (macOS) A tooltip will now reveal why suspend functionality is disabled

    Changes (v4.1.3)

    • Updated QEMU to v7.2.0
    • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
    • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
    • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
    • Settings: clearly show if the current display hardware supports GPU acceleration
    • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
    • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
    • Fixed deadlock on startup caused by gstosxaudio (#2364)
    • Fixed memory leak when GPU acceleration is enabled (#4449)
    • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
    • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
    • Fixed incorrect logic when cloning a VM (#4815)
    • Fixed some thread scheduling warning (#4352)
    • Localization: updated French (thanks @FRtranslator)
    • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
    • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
    • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
    • (macOS) New design for global settings (Cmd+,) which better organizes the settings
    • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
    • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

    Changes (v4.1.2)

    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
    • Localization: updated Chinese Simplified (thanks @changanmoon)
    • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
    • (macOS) Implement OSA interface for AppleScript
    • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
    • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
    • (macOS 13+) New settings option to disable the dock icon
    • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
    • (macOS) Fix a crash when the pasteboard is updated (#4745)
    • (macOS) Support custom resolutions for Apple Virtualization VMs
    • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

    Changes (v4.1.1)

    • Fixed launching SPARC machines (#4575)
    • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
    • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
    • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
    • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
    • Localization: added Polish (thanks @mavethee)
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated French (thanks @FRtranslator)
    • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
    • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
    • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
    • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
    • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
    • (macOS) Added a confirmation dialog when deleting a drive (#4687)

    Changes (v4.1.0)

    • Updated QEMU to v7.1.0
    • Updated ANGLE and virglrenderer to latest commit
    • Fixed an issue where user override of machine property settings was not applied properly
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
    • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(114.98 MB)
    UTM.dmg(230.72 MB)
    UTM.HV.ipa(116.05 MB)
    UTM.ipa(116.05 MB)
    UTM.SE.ipa(142.90 MB)
  • v4.1.4(Jan 2, 2023)

    🎊Happy New Year!🎊

    Highlights

    • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
    • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal and limit FPS (in Preferences). Switching to Metal is highly recommended.
    • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
    • (iOS) TrollStore build now supports TSO (Total Store Ordering). TSO is used by Rosetta on the Mac to improve x86_64 emulation on ARM64. It can now be used on M1 iPads with QEMU to improve performance of FEX-Emu or a patched Rosetta. Note that it is recommended that TSO be disabled if you do not need to emulate x86_64 because it can reduce performance of other tasks.
    • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
    • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

    Notes

    • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.1.4)

    • Fixed slow rendering of GRUB and EFI menus
    • Introduced new optimizations to renderer: bliting done on GPU instead of CPU now (for non-GL rendering), guest draw calls that are faster than the monitor refresh rate are now consolidated before drawing at vblank, rendering of multiple displays can happen concurrently now
    • Fixed rendering to multiple displays on the new renderer backend
    • Fixed an issue in QEMU where the vmnet backend uses 100% of CPU when the VM is suspended (#4803)
    • (iOS) TrollStore: Fixed JIT enable in the HV builds
    • (iOS) TrollStore: New option to enable TSO (Total Store Ordering) in QEMU settings (see Highlights for more details)
    • (iOS) Restored the default renderer backend to GL. This was changed in v4.1.3 because Metal is faster but the new backend can introduce regressions such as glxgears not working (#4856). As a result, the new backend is now opt-in but is still highly recommended.
    • (iOS) Fixed crash when changing VM settings on iOS 14 (#4864)
    • (iOS) Fixed crash when starting a VM with UTM SE (#4848)
    • (macOS) A tooltip will now reveal why suspend functionality is disabled

    Changes (v4.1.3)

    • Updated QEMU to v7.2.0
    • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
    • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
    • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
    • Settings: clearly show if the current display hardware supports GPU acceleration
    • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
    • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
    • Fixed deadlock on startup caused by gstosxaudio (#2364)
    • Fixed memory leak when GPU acceleration is enabled (#4449)
    • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
    • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
    • Fixed incorrect logic when cloning a VM (#4815)
    • Fixed some thread scheduling warning (#4352)
    • Localization: updated French (thanks @FRtranslator)
    • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
    • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
    • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
    • (macOS) New design for global settings (Cmd+,) which better organizes the settings
    • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
    • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

    Changes (v4.1.2)

    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
    • Localization: updated Chinese Simplified (thanks @changanmoon)
    • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
    • (macOS) Implement OSA interface for AppleScript
    • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
    • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
    • (macOS 13+) New settings option to disable the dock icon
    • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
    • (macOS) Fix a crash when the pasteboard is updated (#4745)
    • (macOS) Support custom resolutions for Apple Virtualization VMs
    • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

    Changes (v4.1.1)

    • Fixed launching SPARC machines (#4575)
    • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
    • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
    • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
    • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
    • Localization: added Polish (thanks @mavethee)
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated French (thanks @FRtranslator)
    • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
    • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
    • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
    • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
    • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
    • (macOS) Added a confirmation dialog when deleting a drive (#4687)

    Changes (v4.1.0)

    • Updated QEMU to v7.1.0
    • Updated ANGLE and virglrenderer to latest commit
    • Fixed an issue where user override of machine property settings was not applied properly
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
    • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(114.97 MB)
    UTM.dmg(230.69 MB)
    UTM.HV.ipa(116.05 MB)
    UTM.ipa(116.04 MB)
    UTM.SE.ipa(142.90 MB)
  • v4.1.3(Dec 28, 2022)

    Highlights

    • QEMU backend updated to v7.2.0. Also updated usbredir (0.13.0), virglrenderer (latest commit), ANGLE (latest commit)
    • Improved renderer backend. Lots of bug fixes and stability improvements to GPU accelerated Linux VMs (most common crashes when GPU acceleration is enabled should be gone now). New option to change the renderer backend to ANGLE Metal (which is also the default for iOS now) and limit FPS.
    • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
    • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
    • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

    Notes

    • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.1.3)

    • Updated QEMU to v7.2.0
    • Reworked CocoaSpice renderer to respond faster to GL updates from the guest, should improve frame pacing on GL supported Linux VMs
    • Added global setting to change renderer backend, introduce ANGLE Metal as an option (and also the new default for iOS)
    • Added global setting to limit FPS which can be used to improve frame pacing for a smoother rendering experience
    • Settings: clearly show if the current display hardware supports GPU acceleration
    • Wizard: GPU acceleration is now enabled by default when Linux is selected as the operating system
    • Fixed crash due to an error with GL_DRAW_COOKIE_INVALID (#4722)
    • Fixed deadlock on startup caused by gstosxaudio (#2364)
    • Fixed memory leak when GPU acceleration is enabled (#4449)
    • Fixed crash in -[MTLResourceList releaseAllObjectsAndReset] (#3519)
    • Fixed Mesa issue causing some GNOME desktop to freeze when GPU acceleration is enabled
    • Fixed incorrect logic when cloning a VM (#4815)
    • Fixed some thread scheduling warning (#4352)
    • Localization: updated French (thanks @FRtranslator)
    • (iOS) TrollStore build: use com.apple.private.security.no-sandbox instead of com.apple.private.security.no-container on recommendation of other devs and to align with how other apps perform JIT.
    • (iOS) Fixed blank screen when choosing "Open" in the wizard (#4842)
    • (iOS) Fixed toolbar not auto-hiding before first interaction (#4844)
    • (macOS) New design for global settings (Cmd+,) which better organizes the settings
    • (macOS) utmctl: Fixed crash when utmctl help attach runs (#4817)
    • (macOS) utmctl: Fixed utmctl stop with --request and kill (#4850)

    Changes (v4.1.2)

    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
    • Localization: updated Chinese Simplified (thanks @changanmoon)
    • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
    • (macOS) Implement OSA interface for AppleScript
    • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
    • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
    • (macOS 13+) New settings option to disable the dock icon
    • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
    • (macOS) Fix a crash when the pasteboard is updated (#4745)
    • (macOS) Support custom resolutions for Apple Virtualization VMs
    • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

    Changes (v4.1.1)

    • Fixed launching SPARC machines (#4575)
    • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
    • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
    • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
    • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
    • Localization: added Polish (thanks @mavethee)
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated French (thanks @FRtranslator)
    • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
    • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
    • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
    • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
    • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
    • (macOS) Added a confirmation dialog when deleting a drive (#4687)

    Changes (v4.1.0)

    • Updated QEMU to v7.1.0
    • Updated ANGLE and virglrenderer to latest commit
    • Fixed an issue where user override of machine property settings was not applied properly
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
    • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    • UTM SE is currently not working! (#4848)

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(114.96 MB)
    UTM.dmg(230.67 MB)
    UTM.HV.ipa(116.04 MB)
    UTM.ipa(116.04 MB)
    UTM.SE.ipa(142.92 MB)
  • v4.1.2(Dec 16, 2022)

    Highlights

    • QEMU backend updated to v7.1.0
    • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.
    • (macOS) AppleScript (OSA) support and CLI interface. You can control parts of UTM through the OSA interface. Currently there is support for listing VMs as well as start/stop/suspend operations and the ability to print out the guest serial port connections. More functionality will be added in the future. A command line application is also provided in UTM.app/Contents/MacOS/utmctl (which you can symlink to /usr/local/bin/utmctl if desired) that can be used for automation tasks without needing to learn AppleScript.
    • (macOS 13+) Menu bar extra. You can enable the menu bar extra icon in Preferences (Cmd+,) as well as disable the dock icon. The menu bar extra provides a minimal interface to start/stop/suspend VMs and is useful when paired with headless VMs (a VM that does not have any display or terminal console installed).

    Notes

    • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.1.2)

    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated Japanese (thanks @MMP0 and @skyarrow87)
    • Localization: updated Chinese Simplified (thanks @changanmoon)
    • (iOS) Fix new VM wizard not appearing on < iOS 14.5 (#4776)
    • (macOS) Implement OSA interface for AppleScript
    • (macOS) Introduce a CLI application (UTM.app/Contents/MacOS/utmctl) that wraps around the OSA interface for automation
    • (macOS 13+) New settings option to enable a menu bar extra icon for controlling VMs
    • (macOS 13+) New settings option to disable the dock icon
    • (macOS) Fix various alignment issues in settings (#4596) (thanks @JezerM)
    • (macOS) Fix a crash when the pasteboard is updated (#4745)
    • (macOS) Support custom resolutions for Apple Virtualization VMs
    • (macOS) Fixed a UI freeze when canceling out of the settings for an Apple Virtualization VM

    Changes (v4.1.1)

    • Fixed launching SPARC machines (#4575)
    • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
    • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
    • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
    • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
    • Localization: added Polish (thanks @mavethee)
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated French (thanks @FRtranslator)
    • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
    • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
    • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
    • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
    • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
    • (macOS) Added a confirmation dialog when deleting a drive (#4687)

    Changes (v4.1.0)

    • Updated QEMU to v7.1.0
    • Updated ANGLE and virglrenderer to latest commit
    • Fixed an issue where user override of machine property settings was not applied properly
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
    • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(111.71 MB)
    UTM.dmg(225.76 MB)
    UTM.HV.ipa(112.75 MB)
    UTM.ipa(112.75 MB)
    UTM.SE.ipa(141.95 MB)
  • v4.1.1(Dec 4, 2022)

    Highlights

    • QEMU backend updated to v7.1.0
    • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.

    Notes

    • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.1.1)

    • Fixed launching SPARC machines (#4575)
    • Fixed an error when attempting to save a VM where one of its removable drives is linked to a file that has been deleted
    • Fixed IPSW/.utm download failing when the device goes to sleep (the download should resume after wake up)
    • Restored scroll bars when system is set to always show scroll bars. Added a new SwiftUI crash workaround thanks to @evelyneee.
    • Display all sizes in binary (MiB/GiB) mode in order to be consistent (#4396)
    • Localization: added Polish (thanks @mavethee)
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • Localization: updated French (thanks @FRtranslator)
    • (macOS) Fixed the port forward UI on macOS 11 and introduce a new port forward UI for macOS 12+ (#4690)
    • (macOS) Fixed "This virtual machine cannot be run on this machine." error on a newly created Apple VM (#4595)
    • (macOS) Added new 21:9 widescreen resolution for Apple VMs (thanks @Tandolf)
    • (macOS) Added a clarifying message about shared directory support on older macOS guests (#4594)
    • (macOS) Added new shutdown options (software request and force kill) which can be toggled by long pressing the power button in the VM window (#4001)
    • (macOS) Added a confirmation dialog when deleting a drive (#4687)

    Changes (v4.1.0)

    • Updated QEMU to v7.1.0
    • Updated ANGLE and virglrenderer to latest commit
    • Fixed an issue where user override of machine property settings was not applied properly
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
    • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(111.71 MB)
    UTM.dmg(225.00 MB)
    UTM.HV.ipa(112.76 MB)
    UTM.ipa(112.76 MB)
    UTM.SE.ipa(141.95 MB)
  • v4.1.0(Oct 31, 2022)

    Highlights

    • QEMU backend updated to v7.1.0
    • (iOS) TrollStore build (UTM.HV.ipa) now supports JIT. Additionally, there is now in-app settings.

    Notes

    • iOS 14 and macOS 11.3 are the minimum supported systems for UTM v4.x. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.1.0)

    • Updated QEMU to v7.1.0
    • Updated ANGLE and virglrenderer to latest commit
    • Fixed an issue where user override of machine property settings was not applied properly
    • Localization: updated Japanese (thanks @MMP0)
    • Localization: updated Spanish (Latin America) (thanks @JezerM)
    • (iOS) Added in-app settings popover which synchronizes with the Settings app (useful for TrollStore installs where the Settings app page is inaccessible) (#4446)
    • (iOS) TrollStore: support JIT without needing a separate JIT enabler (thanks @PojavLauncherTeam for the idea)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(111.68 MB)
    UTM.dmg(224.95 MB)
    UTM.HV.ipa(112.72 MB)
    UTM.ipa(112.72 MB)
    UTM.SE.ipa(141.96 MB)
  • v4.0.9(Oct 21, 2022)

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon. Check out https://docs.getutm.app/guides/debian/ for an installation guide. Note that base M1 chip users may experience issues that will be addressed in a future update.
    • VirtFS sharing for QEMU. This alternative directory sharing backend is supported by Linux and can have better performance. Note that macOS UID are numbered differently than Linux so you may have to run chown in the guest. Check out https://docs.getutm.app/guest-support/linux/ for more details.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
    • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 14.0-15.5b4 is supported on any M1 iPad running TrollStore.
    • New documentation site. https://docs.getutm.app/ is the home of the official UTM documentation.
    • New localization. Thanks to various community members, UTM is now translated to: Chinese (Simplified), Chinese (Traditional), Finnish, French, German, Japanese, Korean, and Spanish (Latin America)

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.
    • Since v4.0.6, the order of generated devices has changed to always create network devices first. This is to address an issue on some distributions (such as Ubuntu) where adding a device (drive, display, etc) would require re-configurating the network because the device name changed. Unfortunately, this change will cause the configuration issue to occur once more on any existing VM that is susceptible to the network issue. On Ubuntu, this will require you to modify /etc/netplan/00-installer-config.yaml and change the adapter name from enp0s9 (or whatever it is currently) to enp0s1 (which reflects the new device ordering). Other Linux distributions may require a similar change. However, after updating the guest network configuration, you should no longer have issues with networking when making device changes to the VM.

    Changes (v4.0.9)

    • Fixed some broken links to documentation (#4529)
    • Fixed an issue where running ARM64 emulation on ARM64 gives an error "The ‘host’ CPU type can only be used with KVM or HVF" (#4528)
    • Fixed a regression where S390x and SPARC VMs cannot start due to missing USB bus
    • (iOS) Fixed UTM SE cannot launch any VMs (#4516)

    Changes (v4.0.8)

    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator and @alexis-martel)
    • Translation: Added German (thanks @conath)
    • (macOS) Disable resize button in GUI Apple VM window
    • (macOS) Reverted some SwiftUI issue workarounds that are no longer present in Ventura RC

    Changes (v4.0.7)

    • Fixed renamed VM not appearing on next launch (#4469)
    • Fixed TCP server not working (#4479)
    • Fixed random network issues caused by invalid MAC address generation (you must re-generate MAC to apply the change if your VM created in UTM v4 does not have working network) (#4477)
    • Fixed a crash when trying to boot Kali Linux with terminal enabled
    • Fixed hypervisor on iOS 14.6-14.8
    • Added new setting for serial device in TCP server mode to listen on remote/local interfaces (#4483)
    • Fixed URL automation sending text to terminal
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: Link to new documentation site (#4443, #4445)
    • (iOS) Fixed disponible run option not appearing
    • (macOS) Fixed settings getting stuck at information page (#4465)
    • (macOS) Updated display menu option to match title bar when multiple displays are used (#4484)
    • (macOS) Fixed no mouse/keyboard on Intel Apple Virtualization (#4409)
    • (macOS) Fixed no audio input device on Linux running on Apple Virtualization (#4409)
    • (macOS) Fixed auto-quit when all windows are closed happening when headless VM is still running

    Changes (v4.0.6)

    • Fixed an issue in argument generation where PS/2 input was forced even when USB was enabled (#4424)
    • Validate settings on save before closing the settings dialog
    • Network devices are now created first before all other devices. Note this means that networking will be broken on some existing VMs and must be re-configured! (See notes above)
    • Fixed a deadlock issue when saving settings
    • Fixed an error when saving a VM with an external drive selected
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: The Windows guest tools auto-installer currently only works on Windows 10 and above. A new option is added in the wizard to make this explicit. (#4440)
    • Wizard: Use VirtFS sharing by default when Linux is selected
    • (iOS) Default to emulated network instead of failing when importing a VM created on macOS
    • (macOS) Fixed an issue where opening a new display window from a serial window did not work
    • (macOS) Fixed logic on macOS 11 where serial window was not created
    • (macOS) Fixed a crash on macOS 11 when saving settings while the QEMU tab is selected
    • (macOS 13) Support clipboard sharing on Linux with Apple Virtualization when spice-vdagent is installed
    • (macOS) Fixed an issue changing the boot OS where the incorrect image type is prompted
    • (macOS) Perform settings validation when launching an Apple Virtualization VM to ensure selected features are available
    • (macOS 12+) Set a machine identifier when launching an Apple Virtualization VM
    • (macOS 13) Emulate trackpad on macOS guests with Apple Virtualization
    • (macOS) Fixed an issue when a newly created VM will not launch on macOS 11

    Changes (v4.0.5)

    • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
    • Translation: Updated Japanese (thanks @MMP0)
    • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
    • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
    • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

    Changes (v4.0.4)

    • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
    • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
    • Fixed creating a VM with illegal path characters in the name (#4385)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
    • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
    • (iOS) Fixed a crash when switching display in a window
    • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
    • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
    • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
    • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
    • (iOS) Show the device cursor when VM is paused
    • (iOS) Fixed a regression where external keyboard events are not captured
    • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
    • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
    • (macOS) Fixed a layout issue of the compress/resize buttons
    • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
    • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • VirtFS no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes(2) | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.73 MB)
    UTM.dmg(265.84 MB)
    UTM.HV.ipa(132.49 MB)
    UTM.ipa(132.49 MB)
    UTM.SE.ipa(146.84 MB)
  • v4.0.8(Oct 19, 2022)

    Update [20/10/22]: UTM SE build was removed and replaced with version v3.2.3 because of a bug that prevents any VM from starting up. If you have installed UTM SE v4.0.8, please re-install v3.2.3 or wait for the next update.

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon. Check out https://docs.getutm.app/guides/debian/ for an installation guide. Note that base M1 chip users may experience issues that will be addressed in a future update.
    • VirtFS sharing for QEMU. This alternative directory sharing backend is supported by Linux and can have better performance. Note that macOS UID are numbered differently than Linux so you may have to run chown in the guest. Check out https://docs.getutm.app/guest-support/linux/ for more details.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
    • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 14.0-15.5b4 is supported on any M1 iPad running TrollStore.
    • New documentation site. https://docs.getutm.app/ is the home of the official UTM documentation.
    • New localization. Thanks to various community members, UTM is now translated to: Chinese (Simplified), Chinese (Traditional), Finnish, French, German, Japanese, Korean, and Spanish (Latin America)

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.
    • Since v4.0.6, the order of generated devices has changed to always create network devices first. This is to address an issue on some distributions (such as Ubuntu) where adding a device (drive, display, etc) would require re-configurating the network because the device name changed. Unfortunately, this change will cause the configuration issue to occur once more on any existing VM that is susceptible to the network issue. On Ubuntu, this will require you to modify /etc/netplan/00-installer-config.yaml and change the adapter name from enp0s9 (or whatever it is currently) to enp0s1 (which reflects the new device ordering). Other Linux distributions may require a similar change. However, after updating the guest network configuration, you should no longer have issues with networking when making device changes to the VM.

    Changes (v4.0.8)

    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator and @alexis-martel)
    • Translation: Added German (thanks @conath)
    • (macOS) Disable resize button in GUI Apple VM window
    • (macOS) Reverted some SwiftUI issue workarounds that are no longer present in Ventura RC

    Changes (v4.0.7)

    • Fixed renamed VM not appearing on next launch (#4469)
    • Fixed TCP server not working (#4479)
    • Fixed random network issues caused by invalid MAC address generation (you must re-generate MAC to apply the change if your VM created in UTM v4 does not have working network) (#4477)
    • Fixed a crash when trying to boot Kali Linux with terminal enabled
    • Fixed hypervisor on iOS 14.6-14.8
    • Added new setting for serial device in TCP server mode to listen on remote/local interfaces (#4483)
    • Fixed URL automation sending text to terminal
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: Link to new documentation site (#4443, #4445)
    • (iOS) Fixed disponible run option not appearing
    • (macOS) Fixed settings getting stuck at information page (#4465)
    • (macOS) Updated display menu option to match title bar when multiple displays are used (#4484)
    • (macOS) Fixed no mouse/keyboard on Intel Apple Virtualization (#4409)
    • (macOS) Fixed no audio input device on Linux running on Apple Virtualization (#4409)
    • (macOS) Fixed auto-quit when all windows are closed happening when headless VM is still running

    Changes (v4.0.6)

    • Fixed an issue in argument generation where PS/2 input was forced even when USB was enabled (#4424)
    • Validate settings on save before closing the settings dialog
    • Network devices are now created first before all other devices. Note this means that networking will be broken on some existing VMs and must be re-configured! (See notes above)
    • Fixed a deadlock issue when saving settings
    • Fixed an error when saving a VM with an external drive selected
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: The Windows guest tools auto-installer currently only works on Windows 10 and above. A new option is added in the wizard to make this explicit. (#4440)
    • Wizard: Use VirtFS sharing by default when Linux is selected
    • (iOS) Default to emulated network instead of failing when importing a VM created on macOS
    • (macOS) Fixed an issue where opening a new display window from a serial window did not work
    • (macOS) Fixed logic on macOS 11 where serial window was not created
    • (macOS) Fixed a crash on macOS 11 when saving settings while the QEMU tab is selected
    • (macOS 13) Support clipboard sharing on Linux with Apple Virtualization when spice-vdagent is installed
    • (macOS) Fixed an issue changing the boot OS where the incorrect image type is prompted
    • (macOS) Perform settings validation when launching an Apple Virtualization VM to ensure selected features are available
    • (macOS 12+) Set a machine identifier when launching an Apple Virtualization VM
    • (macOS 13) Emulate trackpad on macOS guests with Apple Virtualization
    • (macOS) Fixed an issue when a newly created VM will not launch on macOS 11

    Changes (v4.0.5)

    • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
    • Translation: Updated Japanese (thanks @MMP0)
    • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
    • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
    • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

    Changes (v4.0.4)

    • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
    • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
    • Fixed creating a VM with illegal path characters in the name (#4385)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
    • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
    • (iOS) Fixed a crash when switching display in a window
    • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
    • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
    • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
    • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
    • (iOS) Show the device cursor when VM is paused
    • (iOS) Fixed a regression where external keyboard events are not captured
    • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
    • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
    • (macOS) Fixed a layout issue of the compress/resize buttons
    • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
    • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • VirtFS no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes(2) | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.73 MB)
    UTM.dmg(265.85 MB)
    UTM.HV.ipa(132.48 MB)
    UTM.ipa(132.48 MB)
    UTM.SE.ipa(162.19 MB)
  • v4.0.7(Oct 10, 2022)

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • VirtFS sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
    • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 14.0-15.5b4 is supported on any M1 iPad running TrollStore.
    • New documentation site. https://docs.getutm.app/ is the home of the official UTM documentation.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.
    • Since v4.0.6, the order of generated devices has changed to always create network devices first. This is to address an issue on some distributions (such as Ubuntu) where adding a device (drive, display, etc) would require re-configurating the network because the device name changed. Unfortunately, this change will cause the configuration issue to occur once more on any existing VM that is susceptible to the network issue. On Ubuntu, this will require you to modify /etc/netplan/00-installer-config.yaml and change the adapter name from enp0s9 (or whatever it is currently) to enp0s1 (which reflects the new device ordering). Other Linux distributions may require a similar change. However, after updating the guest network configuration, you should no longer have issues with networking when making device changes to the VM.

    Changes (v4.0.7)

    • Fixed renamed VM not appearing on next launch (#4469)
    • Fixed TCP server not working (#4479)
    • Fixed random network issues caused by invalid MAC address generation (you must re-generate MAC to apply the change if your VM created in UTM v4 does not have working network) (#4477)
    • Fixed a crash when trying to boot Kali Linux with terminal enabled
    • Fixed hypervisor on iOS 14.6-14.8
    • Added new setting for serial device in TCP server mode to listen on remote/local interfaces (#4483)
    • Fixed URL automation sending text to terminal
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: Link to new documentation site (#4443, #4445)
    • (iOS) Fixed disponible run option not appearing
    • (macOS) Fixed settings getting stuck at information page (#4465)
    • (macOS) Updated display menu option to match title bar when multiple displays are used (#4484)
    • (macOS) Fixed no mouse/keyboard on Intel Apple Virtualization (#4409)
    • (macOS) Fixed no audio input device on Linux running on Apple Virtualization (#4409)
    • (macOS) Fixed auto-quit when all windows are closed happening when headless VM is still running

    Changes (v4.0.6)

    • Fixed an issue in argument generation where PS/2 input was forced even when USB was enabled (#4424)
    • Validate settings on save before closing the settings dialog
    • Network devices are now created first before all other devices. Note this means that networking will be broken on some existing VMs and must be re-configured! (See notes above)
    • Fixed a deadlock issue when saving settings
    • Fixed an error when saving a VM with an external drive selected
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: The Windows guest tools auto-installer currently only works on Windows 10 and above. A new option is added in the wizard to make this explicit. (#4440)
    • Wizard: Use VirtFS sharing by default when Linux is selected
    • (iOS) Default to emulated network instead of failing when importing a VM created on macOS
    • (macOS) Fixed an issue where opening a new display window from a serial window did not work
    • (macOS) Fixed logic on macOS 11 where serial window was not created
    • (macOS) Fixed a crash on macOS 11 when saving settings while the QEMU tab is selected
    • (macOS 13) Support clipboard sharing on Linux with Apple Virtualization when spice-vdagent is installed
    • (macOS) Fixed an issue changing the boot OS where the incorrect image type is prompted
    • (macOS) Perform settings validation when launching an Apple Virtualization VM to ensure selected features are available
    • (macOS 12+) Set a machine identifier when launching an Apple Virtualization VM
    • (macOS 13) Emulate trackpad on macOS guests with Apple Virtualization
    • (macOS) Fixed an issue when a newly created VM will not launch on macOS 11

    Changes (v4.0.5)

    • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
    • Translation: Updated Japanese (thanks @MMP0)
    • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
    • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
    • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

    Changes (v4.0.4)

    • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
    • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
    • Fixed creating a VM with illegal path characters in the name (#4385)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
    • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
    • (iOS) Fixed a crash when switching display in a window
    • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
    • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
    • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
    • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
    • (iOS) Show the device cursor when VM is paused
    • (iOS) Fixed a regression where external keyboard events are not captured
    • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
    • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
    • (macOS) Fixed a layout issue of the compress/resize buttons
    • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
    • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • VirtFS no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | Yes(2) | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.52 MB)
    UTM.dmg(265.79 MB)
    UTM.HV.ipa(132.28 MB)
    UTM.ipa(132.28 MB)
    UTM.SE.ipa(148.58 MB)
  • v4.0.6(Sep 25, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • VirtFS sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
    • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 15.0-15.1.1 is supported on any M1 iPad running TrollStore.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.
    • Since v4.0.6, the order of generated devices has changed to always create network devices first. This is to address an issue on some distributions (such as Ubuntu) where adding a device (drive, display, etc) would require re-configurating the network because the device name changed. Unfortunately, this change will cause the configuration issue to occur once more on any existing VM that is susceptible to the network issue. On Ubuntu, this will require you to modify /etc/netplan/00-installer-config.yaml and change the adapter name from enp0s9 (or whatever it is currently) to enp0s1 (which reflects the new device ordering). Other Linux distributions may require a similar change. However, after updating the guest network configuration, you should no longer have issues with networking when making device changes to the VM.

    Changes (v4.0.6)

    • Fixed an issue in argument generation where PS/2 input was forced even when USB was enabled (#4424)
    • Validate settings on save before closing the settings dialog
    • Network devices are now created first before all other devices. Note this means that networking will be broken on some existing VMs and must be re-configured! (See notes above)
    • Fixed a deadlock issue when saving settings
    • Fixed an error when saving a VM with an external drive selected
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: The Windows guest tools auto-installer currently only works on Windows 10 and above. A new option is added in the wizard to make this explicit. (#4440)
    • Wizard: Use VirtFS sharing by default when Linux is selected
    • (iOS) Default to emulated network instead of failing when importing a VM created on macOS
    • (macOS) Fixed an issue where opening a new display window from a serial window did not work
    • (macOS) Fixed logic on macOS 11 where serial window was not created
    • (macOS) Fixed a crash on macOS 11 when saving settings while the QEMU tab is selected
    • (macOS 13) Support clipboard sharing on Linux with Apple Virtualization when spice-vdagent is installed
    • (macOS) Fixed an issue changing the boot OS where the incorrect image type is prompted
    • (macOS) Perform settings validation when launching an Apple Virtualization VM to ensure selected features are available
    • (macOS 12+) Set a machine identifier when launching an Apple Virtualization VM
    • (macOS 13) Emulate trackpad on macOS guests with Apple Virtualization
    • (macOS) Fixed an issue when a newly created VM will not launch on macOS 11

    Changes (v4.0.5)

    • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
    • Translation: Updated Japanese (thanks @MMP0)
    • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
    • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
    • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

    Changes (v4.0.4)

    • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
    • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
    • Fixed creating a VM with illegal path characters in the name (#4385)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
    • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
    • (iOS) Fixed a crash when switching display in a window
    • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
    • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
    • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
    • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
    • (iOS) Show the device cursor when VM is paused
    • (iOS) Fixed a regression where external keyboard events are not captured
    • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
    • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
    • (macOS) Fixed a layout issue of the compress/resize buttons
    • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
    • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • VirtFS no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | No | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.53 MB)
    UTM.dmg(265.82 MB)
    UTM.HV.ipa(132.29 MB)
    UTM.ipa(132.29 MB)
    UTM.SE.ipa(148.57 MB)
  • v4.0.5(Sep 16, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • VirtFS sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
    • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor. iOS 14.4.2-14.5.1 is supported only on M1 iPad Pro jailbroken with fugu14/unc0ver. iOS 15.0-15.1.1 is supported on any M1 iPad running TrollStore.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.0.5)

    • Fixed moving an existing VM with Hypervisor enabled to a device on a different architecture. The VM will fallback to TCG and the option to disable hypervisor in settings is allowed. (#4407)
    • Translation: Updated Japanese (thanks @MMP0)
    • (iOS) Fixed an issue that prevented external keyboards from working (#4399)
    • (iOS) Detect Hypervisor support on jailbroken devices so the option is not inadvertently enabled on non-supported devices
    • (iOS) Support Hypervisor on M1 iPad running jailbroken iOS 14.5

    Changes (v4.0.4)

    • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
    • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
    • Fixed creating a VM with illegal path characters in the name (#4385)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
    • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
    • (iOS) Fixed a crash when switching display in a window
    • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
    • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
    • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
    • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
    • (iOS) Show the device cursor when VM is paused
    • (iOS) Fixed a regression where external keyboard events are not captured
    • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
    • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
    • (macOS) Fixed a layout issue of the compress/resize buttons
    • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
    • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • VirtFS no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | No | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.53 MB)
    UTM.dmg(265.81 MB)
    UTM.HV.ipa(132.29 MB)
    UTM.ipa(132.29 MB)
    UTM.SE.ipa(148.57 MB)
  • v4.0.4(Sep 10, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • VirtFS sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.
    • (iOS) QEMU Virtualization for M1 iPad. With the release of TrollStore, you can now enable Hypervisor on iOS. Note that only M1 hardware and kernel have support for Hypervisor and it has only been tested on iOS 15.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.0.4)

    • Fixed in issue generating configuration for IDE drives leading to PPC not booting and I/O errors on PC (#4372, #4376, others)
    • Moved the SPICE tools download directory to "GuestSupportTools" under "Application Support" (previously it was just under "Application Support")
    • Fixed creating a VM with illegal path characters in the name (#4385)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated French (thanks @FRtranslator)
    • Wizard: No longer tries to download the Windows guest tools when selecting a non-Windows OS
    • (iOS) Enable build with Hypervisor.framework (support limited to M1 iPad)
    • (iOS) Fixed a crash when switching display in a window
    • (iOS) On jailbroken devices, the memory limit will automatically be increased to the maximum, preventing the Jetsam system from terminating UTM for memory usage
    • (iOS) Fixed a regression which caused the home indicator to not be hidden (#4390)
    • (iOS) Fixed a regression which caused the cursor to not be captured (#4390)
    • (iOS) When switching display, notification handlers are properly cleaned up (example: cursor capture and console on screen keyboard events)
    • (iOS) Show the device cursor when VM is paused
    • (iOS) Fixed a regression where external keyboard events are not captured
    • (iOS) Fixed an error where extraneous stale VM entries show up after the container name changes (#4392)
    • (iOS) Fixed a crash on iOS 14 when opening a terminal view due to SwiftTerm handling the colour configuration
    • (macOS) Fixed a layout issue of the compress/resize buttons
    • (macOS) Forgot to actually enable compression for the drive setting button (#4377)
    • (macOS) Fixed some settings layout issue on < macOS 13 (#4374)

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • VirtFS no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    | File | Description | Installation | JIT | Hypervisor | USB | |------|------------|--------------|-----|-----------|-----| | UTM.deb | Jailbroken iOS version | Open in Cydia, dpkg, or Sileo | Yes | Yes(1) | Yes | | UTM.dmg | macOS version | Mounting and copying UTM.app to /Applications | Yes | Yes | Yes | | UTM.ipa | Non-jailbroken iOS version (sideloading) | AltStore, etc (see guide) | Yes(2) | No | No | | UTM.HV.ipa | Non-jailbroken iOS version (TrollStore) | TrollStore | No | Yes(1) | Yes | | UTM.SE.ipa | Non-jailbroken iOS version (sideloading) | AltStore, enterprise signing, etc | No | No | No |

    1. Hypervisor on iOS requires an M1 iPad.
    2. Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.52 MB)
    UTM.dmg(265.81 MB)
    UTM.HV.ipa(132.28 MB)
    UTM.ipa(132.28 MB)
    UTM.SE.ipa(148.58 MB)
  • v4.0.3(Sep 5, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • Virtiofs sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.
    • Easier Windows 10/11 installation and Windows guest tools downloader. You can now download and mount the Windows drivers and guest tools ISO image with a single click (macOS: disk icon in VM window, iOS: 3D touch context menu on home screen). Additionally, the ISO now include an "Autounattend.xml" which is recognized by the Windows 10/11 installer. When mounted to a second CD drive, the installer will install the correct drivers, bypass secure boot/TPM requirements, and launch the SPICE tools installer on first login.
    • (macOS) Resize QEMU disk images. In the drives settings page, you can now expand the size of the QCOW2 disk image.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.0.3)

    • Fixed an issue where changing external drive/shared directory for a QEMU VM -> exit UTM -> reopen UTM and start the VM results in the drive/share not being restored
    • Disable changing a VirtioFS share from the home window (this is not an supported operation)
    • Better detection of UUID collision which addresses an issue where VMs with the same UUID do not show up on the home screen and other VMs show up as duplicates and clicking on any of them results in a freeze
    • Fixed floppy drive argument not being correctly generated (#4362)
    • Fixed an issue where ejecting an external drive or shared directory does not persist
    • Fixed a memory issue when stopping or closing VMs causing UTM to crash
    • Fixed a regression where an access error occurs after moving a VM
    • Added the ability to download the Windows SPICE tools and drivers automatically (#4364)
    • Added support for more than 2 IDE drives in PC emulation
    • Restored the setting to turn off blinking cursor (#4296)
    • Translation: Updated Japanese (thanks @MMP0)
    • Wizard: Reworked some of the UI, text, and file selection
    • Wizard: Add option to auto download and mount the SPICE tools to a second CD drive
    • Wizard: Fixed an issue where the selected boot image and shared directory was not saved on the new VM
    • Wizard: Recommend UUP built ISO over the VHDX by default
    • Wizard: New "confused user" check will catch trying to mount an "amd64" ISO on an "arm64" guest or vice versa
    • (iOS 16) Use the new NavigationSplitView for a slightly polished look
    • (iOS 16) Fixed an issue where the bottom toolbar does not show up (#4325)
    • (iOS) Fixed an issue where the file importer was not opening (#4365)
    • (iOS 14) Fixed an issue in the settings screen where multiple drives were occupying a single cell
    • (iOS 14) Fixed an issue where UTM may crash when adding a drive or hardware
    • (macOS) Added the ability to re-open closed windows for a given VM (#4351)
    • (macOS) Fixed an issue where restarting a VM results in duplicate windows (#4367)
    • (macOS) Save the size of terminal windows (#4296)
    • (macOS) Add resize QCOW2 image feature (thanks @stewartsmith)

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • Virtiofs no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.50 MB)
    UTM.dmg(265.78 MB)
    UTM.ipa(132.25 MB)
    UTM.SE.ipa(148.57 MB)
  • v4.0.2(Aug 30, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • Virtiofs sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.0.2)

    • Removed "view.plist" for host-specific configuration settings (i.e. bookmarks to removable drives and window options) and replaced it with a new "registry" that is stored outside of the .utm bundle. Old "view.plist" settings and bookmarks will be migrated to the registry on first launch and the file will be deleted from the .utm bundle. For Apple VMs, the bookmarks will no longer be stored in config.plist and the settings will be migrated to the registry as well.
    • Virtiofs no longer requires SPICE to be enabled (thanks @tie)
    • Fixed an issue with PPC VMs not showing 256 colours correctly (#4277)
    • Fixed incorrect parsing of CPU flags (#4282)
    • Do not save screenshots when running in disposable mode
    • Translation: Added Spanish (Latin America) (thanks @JezerM)
    • Translation: Added Finnish (thanks @marcusziade)
    • Translation: Updated Japanese (thanks @MMP0)
    • Translation: Updated Chinese (Simplified) (thanks @ty-yqs)
    • Translation: Updated French (thanks @FRtranslator)
    • (iOS) Per-display window settings (zoom, position, keyboard visibility, etc) will be stored in the new registry
    • (iOS) Prefer JitStreamer over AltJit when both are available (thanks @ktprograms)
    • (macOS) Fixed saving removable drives and shared directories for Apple VMs
    • (macOS) Fixed missing audio entitlements (#4342)
    • (macOS) Fixed QEMULauncher process not terminating when a VM is force quit
    • (macOS) Fixed issue selecting text in SwiftTerm (#4297)

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.
    • (macOS) You cannot reopen a window for additional displays after you close them
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.47 MB)
    UTM.dmg(265.73 MB)
    UTM.ipa(132.23 MB)
    UTM.SE.ipa(148.54 MB)
  • v4.0.1(Aug 15, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • Virtiofs sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID are numbered differently than Linux so you may need to set up your guest to have permission to access the shared directory.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten. Please backup all VMs prior to updating as you will not be able to re-open VMs saved by UTM v4 on older versions of UTM if you decide to downgrade.

    Changes (v4.0.1)

    • Fixed an issue where an UEFI BIOS error was reported when the target does not use UEFI (#4265)
    • Added Elementary OS icon (thanks @Unbinilium)
    • Updated ja localization (thanks @MMP0)
    • Updated fr localization (thanks @FRtranslator)
    • Changed the icon for "Serial" so it appears on iOS 14 and macOS 11 as well
    • Fixed custom icon not showing up for "legacy" configurations
    • Fixed an error trying to migrate "legacy" configuration when "Images" does not exist (#4266)
    • Fixed USB redirection (#4263)
    • (iOS) Fixed a toolbar issue where USB button overflowed on screen.
    • (iOS) Fixed resume button not appearing on < iOS 16
    • (iOS) Attempt to close the download progress pop-up after download completes (#4261)
    • (iOS) "Open" popover refuses to show up again after swiping down (#4260)
    • (iOS) Hide "Add" text on iOS 14 settings
    • (iOS) Fixed crash on iOS 14 settings when attempting to use the picker (#4270)
    • (iOS) Fixed an issue on iOS 14 where picker selection was being reset
    • (iOS) Fixed an issue where the USB icon is stuck on busy after a device disconnects
    • (macOS) Fixed a crash trying to change shared directory for Apple VM (#4271)
    • (macOS) Wizard created invalid target configuration for virtualized targets (#4274)

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • Removable drive saving and configuration are not completely working for Apple VMs
    • (iOS) VM display state (zoom level, keyboard show/hide, etc) are not saved
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.
    • (macOS) You cannot reopen a window for additional displays after you close them
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(130.35 MB)
    UTM.dmg(265.53 MB)
    UTM.ipa(132.10 MB)
    UTM.SE.ipa(146.48 MB)
  • v4.0.0(Aug 5, 2022)

    Remember to back up your VMs before running a beta release of UTM!

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • Multiple display and headless display is now supported for QEMU machines. You can configure 0 or more displays as well as 0 or more builtin terminal consoles. On macOS, a new window will be created for each display and builtin terminal. On iOS, you can create multiple windows (iPad) as well as plug in an external display or AirPlay (iPad or iPhone) and assign outputs to each window.
    • Ventura updates to Virtualization. macOS Ventura introduces new features to Virtualization.framework that is now integrated into UTM. You can now create GUI Linux VMs with EFI boot. Clipboard sharing and directory sharing now works with macOS Ventura guests. Rosetta x86_64 emulation is supported for Linux VMs on Apple Silicon.
    • Virtiofs sharing for QEMU. This can be enabled in the VM settings under Sharing. You can mount the tag "share" in the VM. Note that macOS UID follow a different format than Linux so you may need to set up your guest to have permission to access the shared directory.

    Notes

    • iOS 14 and macOS 11.3 are the new minimum supported systems. Please use UTM v3.x for support down to iOS 11 and macOS 11
    • The configuration backend has been massively rewritten and the new configuration format will not work on older versions of UTM. Please backup all VMs prior to updating as you will not be able to re-open them after using UTM v4.

    Changes (v4.0.0)

    • USB redirection support in terminal mode
    • Configuration file format changed, newly saved VMs will not be compatible with older versions of UTM
    • Newly imported disk images will be converted to QCOW2 automatically
    • Settings: new layout with support for multiple {Display, Serial, Network, Sound} devices (#3585)
    • Support multiple displays (#220)
    • Added Japanese localization (thanks @MMP0)
    • Support adding PTTY (macOS only), TCP client, and TCP server serial connections for QEMU machines (address should show up in the home screen) (#3546)
    • Support headless display (remove all displays and built-in serial ports in the settings) (#2280)
    • Support redirecting QEMU monitor and GDB stub to a serial port
    • Support zstd compression for QCOW2 images and use zstd as default for image compression (#4211)
    • Update ANGLE (GL backend) to latest git commit
    • Added French localization (thanks @FRtranslator)
    • Fixed microphone recording silence (#219)
    • Fixed a crash when attempting to delete a QEMU additional argument
    • Option in VM settings to use virtfs/9pfs for file sharing (#2184)
    • Option in VM settings to change VGA RAM size (#4034)
    • Option in VM settings to enable virtio-balloon driver (#4136)
    • Invert mouse scrolling is now a global setting rather than a per-vm configuration option
    • (iOS) Replaced hterm.js with SwiftTerm for terminal mode (#3473)
    • (iOS) Attach to JitStreamer (set IP address in Settings app and UTM will try to connect automatically on launch) (thanks @ktprograms)
    • (iOS) Automatically resize the display to fit the screen when the resolution changes if the resize toolbar option is used
    • (iOS) Reimplemented the USB and Drives menu with a better UI
    • (iOS) On iPadOS 16, show the menu bar when holding Cmd on the keyboard. On previous versions, an on-screen help will show supported commands
    • (iOS) Improved audio handling including: output when on silence, mixing with other apps, working when both recording and outputting (including with another app) (#3996)
    • (iOS) Added a global setting to always prefer the built-in microphone to a bluetooth microphone
    • (macOS) Fixed running from shortcut in Apple VMs (no longer need to re-import after each launch)
    • (macOS) Improved IPSW selection interface and support drag and drop (thanks @pointum)
    • (macOS) Fixed running unsigned builds
    • (macOS) Removed some deprecated global settings
    • (macOS) Fixed an error when trying to download an IPSW and the Caches directory does not exist (thanks @LostInCompilation)
    • (macOS) Fixed an issue where a VM could be started twice if the home screen's toolbar is used leading to data corruption (#4166)
    • (macOS 13+) Boot into recoveryOS (to disable SIP, etc) by right clicking on the VM and selecting "Run in recovery..." (#3526)
    • (macOS 13+) Option in VM settings to enable Rosetta for x86_64 emulation (#4100)
    • (macOS 13+) Option in VM settings to enable clipboard sharing (SPICE support needed on the guest) (#4121)
    • (macOS 13+) GUI display for Linux VMs (#4120)
    • (macOS 13+) Add removable drives, will show up as USB mass storage

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • Automation URL commands currently do not work completely
    • Removable drive saving and configuration are not completely working for Apple VMs
    • (iOS) VM display state (zoom level, keyboard show/hide, etc) are not saved
    • (macOS) GUI Linux boot may not be compatible with all distros. Ubuntu Server 22.04 does not install.
    • (macOS) You cannot reopen a window for additional displays after you close them
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(129.93 MB)
    UTM.dmg(264.89 MB)
    UTM.ipa(131.76 MB)
    UTM.SE.ipa(146.30 MB)
  • v3.2.4(May 20, 2022)

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • QEMU 7.0.0: The backend has been updated to the latest release. Check out https://www.qemu.org/2022/04/19/qemu-7-0-0/ for more details. Additionally, other backend components such as SPICE GTK, libusbredir, and more have also been updated.
    • Reclaiming space: the host will attempt to TRIM any page of all zeros when committed to the QCOW2 disk image. Additionally, a new button in disk settings will allow you to re-convert a disk image to reclaim space (of all-zero pages) as well as compress an existing disk image (macOS 12+ only). Note compression is only done statically which means when the guest modifies a sector, it will be stored uncompressed just like before.
    • Disposable mode: right click/long press on a QEMU VM and select "Run without saving changes" to start VM in "disposable mode." In this mode, changes will not be saved to disk and will be discarded once the VM is stopped. (thanks @ktprograms)

    Notes

    • Reminder: for troubleshooting common Windows install issues (such as no networking), please check out the guide or this guide for Ubuntu install issues.
    • If you manually added highmem=on or highmem=off to your QEMU Machine Properties as a workaround to issues in a previous release, please remove it.
    • (iOS) UTM v3.2.x will be the last update to support iOS 11-13. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.2.x. After that, iOS 14+ will be required to run future versions of UTM.

    Changes (v3.2.4)

    • Fixed isolated network mode with new vmnet backend (#4022)
    • Fixed some USB devices not showing up for USB capture (#3975)
    • (iOS) Added tap to click with Apple Pencil (thanks @luken11)
    • (macOS) Workaround a SwiftUI freeze then crash in the home view when the scrollbar is visible (#3612)
    • (macOS) Fixed an error loading Apple Virtualization VMs after updating from macOS 11 to macOS 12 (#4023)
    • (macOS) Fixed secondary click using Control+Click on the VM list (#4018)

    Changes (v3.2.3)

    • Disabled screenshots for GL virtual machines (workaround for a crash that occurs, this will be re-enabled in a future update once the crash is triaged)
    • (iOS) Pass through Esc key on external keyboard when VoiceOver is in use (#3940)
    • (macOS) Use correct scaling when HiDPI is enabled (#3968)
    • (macOS) Fix toolbar overlapping top of screen when "Automatically hide and show the menu bar in full screen" is unchecked in system preferences (#3919)
    • (macOS) When bridged networking is selected, default the interface to "en0" (#3945)
    • (macOS) Wizard: clarify that Linux kernel and initrd must be uncompressed if Apple Virtualization is used

    Changes (v3.2.2)

    • Add "disposable mode" (see highlights for more information) (thanks @ktprograms)
    • Do not enable UEFI for unsupported architectures (#3976)
    • Fix broken play button in sidebar (#3980)
    • Fix "Error -1 while loading VM state" on resume caused by usbredir (#3979)
    • Various UI tweaks and typo fixes (#3984)
    • Fixed pausing without saving state
    • Fixed showing warning prompt when VM is paused but not saved
    • (iOS) Detect if UTM is installed without AltStore and AltJIT will not attempt to be used.
    • (iOS) Reduced build size by 10% (thanks @Halo-Michael) (#3934)
    • (macOS) Add new preference option to revert Caps Lock behaviour to pre 3.2.0 (#3974)

    Changes (v3.2.1)

    • Fixed boot of RISC-V virt platform (thanks @wegank)
    • Remove highmem=off default property which is no longer needed on macOS 12.4+ and iOS 15.5+ (it will still be used on lower versions) (#3941, #3946)
    • Caps lock state will now be synchronized when mouse is captured (note that if mouse is captured before the guest OS has booted up, the state will be out of sync) (#3415)
    • Re-introduce option to disable auto-resolution when SPICE tools is installed (#3938)
    • When discarding unsaved settings, do not delete any disk image not created by UTM (#3587)
    • Fix downloading of UTM zip files when the URL does not end in ".zip" (#3953)
    • (macOS) When importing a disk image, do not silently overwrite an existing image of the same name (#3866)
    • (macOS) Added option to reclaim unused space from disk image and to compress a disk image (macOS 12+ only)
    • (macOS) On the VM list, the start button will now change to a spinner when the VM is starting and will disappear when the VM has started. Also added the ability to start/show a VM by double-clicking on the list item (#3885)

    Changes (v3.2.0)

    • Checkbox for "Import VHDX Image" in the wizard now works correctly again (#3760)
    • Fixed various crashes in SPICE webdavd share has been resolved thanks to updated backend (#3633)
    • Removed "cache=writethrough" argument from block devices since it was added to workaround an issue with VHDX images which we now convert to QCOW2
    • Added "discard=unmap,detect-zeroes=unmap" argument to block devices to reclaim unused space (#3460)
    • When "do not save screenshot to disk" is enabled, any existing screenshot will be deleted the next time the VM is started (#3936)
    • Fixed an issue in QEMU additional arguments where it sometimes would not appear after setting it (#3895)
    • Fixed RNG device not appearing in console mode even when enabled in the settings (#3790)
    • Added support for up to 5 additional mouse buttons (you may need to re-map them in the guest OS as they are automatically set to middle/up/down/side/extra) (#3906)
    • (iOS) Fixed an issue in the legacy view where "invalid identifier" error may show up on a newly created VM (#3872)
    • (macOS) Fixed crash when changing display settings while the VM window is open (but stopped) (#3925)
    • (macOS) Fixed crash when trying to select "Share..." in context menu (#3915)
    • (macOS) Prevent allowing rapid clicking of pause/resume which may lead to VM corruption (#3629)
    • (macOS) Show progress indicator while VM is saving to prevent user from terminating the app early and cause corruption (#3752)
    • (macOS) Block unsupported Apple USB devices from being captured (#3759)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(145.95 MB)
    UTM.dmg(262.29 MB)
    UTM.ipa(147.98 MB)
    UTM.SE.ipa(162.19 MB)
  • v3.2.3(May 13, 2022)

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • QEMU 7.0.0: The backend has been updated to the latest release. Check out https://www.qemu.org/2022/04/19/qemu-7-0-0/ for more details. Additionally, other backend components such as SPICE GTK, libusbredir, and more have also been updated.
    • Reclaiming space: the host will attempt to TRIM any page of all zeros when committed to the QCOW2 disk image. Additionally, a new button in disk settings will allow you to re-convert a disk image to reclaim space (of all-zero pages) as well as compress an existing disk image (macOS 12+ only). Note compression is only done statically which means when the guest modifies a sector, it will be stored uncompressed just like before.
    • Disposable mode: right click/long press on a QEMU VM and select "Run without saving changes" to start VM in "disposable mode." In this mode, changes will not be saved to disk and will be discarded once the VM is stopped. (thanks @ktprograms)

    Notes

    • Reminder: for troubleshooting common Windows install issues (such as no networking), please check out the guide.
    • If you manually added highmem=on or highmem=off to your QEMU Machine Properties as a workaround to issues in a previous release, please remove it.
    • (iOS) UTM v3.2.x will be the last update to support iOS 11-13. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.2.x. After that, iOS 14+ will be required to run future versions of UTM.

    Changes (v3.2.3)

    • Disabled screenshots for GL virtual machines (workaround for a crash that occurs, this will be re-enabled in a future update once the crash is triaged)
    • (iOS) Pass through Esc key on external keyboard when VoiceOver is in use (#3940)
    • (macOS) Use correct scaling when HiDPI is enabled (#3968)
    • (macOS) Fix toolbar overlapping top of screen when "Automatically hide and show the menu bar in full screen" is unchecked in system preferences (#3919)
    • (macOS) When bridged networking is selected, default the interface to "en0" (#3945)
    • (macOS) Wizard: clarify that Linux kernel and initrd must be uncompressed if Apple Virtualization is used

    Changes (v3.2.2)

    • Add "disposable mode" (see highlights for more information) (thanks @ktprograms)
    • Do not enable UEFI for unsupported architectures (#3976)
    • Fix broken play button in sidebar (#3980)
    • Fix "Error -1 while loading VM state" on resume caused by usbredir (#3979)
    • Various UI tweaks and typo fixes (#3984)
    • Fixed pausing without saving state
    • Fixed showing warning prompt when VM is paused but not saved
    • (iOS) Detect if UTM is installed without AltStore and AltJIT will not attempt to be used.
    • (iOS) Reduced build size by 10% (thanks @Halo-Michael) (#3934)
    • (macOS) Add new preference option to revert Caps Lock behaviour to pre 3.2.0 (#3974)

    Changes (v3.2.1)

    • Fixed boot of RISC-V virt platform (thanks @wegank)
    • Remove highmem=off default property which is no longer needed on macOS 12.4+ and iOS 15.5+ (it will still be used on lower versions) (#3941, #3946)
    • Caps lock state will now be synchronized when mouse is captured (note that if mouse is captured before the guest OS has booted up, the state will be out of sync) (#3415)
    • Re-introduce option to disable auto-resolution when SPICE tools is installed (#3938)
    • When discarding unsaved settings, do not delete any disk image not created by UTM (#3587)
    • Fix downloading of UTM zip files when the URL does not end in ".zip" (#3953)
    • (macOS) When importing a disk image, do not silently overwrite an existing image of the same name (#3866)
    • (macOS) Added option to reclaim unused space from disk image and to compress a disk image (macOS 12+ only)
    • (macOS) On the VM list, the start button will now change to a spinner when the VM is starting and will disappear when the VM has started. Also added the ability to start/show a VM by double-clicking on the list item (#3885)

    Changes (v3.2.0)

    • Checkbox for "Import VHDX Image" in the wizard now works correctly again (#3760)
    • Fixed various crashes in SPICE webdavd share has been resolved thanks to updated backend (#3633)
    • Removed "cache=writethrough" argument from block devices since it was added to workaround an issue with VHDX images which we now convert to QCOW2
    • Added "discard=unmap,detect-zeroes=unmap" argument to block devices to reclaim unused space (#3460)
    • When "do not save screenshot to disk" is enabled, any existing screenshot will be deleted the next time the VM is started (#3936)
    • Fixed an issue in QEMU additional arguments where it sometimes would not appear after setting it (#3895)
    • Fixed RNG device not appearing in console mode even when enabled in the settings (#3790)
    • Added support for up to 5 additional mouse buttons (you may need to re-map them in the guest OS as they are automatically set to middle/up/down/side/extra) (#3906)
    • (iOS) Fixed an issue in the legacy view where "invalid identifier" error may show up on a newly created VM (#3872)
    • (macOS) Fixed crash when changing display settings while the VM window is open (but stopped) (#3925)
    • (macOS) Fixed crash when trying to select "Share..." in context menu (#3915)
    • (macOS) Prevent allowing rapid clicking of pause/resume which may lead to VM corruption (#3629)
    • (macOS) Show progress indicator while VM is saving to prevent user from terminating the app early and cause corruption (#3752)
    • (macOS) Block unsupported Apple USB devices from being captured (#3759)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(145.90 MB)
    UTM.dmg(262.12 MB)
    UTM.ipa(147.92 MB)
    UTM.SE.ipa(162.16 MB)
  • v3.2.2(May 8, 2022)

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • QEMU 7.0.0: The backend has been updated to the latest release. Check out https://www.qemu.org/2022/04/19/qemu-7-0-0/ for more details. Additionally, other backend components such as SPICE GTK, libusbredir, and more have also been updated.
    • Reclaiming space: the host will attempt to TRIM any page of all zeros when committed to the QCOW2 disk image. Additionally, a new button in disk settings will allow you to re-convert a disk image to reclaim space (of all-zero pages) as well as compress an existing disk image (macOS 12+ only). Note compression is only done statically which means when the guest modifies a sector, it will be stored uncompressed just like before.
    • Disposable mode: right click/long press on a QEMU VM and select "Run without saving changes" to start VM in "disposable mode." In this mode, changes will not be saved to disk and will be discarded once the VM is stopped. (thanks @ktprograms)

    Notes

    • (iOS) UTM v3.2.x will be the last update to support iOS 11-13. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.2.x. After that, iOS 14+ will be required to run future versions of UTM.
    • In v3.2.0, if you added highmem=on to your QEMU Machine Properties as a workaround, please remove it after updating. If you did not use v3.2.0, you can ignore this.

    Changes (v3.2.2)

    • Add "disposable mode" (see highlights for more information) (thanks @ktprograms)
    • Do not enable UEFI for unsupported architectures (#3976)
    • Fix broken play button in sidebar (#3980)
    • Fix "Error -1 while loading VM state" on resume caused by usbredir (#3979)
    • Various UI tweaks and typo fixes (#3984)
    • Fixed pausing without saving state
    • Fixed showing warning prompt when VM is paused but not saved
    • (iOS) Detect if UTM is installed without AltStore and AltJIT will not attempt to be used.
    • (iOS) Reduced build size by 10% (thanks @Halo-Michael) (#3934)
    • (macOS) Add new preference option to revert Caps Lock behaviour to pre 3.2.0 (#3974)

    Changes (v3.2.1)

    • Fixed boot of RISC-V virt platform (thanks @wegank)
    • Remove highmem=off default property which is no longer needed on macOS 12.4+ and iOS 15.5+ (it will still be used on lower versions) (#3941, #3946)
    • Caps lock state will now be synchronized when mouse is captured (note that if mouse is captured before the guest OS has booted up, the state will be out of sync) (#3415)
    • Re-introduce option to disable auto-resolution when SPICE tools is installed (#3938)
    • When discarding unsaved settings, do not delete any disk image not created by UTM (#3587)
    • Fix downloading of UTM zip files when the URL does not end in ".zip" (#3953)
    • (macOS) When importing a disk image, do not silently overwrite an existing image of the same name (#3866)
    • (macOS) Added option to reclaim unused space from disk image and to compress a disk image (macOS 12+ only)
    • (macOS) On the VM list, the start button will now change to a spinner when the VM is starting and will disappear when the VM has started. Also added the ability to start/show a VM by double-clicking on the list item (#3885)

    Changes (v3.2.0)

    • Checkbox for "Import VHDX Image" in the wizard now works correctly again (#3760)
    • Fixed various crashes in SPICE webdavd share has been resolved thanks to updated backend (#3633)
    • Removed "cache=writethrough" argument from block devices since it was added to workaround an issue with VHDX images which we now convert to QCOW2
    • Added "discard=unmap,detect-zeroes=unmap" argument to block devices to reclaim unused space (#3460)
    • When "do not save screenshot to disk" is enabled, any existing screenshot will be deleted the next time the VM is started (#3936)
    • Fixed an issue in QEMU additional arguments where it sometimes would not appear after setting it (#3895)
    • Fixed RNG device not appearing in console mode even when enabled in the settings (#3790)
    • Added support for up to 5 additional mouse buttons (you may need to re-map them in the guest OS as they are automatically set to middle/up/down/side/extra) (#3906)
    • (iOS) Fixed an issue in the legacy view where "invalid identifier" error may show up on a newly created VM (#3872)
    • (macOS) Fixed crash when changing display settings while the VM window is open (but stopped) (#3925)
    • (macOS) Fixed crash when trying to select "Share..." in context menu (#3915)
    • (macOS) Prevent allowing rapid clicking of pause/resume which may lead to VM corruption (#3629)
    • (macOS) Show progress indicator while VM is saving to prevent user from terminating the app early and cause corruption (#3752)
    • (macOS) Block unsupported Apple USB devices from being captured (#3759)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(145.90 MB)
    UTM.dmg(262.12 MB)
    UTM.ipa(147.92 MB)
    UTM.SE.ipa(162.16 MB)
  • v3.2.1(May 2, 2022)

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • QEMU 7.0.0: The backend has been updated to the latest release. Check out https://www.qemu.org/2022/04/19/qemu-7-0-0/ for more details. Additionally, other backend components such as SPICE GTK, libusbredir, and more have also been updated.
    • Reclaiming space: the host will attempt to TRIM any page of all zeros when committed to the QCOW2 disk image. Additionally, a new button in disk settings will allow you to re-convert a disk image to reclaim space (of all-zero pages) as well as compress an existing disk image (macOS 12+ only). Note compression is only done statically which means when the guest modifies a sector, it will be stored uncompressed just like before.

    Notes

    • (iOS) UTM v3.2.x will be the last update to support iOS 11-13. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.2.x. After that, iOS 14+ will be required to run future versions of UTM.
    • In v3.2.0, if you added highmem=on to your QEMU Machine Properties as a workaround, please remove it after updating. If you did not use v3.2.0, you can ignore this.

    Changes (v3.2.1)

    • Fixed boot of RISC-V virt platform (thanks @wegank)
    • Remove highmem=off default property which is no longer needed on macOS 12.4+ and iOS 15.5+ (it will still be used on lower versions) (#3941, #3946)
    • Caps lock state will now be synchronized when mouse is captured (note that if mouse is captured before the guest OS has booted up, the state will be out of sync) (#3415)
    • Re-introduce option to disable auto-resolution when SPICE tools is installed (#3938)
    • When discarding unsaved settings, do not delete any disk image not created by UTM (#3587)
    • Fix downloading of UTM zip files when the URL does not end in ".zip" (#3953)
    • (macOS) When importing a disk image, do not silently overwrite an existing image of the same name (#3866)
    • (macOS) Added option to reclaim unused space from disk image and to compress a disk image (macOS 12+ only)
    • (macOS) On the VM list, the start button will now change to a spinner when the VM is starting and will disappear when the VM has started. Also added the ability to start/show a VM by double-clicking on the list item (#3885)

    Changes (v3.2.0)

    • Checkbox for "Import VHDX Image" in the wizard now works correctly again (#3760)
    • Fixed various crashes in SPICE webdavd share has been resolved thanks to updated backend (#3633)
    • Removed "cache=writethrough" argument from block devices since it was added to workaround an issue with VHDX images which we now convert to QCOW2
    • Added "discard=unmap,detect-zeroes=unmap" argument to block devices to reclaim unused space (#3460)
    • When "do not save screenshot to disk" is enabled, any existing screenshot will be deleted the next time the VM is started (#3936)
    • Fixed an issue in QEMU additional arguments where it sometimes would not appear after setting it (#3895)
    • Fixed RNG device not appearing in console mode even when enabled in the settings (#3790)
    • Added support for up to 5 additional mouse buttons (you may need to re-map them in the guest OS as they are automatically set to middle/up/down/side/extra) (#3906)
    • (iOS) Fixed an issue in the legacy view where "invalid identifier" error may show up on a newly created VM (#3872)
    • (macOS) Fixed crash when changing display settings while the VM window is open (but stopped) (#3925)
    • (macOS) Fixed crash when trying to select "Share..." in context menu (#3915)
    • (macOS) Prevent allowing rapid clicking of pause/resume which may lead to VM corruption (#3629)
    • (macOS) Show progress indicator while VM is saving to prevent user from terminating the app early and cause corruption (#3752)
    • (macOS) Block unsupported Apple USB devices from being captured (#3759)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(179.04 MB)
    UTM.dmg(262.12 MB)
    UTM.ipa(181.21 MB)
    UTM.SE.ipa(194.50 MB)
  • v3.2.0(Apr 25, 2022)

    Installation

    iOS: Visit https://getutm.app/install/ for the most up to date installation instructions. macOS: Download "UTM.dmg" below and copy the contents to your /Applications directory.

    Highlights

    • QEMU 7.0.0*: The backend has been updated to the latest release. Check out https://www.qemu.org/2022/04/19/qemu-7-0-0/ for more details. Additionally, other backend components such as SPICE GTK, libusbredir, and more have also been updated.

    Notes

    • (iOS) UTM v3.2.x will be the last update to support iOS 11-13. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.2.x. After that, iOS 14+ will be required to run future versions of UTM.

    Changes (v3.2.0)

    • Checkbox for "Import VHDX Image" in the wizard now works correctly again (#3760)
    • Fixed various crashes in SPICE webdavd share has been resolved thanks to updated backend (#3633)
    • Removed "cache=writethrough" argument from block devices since it was added to workaround an issue with VHDX images which we now convert to QCOW2
    • Added "discard=unmap,detect-zeroes=unmap" argument to block devices to reclaim unused space (#3460)
    • When "do not save screenshot to disk" is enabled, any existing screenshot will be deleted the next time the VM is started (#3936)
    • Fixed an issue in QEMU additional arguments where it sometimes would not appear after setting it (#3895)
    • Fixed RNG device not appearing in console mode even when enabled in the settings (#3790)
    • Added support for up to 5 additional mouse buttons (you may need to re-map them in the guest OS as they are automatically set to middle/up/down/side/extra) (#3906)
    • (iOS) Fixed an issue in the legacy view where "invalid identifier" error may show up on a newly created VM (#3872)
    • (macOS) Fixed crash when changing display settings while the VM window is open (but stopped) (#3925)
    • (macOS) Fixed crash when trying to select "Share..." in context menu (#3915)
    • (macOS) Prevent allowing rapid clicking of pause/resume which may lead to VM corruption (#3629)
    • (macOS) Show progress indicator while VM is saving to prevent user from terminating the app early and cause corruption (#3752)
    • (macOS) Block unsupported Apple USB devices from being captured (#3759)

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    • Starting a VM shows an empty "Error" dialog. This will be fixed in the next release. A workaround is to add highmem=on to "QEMU -> QEMU Machine Properties".
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(179.02 MB)
    UTM.dmg(262.06 MB)
    UTM.ipa(181.19 MB)
    UTM.SE.ipa(194.48 MB)
  • v3.1.5(Mar 11, 2022)

    Note: This is the same as v3.1.4 but with a fix for boot issues with the latest Linux kernel.

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Store .utm bundles anywhere on disk (including on external drives) and import them as a shortcut. See notes below for some limitations.
    • Wizard redesign (thanks @js-john)
    • Various UI tweaks, fixes, and improvements (thanks @j-f1). Note that some settings have moved to different categories
    • Overhaul of the UTM backend which should improve application stability

    Notes

    • (iOS) UTM v3.1.x will be the last update to support iOS 11 and iOS 12. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.1.x. After that, iOS 13+ will be required to run future versions of UTM.
    • You can now run .utm files stored anywhere. There are a few caveats: First, all newly created VMs will still be created in the default storage (app sandbox). You can move the VM after creation with the new button on the toolbar or by right clicking (or force touch) on the VM entry and selecting "Move..." Second, when VM shortcuts are deleted, the underlying data is unaffected, and shortcuts are automatically deleted when they are no longer valid (for example, the .utm was moved). You can re-import the .utm by either double clicking it from Finder, or using "File -> Import Virtual Machine..." Finally, Apple VMs do not support persistent shortcuts, which means the shortcut is always deleted after UTM quits. This means you must re-import Apple VMs every time UTM is launched.
    • Default machine properties will now always be included unless explicitly set to another value in QEMU settings. For example, if you are booting an aarch64 virt machine, the property highmem=off will be appended unless the user specifies highmem=on in QEMU settings. Previously, when you select virt in VM settings, the machine properties text box will auto populate with highmem=off. If the user deletes it, then the VM will not boot because it requires highmem=off. Advanced users can still specify highmem=on and it will not be overridden.

    Changes (v3.1.5)

    • Fixed latest Linux kernel failing to boot (“EFI stub: Exiting boot services and installing virtual address map...”) (thanks @agraf for the fix) (#2682)
    • Fixed freezing during restart of a GL VM (#3746)
    • Clarified that clipboard sharing and auto resolution features are the same setting (#3748)

    Changes (v3.1.4)

    • The changes to behaviour of “legacy input” introduced in v3.1.2 is now disabled by default for all existing (x86_64) virtual machines. For new virtual machines, the default is still to disable PS/2 bus when USB is enabled. However, this can be overridden with a new tweak “Force PS/2 Controller” in the QEMU settings. (#3723)
    • The computed size for shortcut VMs is properly calculated and saving shorting VM settings works (#3724)
    • "Error: Use -machine help to list supported machines" shows up when starting a newly created virtualized VM (#3722)
    • Updated zh-Hans translation (thanks @js-john)
    • (iOS 11-13) Default UEFI boot to off because we do not have any UI to change it

    Changes (v3.1.3)

    • Hotfix: An earlier release of v3.1.3 had a bug which prevented newly created VMs from booting, this has now been fixed
    • Use QCOW2 format for EFI variables on newly created variables image. This enables suspend state to work on EFI enabled VMs again (unless suspend fails for other unsupported devices). Note: existing VMs should delete the EFI variables drive from VM Settings in order for UTM to recreate it as QCOW2.
    • The busy spinner gets suck during startup or shutdown (#3702)
    • Boots Windows ARM emulation with QEMU TCG by adding virtualization=on machine property (#3703)
    • Default machine properties will always be included unless explicitly set to another value in QEMU settings. (See notes above.)
    • Various UI tweaks, fixes, and improvements (thanks @j-f1). Note that some settings have moved to different categories.
    • Fixed "Failed to create new bookmark" when trying to launch a VM shortcut
    • Automatically de-toggle UEFI boot tweak on unsupported targets
    • Fixed a situation that caused UTM to crash randomly (#3515)
    • (iOS 14) Toolbar had large overlapping icons on compact devices

    Changes (v3.1.2)

    • Fixed leaking of location data in debug.log (#3667)
    • Console mode settings for colours are slightly off from the picker values. This has been fixed by using P3 space hex values.
    • Retain ordering of VM list when using move, clone, and edit operations
    • Show "unavailable" VMs when a shortcut is unaccessible due to the VM being deleted or an external drive not being mounted. No longer deletes these shortcuts by default (#3686)
    • Support importing multiple .utm at once (#3685)
    • Rename "import" menu to "open" to reflect the new behaviour of creating a shortcut by default. Add the "open" option to the first page of the wizard as well so iOS users can access it
    • New context menu option "New from template..." can be called to duplicate the settings of an existing QEMU VM without the data (#2339)
    • Fixed a UI issue where an error message makes the VM stuck in "busy" state
    • Disable PS/2 keyboard/mouse when "legacy input" is off. Renamed "legacy input" to USB mode to make more explicit that when it is off, a USB bus is emulated with the input controls there (#3674)
    • Moved USB sharing options to Input tab to consolidate USB settings
    • (iOS) Fixed launching on < iOS 15 (except with taurine, which is still broken for different reasons)
    • (iOS) Fix saving last display origin and scale (#3669)
    • Option to use UTC vs localtime (previous default) in a new option (QEMU -> Tweaks). This resolves clock issues on some Linux distros (#3104)
    • (iOS) Ability to fine tune cursor speed (in Settings) (#2522)
    • (iOS) Various improvements to scaling including fixing pinch to zoom on iOS 15
    • (iOS) Fixed a random crash due to iOS 15 dyld changes (#3672)
    • (macOS) Ability to turn off auto QCOW2 conversion when importing an image as well as the ability to create a raw disk image (#3637)

    Changes (v3.1.1)

    • Automatically delete broken bookmarks for removable drives and shared directories after showing the error once (#3575)
    • Refactored backend QEMU VM manager to support Swift concurrency and also fix some rare race issues
    • Added picker for console background and text colour (thanks @ktprograms)
    • Added font style (bold/italics) for console font as well as font chooser for macOS (thanks @ktprograms)
    • Fixed crash/freeze when using UTM URL actions (#3642)
    • (iOS) Wizard: style was incorrect on iOS 14
    • (iOS) Keyboard visibility state is now stored globally instead of per-VM
    • (iOS) Fixed an issue where the keyboard always pops up when an alert shows
    • (iOS) On iOS 13.4, old cursor functionality is restored when it was broken by the iOS 14 cursor implementation
    • (iOS) iOS 15 introduced a kernel race that leads to a panic and sometimes a purple screen and device reboot whenever GL is used. This has been fixed by reducing the possibility of the race (while we wait for Apple to fix it in iOS kernel) (#2743)
    • (iOS) Better error message when attempting to launch an unsupported architecture in UTM SE (#3635)
    • (macOS) Added descriptions to screen resolutions and notch-hiding resolutions (thanks @pointum)

    Changes (v3.1.0)

    • Improved design of wizard on iOS (thanks @js-john)
    • Updated zh-Hans translation (thanks @ty-yqs)
    • Refactored backend renderer into CocoaSpice
    • Updated backend code to use Swift 5.5 concurrency features
    • In Apple VM configs, do not discard non-persistent settings (shared directories) when canceling out of settings window
    • Add option to run VM as a shortcut (see notes above) (#132, #1205)
    • Added icon for Pop! OS to picker (thanks @conath)
    • Fixed QEMU custom argument parsing when there is quoted space in middle of the argument (#3579)
    • Update the VM screenshot on a timer (#3499)
    • Added new global setting to disable saving screenshot to disk
    • Improved synchronization of state from the VM window and the main window (play button visible when stopped, busy spinner visible when starting, etc)
    • (iOS) Fix crash while installing on older versions of jailbroken iOS (#3543)
    • (macOS) Fix an issue where Apple VM aux storage was not created when switching from Linux to macOS boot option
    • (macOS) Ability to move a .utm VM to external storage
    • (macOS) Toolbar option to delete VM should be disabled when VM is running
    • (macOS) Support taking screenshots of Apple VMs

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(172.27 MB)
    UTM.dmg(245.83 MB)
    UTM.ipa(174.17 MB)
    UTM.SE.ipa(140.83 MB)
  • v3.1.4(Mar 9, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Store .utm bundles anywhere on disk (including on external drives) and import them as a shortcut. See notes below for some limitations.
    • Wizard redesign (thanks @js-john)
    • Various UI tweaks, fixes, and improvements (thanks @j-f1). Note that some settings have moved to different categories
    • Overhaul of the UTM backend which should improve application stability

    Notes

    • (iOS) UTM v3.1.x will be the last update to support iOS 11 and iOS 12. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.1.x. After that, iOS 13+ will be required to run future versions of UTM.
    • You can now run .utm files stored anywhere. There are a few caveats: First, all newly created VMs will still be created in the default storage (app sandbox). You can move the VM after creation with the new button on the toolbar or by right clicking (or force touch) on the VM entry and selecting "Move..." Second, when VM shortcuts are deleted, the underlying data is unaffected, and shortcuts are automatically deleted when they are no longer valid (for example, the .utm was moved). You can re-import the .utm by either double clicking it from Finder, or using "File -> Import Virtual Machine..." Finally, Apple VMs do not support persistent shortcuts, which means the shortcut is always deleted after UTM quits. This means you must re-import Apple VMs every time UTM is launched.
    • Default machine properties will now always be included unless explicitly set to another value in QEMU settings. For example, if you are booting an aarch64 virt machine, the property highmem=off will be appended unless the user specifies highmem=on in QEMU settings. Previously, when you select virt in VM settings, the machine properties text box will auto populate with highmem=off. If the user deletes it, then the VM will not boot because it requires highmem=off. Advanced users can still specify highmem=on and it will not be overridden.

    Changes (v3.1.4)

    • The changes to behaviour of “legacy input” introduced in v3.1.2 is now disabled by default for all existing (x86_64) virtual machines. For new virtual machines, the default is still to disable PS/2 bus when USB is enabled. However, this can be overridden with a new tweak “Force PS/2 Controller” in the QEMU settings. (#3723)
    • The computed size for shortcut VMs is properly calculated and saving shorting VM settings works (#3724)
    • "Error: Use -machine help to list supported machines" shows up when starting a newly created virtualized VM (#3722)
    • Updated zh-Hans translation (thanks @js-john)
    • (iOS 11-13) Default UEFI boot to off because we do not have any UI to change it

    Changes (v3.1.3)

    • Hotfix: An earlier release of v3.1.3 had a bug which prevented newly created VMs from booting, this has now been fixed
    • Use QCOW2 format for EFI variables on newly created variables image. This enables suspend state to work on EFI enabled VMs again (unless suspend fails for other unsupported devices). Note: existing VMs should delete the EFI variables drive from VM Settings in order for UTM to recreate it as QCOW2.
    • The busy spinner gets suck during startup or shutdown (#3702)
    • Boots Windows ARM emulation with QEMU TCG by adding virtualization=on machine property (#3703)
    • Default machine properties will always be included unless explicitly set to another value in QEMU settings. (See notes above.)
    • Various UI tweaks, fixes, and improvements (thanks @j-f1). Note that some settings have moved to different categories.
    • Fixed "Failed to create new bookmark" when trying to launch a VM shortcut
    • Automatically de-toggle UEFI boot tweak on unsupported targets
    • Fixed a situation that caused UTM to crash randomly (#3515)
    • (iOS 14) Toolbar had large overlapping icons on compact devices

    Changes (v3.1.2)

    • Fixed leaking of location data in debug.log (#3667)
    • Console mode settings for colours are slightly off from the picker values. This has been fixed by using P3 space hex values.
    • Retain ordering of VM list when using move, clone, and edit operations
    • Show "unavailable" VMs when a shortcut is unaccessible due to the VM being deleted or an external drive not being mounted. No longer deletes these shortcuts by default (#3686)
    • Support importing multiple .utm at once (#3685)
    • Rename "import" menu to "open" to reflect the new behaviour of creating a shortcut by default. Add the "open" option to the first page of the wizard as well so iOS users can access it
    • New context menu option "New from template..." can be called to duplicate the settings of an existing QEMU VM without the data (#2339)
    • Fixed a UI issue where an error message makes the VM stuck in "busy" state
    • Disable PS/2 keyboard/mouse when "legacy input" is off. Renamed "legacy input" to USB mode to make more explicit that when it is off, a USB bus is emulated with the input controls there (#3674)
    • Moved USB sharing options to Input tab to consolidate USB settings
    • (iOS) Fixed launching on < iOS 15 (except with taurine, which is still broken for different reasons)
    • (iOS) Fix saving last display origin and scale (#3669)
    • Option to use UTC vs localtime (previous default) in a new option (QEMU -> Tweaks). This resolves clock issues on some Linux distros (#3104)
    • (iOS) Ability to fine tune cursor speed (in Settings) (#2522)
    • (iOS) Various improvements to scaling including fixing pinch to zoom on iOS 15
    • (iOS) Fixed a random crash due to iOS 15 dyld changes (#3672)
    • (macOS) Ability to turn off auto QCOW2 conversion when importing an image as well as the ability to create a raw disk image (#3637)

    Changes (v3.1.1)

    • Automatically delete broken bookmarks for removable drives and shared directories after showing the error once (#3575)
    • Refactored backend QEMU VM manager to support Swift concurrency and also fix some rare race issues
    • Added picker for console background and text colour (thanks @ktprograms)
    • Added font style (bold/italics) for console font as well as font chooser for macOS (thanks @ktprograms)
    • Fixed crash/freeze when using UTM URL actions (#3642)
    • (iOS) Wizard: style was incorrect on iOS 14
    • (iOS) Keyboard visibility state is now stored globally instead of per-VM
    • (iOS) Fixed an issue where the keyboard always pops up when an alert shows
    • (iOS) On iOS 13.4, old cursor functionality is restored when it was broken by the iOS 14 cursor implementation
    • (iOS) iOS 15 introduced a kernel race that leads to a panic and sometimes a purple screen and device reboot whenever GL is used. This has been fixed by reducing the possibility of the race (while we wait for Apple to fix it in iOS kernel) (#2743)
    • (iOS) Better error message when attempting to launch an unsupported architecture in UTM SE (#3635)
    • (macOS) Added descriptions to screen resolutions and notch-hiding resolutions (thanks @pointum)

    Changes (v3.1.0)

    • Improved design of wizard on iOS (thanks @js-john)
    • Updated zh-Hans translation (thanks @ty-yqs)
    • Refactored backend renderer into CocoaSpice
    • Updated backend code to use Swift 5.5 concurrency features
    • In Apple VM configs, do not discard non-persistent settings (shared directories) when canceling out of settings window
    • Add option to run VM as a shortcut (see notes above) (#132, #1205)
    • Added icon for Pop! OS to picker (thanks @conath)
    • Fixed QEMU custom argument parsing when there is quoted space in middle of the argument (#3579)
    • Update the VM screenshot on a timer (#3499)
    • Added new global setting to disable saving screenshot to disk
    • Improved synchronization of state from the VM window and the main window (play button visible when stopped, busy spinner visible when starting, etc)
    • (iOS) Fix crash while installing on older versions of jailbroken iOS (#3543)
    • (macOS) Fix an issue where Apple VM aux storage was not created when switching from Linux to macOS boot option
    • (macOS) Ability to move a .utm VM to external storage
    • (macOS) Toolbar option to delete VM should be disabled when VM is running
    • (macOS) Support taking screenshots of Apple VMs

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(172.27 MB)
    UTM.dmg(245.83 MB)
    UTM.ipa(174.17 MB)
    UTM.SE.ipa(140.83 MB)
  • v3.1.3-2(Mar 4, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard redesign (thanks @js-john)
    • Various UI tweaks, fixes, and improvements (thanks @j-f1). Note that some settings have moved to different categories.
    • Store .utm bundles anywhere on disk (including on external drives) and import them as a shortcut. See notes below for some limitations.

    Notes

    • (iOS) UTM v3.1.x will be the last update to support iOS 11 and iOS 12. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.1.x. After that, iOS 13+ will be required to run future versions of UTM.
    • This update makes significant changes to the backend of UTM which may have introduced more issues than usual. As a precaution, please make sure you back up your VMs before running this beta in case there are bugs that cause data loss.
    • You can now run .utm files stored anywhere. There are a few caveats: First, all newly created VMs will still be created in the default storage (app sandbox). You can move the VM after creation with the new button on the toolbar or by right clicking (or force touch) on the VM entry and selecting "Move..." Second, when VM shortcuts are deleted, the underlying data is unaffected, and shortcuts are automatically deleted when they are no longer valid (for example, the .utm was moved). You can re-import the .utm by either double clicking it from Finder, or using "File -> Import Virtual Machine..." Finally, Apple VMs do not support persistent shortcuts, which means the shortcut is always deleted after UTM quits. This means you must re-import Apple VMs every time UTM is launched.
    • Default machine properties will now always be included unless explicitly set to another value in QEMU settings. For example, if you are booting an aarch64 virt machine, the property highmem=off will be appended unless the user specifies highmem=on in QEMU settings. Previously, when you select virt in VM settings, the machine properties text box will auto populate with highmem=off. If the user deletes it, then the VM will not boot because it requires highmem=off. Advanced users can still specify highmem=on and it will not be overridden.

    Changes (v3.1.3)

    • Hotfix: An earlier release of v3.1.3 had a bug which prevented newly created VMs from booting, this has now been fixed
    • Use QCOW2 format for EFI variables on newly created variables image. This enables suspend state to work on EFI enabled VMs again (unless suspend fails for other unsupported devices). Note: existing VMs should delete the EFI variables drive from VM Settings in order for UTM to recreate it as QCOW2.
    • The busy spinner gets suck during startup or shutdown (#3702)
    • Boots Windows ARM emulation with QEMU TCG by adding virtualization=on machine property (#3703)
    • Default machine properties will always be included unless explicitly set to another value in QEMU settings. (See notes above.)
    • Various UI tweaks, fixes, and improvements (thanks @j-f1). Note that some settings have moved to different categories.
    • Fixed "Failed to create new bookmark" when trying to launch a VM shortcut
    • Automatically de-toggle UEFI boot tweak on unsupported targets
    • Fixed a situation that caused UTM to crash randomly (#3515)
    • (iOS 14) Toolbar had large overlapping icons on compact devices

    Changes (v3.1.2)

    • Fixed leaking of location data in debug.log (#3667)
    • Console mode settings for colours are slightly off from the picker values. This has been fixed by using P3 space hex values.
    • Retain ordering of VM list when using move, clone, and edit operations
    • Show "unavailable" VMs when a shortcut is unaccessible due to the VM being deleted or an external drive not being mounted. No longer deletes these shortcuts by default (#3686)
    • Support importing multiple .utm at once (#3685)
    • Rename "import" menu to "open" to reflect the new behaviour of creating a shortcut by default. Add the "open" option to the first page of the wizard as well so iOS users can access it
    • New context menu option "New from template..." can be called to duplicate the settings of an existing QEMU VM without the data (#2339)
    • Fixed a UI issue where an error message makes the VM stuck in "busy" state
    • Disable PS/2 keyboard/mouse when "legacy input" is off. Renamed "legacy input" to USB mode to make more explicit that when it is off, a USB bus is emulated with the input controls there (#3674)
    • Moved USB sharing options to Input tab to consolidate USB settings
    • (iOS) Fixed launching on < iOS 15 (except with taurine, which is still broken for different reasons)
    • (iOS) Fix saving last display origin and scale (#3669)
    • Option to use UTC vs localtime (previous default) in a new option (QEMU -> Tweaks). This resolves clock issues on some Linux distros (#3104)
    • (iOS) Ability to fine tune cursor speed (in Settings) (#2522)
    • (iOS) Various improvements to scaling including fixing pinch to zoom on iOS 15
    • (iOS) Fixed a random crash due to iOS 15 dyld changes (#3672)
    • (macOS) Ability to turn off auto QCOW2 conversion when importing an image as well as the ability to create a raw disk image (#3637)

    Changes (v3.1.1)

    • Automatically delete broken bookmarks for removable drives and shared directories after showing the error once (#3575)
    • Refactored backend QEMU VM manager to support Swift concurrency and also fix some rare race issues
    • Added picker for console background and text colour (thanks @ktprograms)
    • Added font style (bold/italics) for console font as well as font chooser for macOS (thanks @ktprograms)
    • Fixed crash/freeze when using UTM URL actions (#3642)
    • (iOS) Wizard: style was incorrect on iOS 14
    • (iOS) Keyboard visibility state is now stored globally instead of per-VM
    • (iOS) Fixed an issue where the keyboard always pops up when an alert shows
    • (iOS) On iOS 13.4, old cursor functionality is restored when it was broken by the iOS 14 cursor implementation
    • (iOS) iOS 15 introduced a kernel race that leads to a panic and sometimes a purple screen and device reboot whenever GL is used. This has been fixed by reducing the possibility of the race (while we wait for Apple to fix it in iOS kernel) (#2743)
    • (iOS) Better error message when attempting to launch an unsupported architecture in UTM SE (#3635)
    • (macOS) Added descriptions to screen resolutions and notch-hiding resolutions (thanks @pointum)

    Changes (v3.1.0)

    • Improved design of wizard on iOS (thanks @js-john)
    • Updated zh-Hans translation (thanks @ty-yqs)
    • Refactored backend renderer into CocoaSpice
    • Updated backend code to use Swift 5.5 concurrency features
    • In Apple VM configs, do not discard non-persistent settings (shared directories) when canceling out of settings window
    • Add option to run VM as a shortcut (see notes above) (#132, #1205)
    • Added icon for Pop! OS to picker (thanks @conath)
    • Fixed QEMU custom argument parsing when there is quoted space in middle of the argument (#3579)
    • Update the VM screenshot on a timer (#3499)
    • Added new global setting to disable saving screenshot to disk
    • Improved synchronization of state from the VM window and the main window (play button visible when stopped, busy spinner visible when starting, etc)
    • (iOS) Fix crash while installing on older versions of jailbroken iOS (#3543)
    • (macOS) Fix an issue where Apple VM aux storage was not created when switching from Linux to macOS boot option
    • (macOS) Ability to move a .utm VM to external storage
    • (macOS) Toolbar option to delete VM should be disabled when VM is running
    • (macOS) Support taking screenshots of Apple VMs

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(172.24 MB)
    UTM.dmg(245.83 MB)
    UTM.ipa(174.14 MB)
    UTM.SE.ipa(140.81 MB)
  • v3.1.2(Feb 28, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard redesign (thanks @js-john)
    • Store .utm bundles anywhere on disk (including on external drives) and import them as a shortcut. See notes below for some limitations.

    Notes

    • (iOS) UTM v3.1.x will be the last update to support iOS 11 and iOS 12. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.1.x. After that, iOS 13+ will be required to run future versions of UTM.
    • This update makes significant changes to the backend of UTM which may have introduced more issues than usual. As a precaution, please make sure you back up your VMs before running this beta in case there are bugs that cause data loss.
    • You can now run .utm files stored anywhere. There are a few caveats: First, all newly created VMs will still be created in the default storage (app sandbox). You can move the VM after creation with the new button on the toolbar or by right clicking (or force touch) on the VM entry and selecting "Move..." Second, when VM shortcuts are deleted, the underlying data is unaffected, and shortcuts are automatically deleted when they are no longer valid (for example, the .utm was moved). You can re-import the .utm by either double clicking it from Finder, or using "File -> Import Virtual Machine..." Finally, Apple VMs do not support persistent shortcuts, which means the shortcut is always deleted after UTM quits. This means you must re-import Apple VMs every time UTM is launched.

    Changes (v3.1.2)

    • Fixed leaking of location data in debug.log (#3667)
    • Console mode settings for colours are slightly off from the picker values. This has been fixed by using P3 space hex values.
    • Retain ordering of VM list when using move, clone, and edit operations
    • Show "unavailable" VMs when a shortcut is unaccessible due to the VM being deleted or an external drive not being mounted. No longer deletes these shortcuts by default (#3686)
    • Support importing multiple .utm at once (#3685)
    • Rename "import" menu to "open" to reflect the new behaviour of creating a shortcut by default. Add the "open" option to the first page of the wizard as well so iOS users can access it
    • New context menu option "New from template..." can be called to duplicate the settings of an existing QEMU VM without the data (#2339)
    • Fixed a UI issue where an error message makes the VM stuck in "busy" state
    • Disable PS/2 keyboard/mouse when "legacy input" is off. Renamed "legacy input" to USB mode to make more explicit that when it is off, a USB bus is emulated with the input controls there (#3674)
    • Moved USB sharing options to Input tab to consolidate USB settings
    • (iOS) Fixed launching on < iOS 15 (except with taurine, which is still broken for different reasons)
    • (iOS) Fix saving last display origin and scale (#3669)
    • Option to use UTC vs localtime (previous default) in a new option (QEMU -> Tweaks). This resolves clock issues on some Linux distros (#3104)
    • (iOS) Ability to fine tune cursor speed (in Settings) (#2522)
    • (iOS) Various improvements to scaling including fixing pinch to zoom on iOS 15
    • (iOS) Fixed a random crash due to iOS 15 dyld changes (#3672)
    • (macOS) Ability to turn off auto QCOW2 conversion when importing an image as well as the ability to create a raw disk image (#3637)

    Changes (v3.1.1)

    • Automatically delete broken bookmarks for removable drives and shared directories after showing the error once (#3575)
    • Refactored backend QEMU VM manager to support Swift concurrency and also fix some rare race issues
    • Added picker for console background and text colour (thanks @ktprograms)
    • Added font style (bold/italics) for console font as well as font chooser for macOS (thanks @ktprograms)
    • Fixed crash/freeze when using UTM URL actions (#3642)
    • (iOS) Wizard: style was incorrect on iOS 14
    • (iOS) Keyboard visibility state is now stored globally instead of per-VM
    • (iOS) Fixed an issue where the keyboard always pops up when an alert shows
    • (iOS) On iOS 13.4, old cursor functionality is restored when it was broken by the iOS 14 cursor implementation
    • (iOS) iOS 15 introduced a kernel race that leads to a panic and sometimes a purple screen and device reboot whenever GL is used. This has been fixed by reducing the possibility of the race (while we wait for Apple to fix it in iOS kernel) (#2743)
    • (iOS) Better error message when attempting to launch an unsupported architecture in UTM SE (#3635)
    • (macOS) Added descriptions to screen resolutions and notch-hiding resolutions (thanks @pointum)

    Changes (v3.1.0)

    • Improved design of wizard on iOS (thanks @js-john)
    • Updated zh-Hans translation (thanks @ty-yqs)
    • Refactored backend renderer into CocoaSpice
    • Updated backend code to use Swift 5.5 concurrency features
    • In Apple VM configs, do not discard non-persistent settings (shared directories) when canceling out of settings window
    • Add option to run VM as a shortcut (see notes above) (#132, #1205)
    • Added icon for Pop! OS to picker (thanks @conath)
    • Fixed QEMU custom argument parsing when there is quoted space in middle of the argument (#3579)
    • Update the VM screenshot on a timer (#3499)
    • Added new global setting to disable saving screenshot to disk
    • Improved synchronization of state from the VM window and the main window (play button visible when stopped, busy spinner visible when starting, etc)
    • (iOS) Fix crash while installing on older versions of jailbroken iOS (#3543)
    • (macOS) Fix an issue where Apple VM aux storage was not created when switching from Linux to macOS boot option
    • (macOS) Ability to move a .utm VM to external storage
    • (macOS) Toolbar option to delete VM should be disabled when VM is running
    • (macOS) Support taking screenshots of Apple VMs

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(189.14 MB)
    UTM.dmg(245.88 MB)
    UTM.ipa(191.18 MB)
    UTM.SE.ipa(159.61 MB)
  • v3.1.1(Feb 22, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard redesign (thanks @js-john)
    • Store .utm bundles anywhere on disk (including on external drives) and import them as a shortcut. See notes below for some limitations.

    Notes

    • (iOS) UTM v3.1.x will be the last update to support iOS 11 and iOS 12. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.1.x. After that, iOS 13+ will be required to run future versions of UTM.
    • This update makes significant changes to the backend of UTM which may have introduced more issues than usual. As a precaution, please make sure you back up your VMs before running this beta in case there are bugs that cause data loss.
    • You can now run .utm files stored anywhere. There are a few caveats: First, all newly created VMs will still be created in the default storage (app sandbox). You can move the VM after creation with the new button on the toolbar or by right clicking (or force touch) on the VM entry and selecting "Move..." Second, when VM shortcuts are deleted, the underlying data is unaffected, and shortcuts are automatically deleted when they are no longer valid (for example, the .utm was moved). You can re-import the .utm by either double clicking it from Finder, or using "File -> Import Virtual Machine..." Finally, Apple VMs do not support persistent shortcuts, which means the shortcut is always deleted after UTM quits. This means you must re-import Apple VMs every time UTM is launched.

    Changes (v3.1.1)

    • Automatically delete broken bookmarks for removable drives and shared directories after showing the error once (#3575)
    • Refactored backend QEMU VM manager to support Swift concurrency and also fix some rare race issues
    • Added picker for console background and text colour (thanks @ktprograms)
    • Added font style (bold/italics) for console font as well as font chooser for macOS (thanks @ktprograms)
    • Fixed crash/freeze when using UTM URL actions (#3642)
    • (iOS) Wizard: style was incorrect on iOS 14
    • (iOS) Keyboard visibility state is now stored globally instead of per-VM
    • (iOS) Fixed an issue where the keyboard always pops up when an alert shows
    • (iOS) On iOS 13.4, old cursor functionality is restored when it was broken by the iOS 14 cursor implementation
    • (iOS) iOS 15 introduced a kernel race that leads to a panic and sometimes a purple screen and device reboot whenever GL is used. This has been fixed by reducing the possibility of the race (while we wait for Apple to fix it in iOS kernel) (#2743)
    • (iOS) Better error message when attempting to launch an unsupported architecture in UTM SE (#3635)
    • (macOS) Added descriptions to screen resolutions and notch-hiding resolutions (thanks @pointum)

    Changes (v3.1.0)

    • Improved design of wizard on iOS (thanks @js-john)
    • Updated zh-Hans translation (thanks @ty-yqs)
    • Refactored backend renderer into CocoaSpice
    • Updated backend code to use Swift 5.5 concurrency features
    • In Apple VM configs, do not discard non-persistent settings (shared directories) when canceling out of settings window
    • Add option to run VM as a shortcut (see notes above) (#132, #1205)
    • Added icon for Pop! OS to picker (thanks @conath)
    • Fixed QEMU custom argument parsing when there is quoted space in middle of the argument (#3579)
    • Update the VM screenshot on a timer (#3499)
    • Added new global setting to disable saving screenshot to disk
    • Improved synchronization of state from the VM window and the main window (play button visible when stopped, busy spinner visible when starting, etc)
    • (iOS) Fix crash while installing on older versions of jailbroken iOS (#3543)
    • (macOS) Fix an issue where Apple VM aux storage was not created when switching from Linux to macOS boot option
    • (macOS) Ability to move a .utm VM to external storage
    • (macOS) Toolbar option to delete VM should be disabled when VM is running
    • (macOS) Support taking screenshots of Apple VMs

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Known Issues

    • iOS 14 and below: There is a known issue crashing while running under taurine but not unc0ver. (#3628)
    Source code(tar.gz)
    Source code(zip)
    UTM.deb(189.12 MB)
    UTM.dmg(245.86 MB)
    UTM.ipa(191.16 MB)
    UTM.SE.ipa(159.57 MB)
  • v3.1.0(Feb 14, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard redesign (thanks @js-john)
    • Store .utm bundles anywhere on disk (including on external drives) and import them as a shortcut. See notes below for some limitations.

    Notes

    • (iOS) UTM v3.1.x will be the last update to support iOS 11 and iOS 12. If you are still running those versions, please make sure you report any issues now so they can be fixed by the final release of v3.1.x. After that, iOS 13+ will be required to run future versions of UTM.
    • This update makes significant changes to the backend of UTM which may have introduced more issues than usual. As a precaution, please make sure you back up your VMs before running this beta in case there are bugs that cause data loss.
    • You can now run .utm files stored anywhere. There are a few caveats: First, all newly created VMs will still be created in the default storage (app sandbox). You can move the VM after creation with the new button on the toolbar or by right clicking (or force touch) on the VM entry and selecting "Move..." Second, when VM shortcuts are deleted, the underlying data is unaffected, and shortcuts are automatically deleted when they are no longer valid (for example, the .utm was moved). You can re-import the .utm by either double clicking it from Finder, or using "File -> Import Virtual Machine..." Finally, Apple VMs do not support persistent shortcuts, which means the shortcut is always deleted after UTM quits. This means you must re-import Apple VMs every time UTM is launched.

    Changes (v3.1.0)

    • Improved design of wizard on iOS (thanks @js-john)
    • Updated zh-Hans translation (thanks @ty-yqs)
    • Refactored backend renderer into CocoaSpice
    • Updated backend code to use Swift 5.5 concurrency features
    • In Apple VM configs, do not discard non-persistent settings (shared directories) when canceling out of settings window
    • Add option to run VM as a shortcut (see notes above) (#132, #1205)
    • Added icon for Pop! OS to picker (thanks @conath)
    • Fixed QEMU custom argument parsing when there is quoted space in middle of the argument (#3579)
    • Update the VM screenshot on a timer (#3499)
    • Added new global setting to disable saving screenshot to disk
    • Improved synchronization of state from the VM window and the main window (play button visible when stopped, busy spinner visible when starting, etc)
    • (iOS) Fix crash while installing on older versions of jailbroken iOS (#3543)
    • (macOS) Fix an issue where Apple VM aux storage was not created when switching from Linux to macOS boot option
    • (macOS) Ability to move a .utm VM to external storage
    • (macOS) Toolbar option to delete VM should be disabled when VM is running
    • (macOS) Support taking screenshots of Apple VMs

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Source code(tar.gz)
    Source code(zip)
    UTM.deb(191.37 MB)
    UTM.dmg(245.82 MB)
    UTM.ipa(193.41 MB)
    UTM.SE.ipa(159.57 MB)
  • v3.0.4-2(Jan 22, 2022)

    Please read the release notes carefully as this is a major update from v2.x and there are some changes you need to be aware of.

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard for VM creation: Easily create a new VM with the correct default settings with a guided step-by-step wizard. Preview: https://twitter.com/UTMapp/status/1475606159428046854
    • QEMU v6.2.0: Updated QEMU backend to the latest release. Full changelog: https://wiki.qemu.org/ChangeLog/6.2
    • (iOS 13+) New toolbar: The new toolbar is much more compact and friendly for smaller displays. It is also now movable and does not interfere with the iOS 15 multitasking button on the top center of the screen. Preview: https://twitter.com/UTMapp/status/1407350167494443023
    • (macOS 12+, ARM64) Virtualize macOS 12: New integration with Apple's Virtualization.framework backend allows native hardware accelerated virtualization of macOS 12 (supporting both CPU and GPU virtualization). UTM can also download the latest macOS installer directly from Apple. (This is only supported on macOS 12+ running on an ARM64 Mac.)
    • (macOS 11+) Virtualize Linux with Apple backend: You now have the option to use Apple's Virtualization.framework to virtualize Linux. Note that while there are some performance benefits, it is still recommended to use the QEMU backend as it is more stable, has more device support (including graphical display), and is easier to configure.

    Notes

    • The default CPU for ARM64 virtual machine has changed from cortex-a72 to default. This is the recommended option and you should change your existing VMs to use it. When using virtualization on M1(X) macOS, the cortex-a72 CPU is known to have compatibility issues which causes the VM to sometimes freeze (including during Windows install). default will use the host CPU model when virtualization is used and cortex-a72 when emulation is used.
    • The GL hardware acceleration support is now marked experimental to highlight that it is not stable. It is also no longer the default option. If you are experiencing lots of crashes, make sure that you chose a display hardware that is not marked as "GPU Supported".
    • The cursor and resolution change issues on ARM64 Windows has been fixed in SPICE tools 0.164.3. If you are using an older version and experience such issues, please update to the latest SPICE tools.
    • If you manually added virtualization=on to your VM machine properties, you should remove it.

    Changes (v3.0.4)

    • Introduced option to disable RNG device, which causes issues on FreeBSD (#3493)
    • Wizard: directory sharing is now enabled by default
    • Changed the default USB 3.0 controller from qemu-xhci to nec-usb-xhci which addresses an issue where the DVD drive disconnects randomly on Windows ARM64 and causes random errors during setup (#3194)
    • (macOS) Fixed save panel opening when you try to close the settings (#3494)
    • (macOS) Hide unsupported directory sharing options in macOS guests (#3496)
    • (macOS) Fix invert scrolling option (thanks @ktprograms) (#3497)
    • (macOS) Apple VM config files are now in plain-text (thanks @ktprograms)
    • (macOS) Hide non-disk drives from the drives icon menu and properly describe the "EFI Variables" "drive" in settings
    • (macOS) Fixed suspend save state being broken in a previous update
    • (macOS) Fixed a crash when a toolbar icon is hidden due to small window size and a toolbar option is selected from the menu
    • (macOS) The stop button in the main window will now stop the VM if it is started
    • (iOS) Wizard: Fix disabled button colour being the same as enabled buttons
    • (iOS) Moved the toolbar icon lower to not collide with the touch target for showing control center
    • (iOS) Fixed an issue where settings are not shown if the context menu is used to open it (#3513)

    Changes (v3.0.3)

    • Improvements to download UI (thanks @conath) (#3432)
    • Wizard: various improvements to creating Linux VMs (#3472)
    • (iOS) Add licensing text to app settings (#3236)
    • (macOS) DMG package now has a pretty icon and background (#3257)
    • (macOS) Add new preference to terminate when all windows are closed (previously this was the default) (#3483)
    • (macOS) Fix custom icon for Apple VMs (#3477)
    • (macOS) Fix retina mode support for QEMU VMs (note that previously there was a global preference to enable retina mode that is now removed, per-VM setting should be used instead) (#3471)
    • (macOS) Remove QEMU VM setting for "Fit to Screen" as it was never implemented for macOS
    • ~~(macOS) Remove Apple VM setting for "Retina (HiDPI) Mode" as it was confusing and is not used for rendering (it just specifies the size of the virtual monitor)~~ This has been reverted in v3.0.4 and the Retina (HiDPI) Mode has been added back. A use for this feature is if you wish to take screenshots at specific resolutions.

    Changes (v3.0.2)

    • (macOS) Fixed drive delete/move buttons not appearing on macOS 11 (#3461)
    • (macOS) Added missing network entitlement for bridged networking on Apple VMs
    • (macOS) Wizard: convert VHDX to QCOW2 when creating a Windows VM
    • (macOS) Any imported drive on an interface that is NOT floppy, pflash, or none will be converted to QCOW2. This does not apply to removable drives.
    • (iOS) Improved toolbar visibility and dimming while idle behaviour
    • Wizard: skip drive creation if rootfs image is selected
    • Fixed an issue where an imported drive does not use the selected interface

    Changes (v3.0.1)

    • (macOS) Fixed launching on macOS 11 (#3433)
    • (macOS) Fixed "auxiliaryStorage is nil" when creating macOS VM on M1 Mac (thanks @pointum) (#3429)
    • (iOS) Proper enablement of extended RAM usage on M1 iPad 16GB (thanks @kkk669)
    • (iOS) Fixed crash on VM launch on < iOS 13 due to toolbar not being initialized
    • (iOS) Version information will now be shown in the system Settings app for UTM (at the bottom)
    • Fixed cursor and screen resolution issues on ARM64 Windows after installing SPICE tools. Requires updating SPICE tools to latest version.
    • Add virtio-rng-pci device to fix boot warning about randomness source (thanks @ktprograms)
    • Default upscaling mode is now "nearest neighbor"
    • Fixed floppy drives being read-only (thanks @conath) (#3333)
    • Wizard: no longer use NVMe for Windows on x86_64 systems
    • Fixed a regression where Windows boots into BSOD often on x86_64 virtualization
    • Updated localization for Zh-Hant (thanks @pan93412)
    • Updated localization for Zh-Hans (thanks @js-john)
    • Fixed an issue where sometimes a VM will not boot due to invalid drive id (thanks @conath) (#3388)
    • Changing target to PC (i440FX) will now turn off hypervisor on x86_64 by default because it is unstable (#2420)

    Changes (v3.0.0)

    • Added VM creation wizard
    • Updated QEMU to v6.2.0
    • Updated ANGLE to latest commit
    • Updated virglrenderer to latest commit (this may fix #2743)
    • Added default and host CPU option for ARM64 virtual machines. This will be the default for newly created VMs.
    • The downloader will no longer perform CRC checks on the ZIP file and this will significantly speed up extraction.
    • (iOS 13+) Redesigned toolbar (#496)
    • (macOS) Redesigned VM settings
    • (macOS) Fix crash moving drives (#3117)
    • (macOS) Make HVF per-VM configurable (#2493)
    • (macOS) Add Apple Virtualization.framework backend
    • (macOS) New Terminal frontend with SwiftTerm, currently only used with Apple backend on macOS
    • (macOS) Apple Virtualization supports virtual serial port through PTY device

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Source code(tar.gz)
    Source code(zip)
    UTM.deb(186.88 MB)
    UTM.dmg(245.67 MB)
    UTM.ipa(188.92 MB)
    UTM.SE.ipa(155.07 MB)
  • v3.0.3(Jan 16, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard for VM creation: Easily create a new VM with the correct default settings with a guided step-by-step wizard. Preview: https://twitter.com/UTMapp/status/1475606159428046854
    • QEMU v6.2.0: Updated QEMU backend to the latest release. Full changelog: https://wiki.qemu.org/ChangeLog/6.2
    • (iOS 13+) New toolbar: The new toolbar is much more compact and friendly for smaller displays. It is also now movable and does not interfere with the iOS 15 multitasking button on the top center of the screen. Preview: https://twitter.com/UTMapp/status/1407350167494443023
    • (macOS 12+, ARM64) Virtualize macOS 12: New integration with Apple's Virtualization.framework backend allows native hardware accelerated virtualization of macOS 12 (supporting both CPU and GPU virtualization). UTM can also download the latest macOS IPSW directly from Apple. (This is only supported on macOS 12+ running on an ARM64 Mac.)
    • (macOS 11+) Virtualize Linux with Apple backend: You now have the option to use Apple's Virtualization.framework to virtualize Linux. Note that while there are some performance benefits, it is still recommended to use the QEMU backend as it is more stable, has more device support (including graphical display), and is easier to configure.

    Notes

    • The default CPU for ARM64 virtual machine has changed from cortex-a72 to default. This is the recommended option and you should change your existing VMs to use it. When using virtualization on M1(X) macOS, the cortex-a72 CPU is known to have compatibility issues which causes the VM to sometimes freeze (including during Windows install). default will use the host CPU model when virtualization is used and cortex-a72 when emulation is used.
    • The GL hardware acceleration support is now marked experimental to highlight that it is not stable. It is also no longer the default option. If you are experiencing lots of crashes, make sure that you chose a display hardware that is not marked as "GPU Supported".
    • The cursor and resolution change issues on ARM64 Windows has been fixed in SPICE tools 0.164.3.

    Changes (v3.0.3)

    • Improvements to download UI (thanks @conath) (#3432)
    • Wizard: various improvements to creating Linux VMs (#3472)
    • (iOS) Add licensing text to app settings (#3236)
    • (macOS) DMG package now has a pretty icon and background (#3257)
    • (macOS) Add new preference to terminate when all windows are closed (previously this was the default) (#3483)
    • (macOS) Fix custom icon for Apple VMs (#3477)
    • (macOS) Fix retina mode support for QEMU VMs (note that previously there was a global preference to enable retina mode that is now removed, per-VM setting should be used instead) (#3471)
    • (macOS) Remove QEMU VM setting for "Fit to Screen" as it was never implemented for macOS
    • (macOS) Remove Apple VM setting for "Retina (HiDPI) Mode" as it was confusing and is not used for rendering (it just specifies the size of the virtual monitor)

    Changes (v3.0.2)

    • (macOS) Fixed drive delete/move buttons not appearing on macOS 11 (#3461)
    • (macOS) Added missing network entitlement for bridged networking on Apple VMs
    • (macOS) Wizard: convert VHDX to QCOW2 when creating a Windows VM
    • (macOS) Any imported drive on an interface that is NOT floppy, pflash, or none will be converted to QCOW2. This does not apply to removable drives.
    • (iOS) Improved toolbar visibility and dimming while idle behaviour
    • Wizard: skip drive creation if rootfs image is selected
    • Fixed an issue where an imported drive does not use the selected interface

    Changes (v3.0.1)

    • (macOS) Fixed launching on macOS 11 (#3433)
    • (macOS) Fixed "auxiliaryStorage is nil" when creating macOS VM on M1 Mac (thanks @pointum) (#3429)
    • (iOS) Proper enablement of extended RAM usage on M1 iPad 16GB (thanks @kkk669)
    • (iOS) Fixed crash on VM launch on < iOS 13 due to toolbar not being initialized
    • (iOS) Version information will now be shown in the system Settings app for UTM (at the bottom)
    • Fixed cursor and screen resolution issues on ARM64 Windows after installing SPICE tools. Requires updating SPICE tools to latest version.
    • Add virtio-rng-pci device to fix boot warning about randomness source (thanks @ktprograms)
    • Default upscaling mode is now "nearest neighbor"
    • Fixed floppy drives being read-only (thanks @conath) (#3333)
    • Wizard: no longer use NVMe for Windows on x86_64 systems
    • Fixed a regression where Windows boots into BSOD often on x86_64 virtualization
    • Updated localization for Zh-Hant (thanks @pan93412)
    • Updated localization for Zh-Hans (thanks @js-john)
    • Fixed an issue where sometimes a VM will not boot due to invalid drive id (thanks @conath) (#3388)
    • Changing target to PC (i440FX) will now turn off hypervisor on x86_64 by default because it is unstable (#2420)

    Changes (v3.0.0)

    • Added VM creation wizard
    • Updated QEMU to v6.2.0
    • Updated ANGLE to latest commit
    • Updated virglrenderer to latest commit (this may fix #2743)
    • Added default and host CPU option for ARM64 virtual machines. This will be the default for newly created VMs.
    • The downloader will no longer perform CRC checks on the ZIP file and this will significantly speed up extraction.
    • (iOS 13+) Redesigned toolbar (#496)
    • (macOS) Redesigned VM settings
    • (macOS) Fix crash moving drives (#3117)
    • (macOS) Make HVF per-VM configurable (#2493)
    • (macOS) Add Apple Virtualization.framework backend
    • (macOS) New Terminal frontend with SwiftTerm, currently only used with Apple backend on macOS
    • (macOS) Apple Virtualization supports virtual serial port through PTY device

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Source code(tar.gz)
    Source code(zip)
    UTM.deb(186.88 MB)
    UTM.dmg(245.67 MB)
    UTM.ipa(188.92 MB)
    UTM.SE.ipa(155.08 MB)
  • v3.0.2(Jan 11, 2022)

    Installation

    Visit https://getutm.app/install/ for the most up to date installation instructions.

    Highlights

    • Wizard for VM creation: Easily create a new VM with the correct default settings with a guided step-by-step wizard. Preview: https://twitter.com/UTMapp/status/1475606159428046854
    • QEMU v6.2.0: Updated QEMU backend to the latest release. Full changelog: https://wiki.qemu.org/ChangeLog/6.2
    • (iOS 13+) New toolbar: The new toolbar is much more compact and friendly for smaller displays. It is also now movable and does not interfere with the iOS 15 multitasking button on the top center of the screen. Preview: https://twitter.com/UTMapp/status/1407350167494443023
    • (macOS 12+, ARM64) Virtualize macOS 12: New integration with Apple's Virtualization.framework backend allows native hardware accelerated virtualization of macOS 12 (supporting both CPU and GPU virtualization). UTM can also download the latest macOS IPSW directly from Apple. (This is only supported on macOS 12+ running on an ARM64 Mac.)
    • (macOS 11+) Virtualize Linux with Apple backend: You now have the option to use Apple's Virtualization.framework to virtualize Linux. Note that while there are some performance benefits, it is still recommended to use the QEMU backend as it is more stable, has more device support (including graphical display), and is easier to configure.

    Notes

    • The default CPU for ARM64 virtual machine has changed from cortex-a72 to default. This is the recommended option and you should change your existing VMs to use it. When using virtualization on M1(X) macOS, the cortex-a72 CPU is known to have compatibility issues which causes the VM to sometimes freeze (including during Windows install). default will use the host CPU model when virtualization is used and cortex-a72 when emulation is used.
    • The GL hardware acceleration support is now marked experimental to highlight that it is not stable. It is also no longer the default option. If you are experiencing lots of crashes, make sure that you chose a display hardware that is not marked as "GPU Supported".
    • The cursor and resolution change issues on ARM64 Windows has been fixed in SPICE tools 0.164.3.

    Changes (v3.0.2)

    • (macOS) Fixed drive delete/move buttons not appearing on macOS 11 (#3461)
    • (macOS) Added missing network entitlement for bridged networking on Apple VMs
    • (macOS) Wizard: convert VHDX to QCOW2 when creating a Windows VM
    • (macOS) Any imported drive on an interface that is NOT floppy, pflash, or none will be converted to QCOW2. This does not apply to removable drives.
    • (iOS) Improved toolbar visibility and dimming while idle behaviour
    • Wizard: skip drive creation if rootfs image is selected
    • Fixed an issue where an imported drive does not use the selected interface

    Changes (v3.0.1)

    • (macOS) Fixed launching on macOS 11 (#3433)
    • (macOS) Fixed "auxiliaryStorage is nil" when creating macOS VM on M1 Mac (thanks @pointum) (#3429)
    • (iOS) Proper enablement of extended RAM usage on M1 iPad 16GB (thanks @kkk669)
    • (iOS) Fixed crash on VM launch on < iOS 13 due to toolbar not being initialized
    • (iOS) Version information will now be shown in the system Settings app for UTM (at the bottom)
    • Fixed cursor and screen resolution issues on ARM64 Windows after installing SPICE tools. Requires updating SPICE tools to latest version.
    • Add virtio-rng-pci device to fix boot warning about randomness source (thanks @ktprograms)
    • Default upscaling mode is now "nearest neighbor"
    • Fixed floppy drives being read-only (thanks @conath) (#3333)
    • Wizard: no longer use NVMe for Windows on x86_64 systems
    • Fixed a regression where Windows boots into BSOD often on x86_64 virtualization
    • Updated localization for Zh-Hant (thanks @pan93412)
    • Updated localization for Zh-Hans (thanks @js-john)
    • Fixed an issue where sometimes a VM will not boot due to invalid drive id (thanks @conath) (#3388)
    • Changing target to PC (i440FX) will now turn off hypervisor on x86_64 by default because it is unstable (#2420)

    Changes (v3.0.0)

    • Added VM creation wizard
    • Updated QEMU to v6.2.0
    • Updated ANGLE to latest commit
    • Updated virglrenderer to latest commit (this may fix #2743)
    • Added default and host CPU option for ARM64 virtual machines. This will be the default for newly created VMs.
    • The downloader will no longer perform CRC checks on the ZIP file and this will significantly speed up extraction.
    • (iOS 13+) Redesigned toolbar (#496)
    • (macOS) Redesigned VM settings
    • (macOS) Fix crash moving drives (#3117)
    • (macOS) Make HVF per-VM configurable (#2493)
    • (macOS) Add Apple Virtualization.framework backend
    • (macOS) New Terminal frontend with SwiftTerm, currently only used with Apple backend on macOS
    • (macOS) Apple Virtualization supports virtual serial port through PTY device

    Issues

    Please check the full list on Github and help report any bug you find that is not listed.

    Source code(tar.gz)
    Source code(zip)
    UTM.deb(186.85 MB)
    UTM.dmg(268.21 MB)
    UTM.ipa(188.89 MB)
    UTM.SE.ipa(155.05 MB)
Owner
UTM
Virtual machines for iOS
UTM
BaseConverter-iOS - The fast and easy way to convert numbers with tons of possibilities!

BaseConverter-iOS The fast and easy way to convert numbers with tons of possibilities! With BaseConverter, convert your numbers from and to: Decimal B

Groupe MINASTE 3 Feb 8, 2022
Dash-iOS - Dash gives your iPad and iPhone instant offline access to 200+ API documentation sets

Discontinued Dash for iOS was discontinued. Please check out Dash for macOS instead. Dash for iOS Dash gives your iPad and iPhone instant offline acce

Bogdan Popescu 7.1k Dec 29, 2022
Bitrise-iOS - Client iOS app for bitrise.io 🚀

?? SwiftUI version is available as beta ?? Bitrise iOS Client app ?? Features ✅ App List GET /me/apps Shows last visited app page on launch ✅ Build Li

Toshihiro Suzuki 142 Dec 19, 2022
Buglife-iOS - Awesome bug reporting for iOS apps

Buglife is an awesome bug reporting SDK & web platform for iOS apps. Here's how it works: User takes a screenshot, or stops screen recording User anno

Buglife 498 Dec 17, 2022
Charter - A Swift mailing list client for iPhone and iPad

Due to costs and lack of interest, I’ve had to take down the Charter service. If you’re interested in running your own copy, get in touch and I can se

Matthew Palmer 526 Dec 24, 2022
DevTool - A simple UI and powerful Mac OS application, Such as JSON-Formatting tool, JSON-to-model tool, AppIcon generator, Network-Request tool...

?? ?? ?? A simple UI and powerful Mac OS application. It is a collection of tools commonly used in my development work. Such as JSON-Formatting tool, JSON-to-model tool, AppIcon generator, Network-Request tool...

渠晓友 3 Dec 21, 2022
AppLove - View iOS app reviews in multiple selected territories with translation option.

App Love Note: Swift Version 2.2 currently, will update to Swift 3/XCode 8 after cocoapods are updated to Swift 3. Features View iOS Customer App Revi

Woodie Dovich 52 Nov 19, 2022
Awesome-ML - Discover, download, compile & launch different image processing & style transfer CoreML models on iOS.

⚠️ ⚠️ ⚠️ IMPORTANT: I'm no longer maintaining Awesome-ML. Awesome ML is an iOS app that is made to demonstrate different image processing CoreML model

eugene 171 Nov 8, 2022
DevSwitch - An iOS app for switching between countries on the App Store with ease.

Archived as of 24/04/2021. Apple has again broken the URLs required for storefront switching. I've decided to archive DevSwitch due to this. If Apple

Aaron Pearce 432 Jan 3, 2023
IOS - Unofficial app for Swift Evolution

EVOlution - iOS The goal of this project is for the version 1.0 was: bring to iOS the experience provided by Swift Evolution website. Now we are shift

EVOlution App 235 Dec 19, 2022
A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework.

macOS Virtual Machine A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework. I copied KhaosT's code from here, all I did is chang

Ming Chang 127 Nov 30, 2022
🕹 iOS game - classic Tic Tac Toe with AI and state machines [Swift + SpriteKit + GameplayKit].

?? iOS game - classic Tic Tac Toe with AI and state machines [Swift + SpriteKit + GameplayKit].

Astemir Eleev 60 Dec 14, 2022
ZX Spectrum emulator for macOs. Retro Virtual Machine

Retro Virtual Machine 1.1.x This is the code for version 1.1.x of my emulator for the ZX Spectrum, Retro Virtual Machine. The current version (v2.0.7)

Juan Carlos González Amestoy 9 Dec 31, 2022
VTuber Cam, macOS app that displays an avatar using a virtual camera.

日本語 VCam macOS app that displays an avatar using a virtual camera. You can display a virtual avatar on Zoom or Google Meet, or etc. This is useful for

VCam 59 Jan 2, 2023
macOS Virtual Machine using Virtualization.framework

virtualOS Run a virtual macOS machine on your Apple Silicon computer. On first start, the latest macOS restore image is automatically downloaded from

null 102 Dec 24, 2022
Spare Parts is a 2D physics game that lets you build silly contraptions and machines.

Spare Parts Spare Parts is a 2D physics game that lets you build silly contraptions and machines. The goal for this project is: 100% of the code is op

Adam Wulf 14 Feb 9, 2022
PillowTalk - An iOS & SwiftUI server monitor tool for linux based machines using remote proc file system with script execution.

An iOS & SwiftUI server monitor tool for linux based machines using remote proc file system with script execution.

Lakr Aream 416 Dec 16, 2022
MobilePillowTalkLite - An iOS & SwiftUI server monitor tool for linux based machines using remote proc file system with script execution

# PillowTalk - iOS/Lite bbtop PillowTalk -> 枕头逼逼 -> bbtop! An iOS & SwiftUI serv

Lakr Aream 416 Dec 16, 2022
🏇 A Swift HTTP / HTTPS networking library just incidentally execute on machines

Thus, programs must be written for people to read, and only incidentally for machines to execute. Harold Abelson, "Structure and Interpretation of Com

John Lui 845 Oct 30, 2022