Highlights
- (iOS SE) TCTI backend updates. Vector instruction support can improve the performance of certain workloads.
- (macOS) Guest interface commands. New commands accessible from the scripting interface as well as the command line interface (utmctl) can be used to read/write files, execute commands, and list IP addresses. These commands require QEMU guest agent to be installed.
- (macOS) Scripting interface additions. The scripting interface now allows for creation of a new VM, configuration an existing VM, changing drive image, and more. See this page for more details and the cheat sheet for example usage.
- (macOS) External read-write drive images. In QEMU, if a supported drive interface is selected (USB, Floppy, etc) along with an image type of Disk, the drive can now be marked as either read-only or read-write. This can be used as an alternative way of transferring data to and from the VM when the guest does not support SPICE or VirtFS. In AVF, support for read-write images has be fixed as well (when "read only" is unchecked in the settings).
Changes (v4.2.4)
- UTM will now display the release notes the first time a new version is launched
- Updated ANGLE which should fix some GPU acceleration issues on Linux (please see known issues below for unresolved issues)
- Fixed an issue where a removable drive or VirtIO shared directory was set up when QEMUHelper was already running and therefore was not able to create a bookmark and an "access denied" error shows up on startup
- Introduced a new preference setting for using the Option key as Meta in the built in console. This was on by default in previous versions and is not off by default which should allow international text to be entered properly (#5202)
- Wizard: Make virtio-gpu-pci default for Linux (again) which was reverted a few releases ago in order to address some GPU issues
- Translation: updated Polish (thanks @matgaj)
- (iOS) Fixed built in terminal overlapping in the safe area
Changes (v4.2.3)
- Added support for read-write removable devices on supported interfaces (USB, Floppy, etc). To use this feature, set the image type to "Disk" and uncheck the "Read Only?" option in the drive settings. Note that you may have to eject and re-mount the drive image for effect to take place. (#5079)
- Removable USB devices will no longer show up as a CD drive if the image type is set to "Disk" (#5171)
- Reverted a change from v4.2.0 where virtio bus devices were removed (this broke some people's configurations) (#5137)
- Fixed an issue where when QEMU fails to start, subsequent attempts to start the VM will automatically fail
- Fixed an issue where due to a race, removable drives may not be mounted on start
- (iOS) Fixed an issue when the pointer is hovering over a toolbar button when the VM starts and subsequent clicks will toggle the button (#4843)
- (macOS) AVF: Fixed an issue where a removable drive that is not marked as read-only still gets marked as read-only after restarting UTM (when upgrading from a previous version, you must eject and re-mount the image for effect to take place) (#5170)
- (macOS) Fixed an issue where incorrect subnet parameters are generated for vmnet advanced settings (#5128)
- (macOS) CLI: Added a new
clone
command (#5004)
Changes (v4.2.2)
- Fixed an issue where a VM that is moved manually (e.g. with Finder) cannot be started (#5121)
- Fixed an issue where the cursor disappears after resuming a suspended VM (#4665)
- (macOS) Scripting: Add support for
make
,duplicate
, anddelete
verbs on virtual machines - (macOS) Scripting: Add support for modifying certain configuration options
- (macOS) Scripting: Removed virtual machine properties:
notes
,machine
,architecture
,memory
. You should now use similar properties in theconfiguration
record - (macOS) Support changing the audio backend to CoreAudio and make CoreAudio the default (due to better latency and as a workaround to some crashes) (#5125)
Changes (v4.2.1)
- QEMU: Support more than 8 cores for ARM64 targets (#4847)
- Synchronize time on resume when QEMU guest agent is installed which should fix clock drift issues (#3218)
- (iOS SE) Updated TCTI to latest branch from @ktemkin which has support for vector instructions (#4865)
- (macOS) Switch to emulated trackpad when guest+host are macOS 13+ (second attempt for #4636 and #4645)
- (macOS) Fixed the "raw image" checkbox when creating a new drive (#5100)
- (macOS) Add PC speaker sound device as an option. You can now add a second sound device on supported targets (x86_64/i386 PC based targets) and set the hardware to PC Speaker to emulate older motherboard speakers.
- (macOS) Scripting: new verbs "open file", "execute", and "query ip" which uses the QEMU guest agent to send commands to the guest. Use the Apple Script Editor's Open Dictionary tool for more information.
- (macOS) CLI: new commands "file push", "file pull", "exec", and "ip-address". See
utmctl help
for more information.
Changes (v4.2.0)
- Updated virglrenderer to latest (27/02/2023) commit
- Automatically revert CPU to "default" if model is missing due to updated QEMU (#4910)
Remove virtio-bus devices (they didn't work) (#4893)- Support drag and drop to import an .utm package (#3599)
- Support copying sparse images across different volumes (thanks @ktprograms)
- Fixed tearing/performance issue for non-GL accelerated displays when under graphics load (#5049)
- Fixed error when importing a new drive with the same name as an existing drive (#5052)
Fixed a crash on startup when multiple audio devices are plugged in (#4629)- Wizard: Generate a working configuration for isapc (#4961)
- Settings: Use pretty labels for CPU flags (#4940)
- Translation: updated French (thanks @FRtranslator)
- Translation: added Czech readme (thanks @stinovlasmp)
- Translation: updated German (thanks @LostInCompilation and @afh)
- (macOS) Capture Mouse has been renamed to Capture Input and now will show the current capture status as a toggle button
- (macOS) Apple VMs (macOS guests) now support Capture Input which will capture the system keys. This used to be always on as the default. It is now off by default and the toggle button will enable it. (#4667)
- (macOS) Ignore missing links (drives, shared directory, etc) when saving an Apple VM
- (macOS) Preference: added option to force Num Lock on (#4625)
- (macOS) Preference: added option to prevent idle sleep while VM is running (#4963)
- (macOS) Preference: added option to suppress exit confirmation (#4989)
- (macOS) Fixed delete drive confirmation not showing up on latest macOS
- (macOS) Fixed disposable mode stuck on when a VM is run once in disposable mode (#5025)
- (macOS) Fixed an issue where a moved or deleted VM with a stopped window open will attempt to use the old path (#4985)
- (macOS) Fixed cursor scrolling and double click issues (#4636, #4645)
- (macOS) Support following a change in system default input or output audio device (#3488)
- (macOS) Support retry of macOS installation when it fails (the IPSW will not automatically be unlinked)
- (macOS) Support retaining of installer IPSW bookmark across VM moves and UTM restarts (#4938)
Issues
Please check the full list on Github and help report any bug you find that is not listed.
- There is a known bug in newer versions of Mesa which prevents some Wayland applications (such as Firefox) from launching when GPU acceleration is enabled. One workaround is to switch to Xorg from the log-in screen (typically by clicking on the gear icon) and another is to patch Mesa to a newer version.
- Debian 12 fails to load the GUI installer when GPU acceleration is enabled. Please use the text installer instead.
- The Metal renderer backend is broken on macOS, please change your renderer to OpenGL or "Default"
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 |
- Hypervisor on iOS requires an M1 iPad.
- Enabling JIT may require a separate JIT enabler such as Jitterbug or Jitstreamer.