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 specifieshighmem=on
in QEMU settings. Previously, when you selectvirt
in VM settings, the machine properties text box will auto populate withhighmem=off
. If the user deletes it, then the VM will not boot because it requireshighmem=off
. Advanced users can still specifyhighmem=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)