github utmapp/UTM v4.0.0
v4.0.0 (Beta)

latest releases: v4.2.2, v4.2.1, v4.2.0...
pre-release7 months ago

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


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


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


  • 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


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

Don't miss a new UTM release

NewReleases is sending notifications on new releases.