Last week, something unthinkable happened. Apple finally allowed emulation of any and all OS on iOS and iPadOS. The intended purpose is to emulate retro Windows based games, which matches their recent trend of approval of gaming-system emulation apps. However, for me, it restarts a long-time hobby of running retro OSes purely for nostalgia and hobby purposes. This was not possible before because I don’t have a real computer, just an iPad. The first app to take advantage of this change of heart from Apple is UTM SE.
Now, UTM SE has been available on macOS and jailbroken iOS and iPadOS for quite some time, but this is the first time the app is officially available through the App Store.
Overview
The process to configure a new VM is much like most virtualisation apps out there. You use either an existing image or create a new one, select various parameters like RAM, HDD, CPU architecture, cores etc.
Your Bluetooth mice/keyboards can be mapped to the guest OS via USB or PS/2 emulation. For older OS (Pre Windows ME) which don’t have out of-box support for USB peripherals, you need to disable USB support for Mouse/Keyboard so that they are emulated as PS/2. Even touch gestures can be used in lieu of a mouse, although the experience is clunky.
Another useful feature is that you can map a folder on your iOS/iPadOS filesystem to the guest machine allowing you to transfer files easily.
Also, you can choose to include your VMs in your iCloud backups.
The Bad
Instead of proper virtualisation that is possible on other computing platforms, UTM on iOS and iPadOS uses software emulation, making it very-very slow. Apparently iOS and iPadOS had virtualisation support (only with jailbreak) previously, but they removed it a few years ago.
The other limitation is, iOS and iPadOS don’t allow JIT compilation for apps from the App Store which negatively affects performance further.
For me, the performance is roughly similar to my first Celeron 400Mhz computer. Which, when compared to the 4×3.49Ghz high-performance cores on the Apple M2 means there is an approx 35x performance penalty for emulation. No wonder the “SE’ in UTM stands for “Slow Edition”.
Also, switching to another app causes UTM to suspend the VM after a few minutes. None of this is UTM’s fault, but needless restrictions from Apple to stop iPads from cannibalising Mac sales.
Also, the iPad screen locks after inactivity, which I think is on UTM, because apps (especially games) have been able to keep the screen unlocked through inactivity.
But the good thing is, you can resume from where you left off. Also, you can run multiple windows of UTM itself, even with multiple windows mapping to multiple monitors on the guest.
Battery usage is also extremely high because of the inefficiencies.
Look forward to many (many) posts on this topic.
Discover more from An Insight into my Hindside
Subscribe to get the latest posts sent to your email.
One thought on “Retro Computing: UTM SE”