PC emulator comes to iOS, but Apple’s restrictions hamper performance

<em>Space Cadet Pinball</em> has never been so portable... or so tiny!
Enlarge / Space Cadet Pinball has never been so portable… or so tiny!


One month after PC emulator UTM was rejected from the iOS App Store, the developers have announced that a new “UTM SE” version is now available for free on the App Store. But the app’s performance is severely hampered by Apple’s restrictions on so-called “just-in-time” (JIT) compilation, limiting the app’s suitability for effectively emulating many PC games.

Built on the generic command-line emulation layer QEMU, the open-source UTM boasts support for “30+ processors,” from x86 and PowerPC to RISC-V and ARM64. The App Store listing promises you can “run classic software and old-school games” through both a VGA graphics mode and text-based terminal.

Don’t expect a seamless, RetroArch-style path to playing Space Cadet Pinball on your iPhone, though. The UTM developers link to pre-configured settings downloads for versions of Windows going back to XP, alongside guides for getting those OSes up and running on iOS. But users will need to bring their own legitimate Windows installation ISO and go through the cumbersome process of installing the OS as well as a version of SPICE tools to help coordinate access through iOS (downloading pre-built, UTM-compatible Linux builds seems more straightforward).

Slow by design

Even after that, don’t expect high-level performance from this new emulator. That’s because UTM SE must abide by App Store restrictions prohibiting apps that “install executable code.” As such, the App Store version is a “JIT-less” build that uses a Tiny-Code Threaded Interpreter (TCTI) to interpret each original line of code being run rather than fully recompiling it at runtime for smoother performance.

A video shows how the lack of JIT recompilation slows down GameCube emulation on DolphiniOS.

The lack of that JIT recompilation means the “SE [in UTM SE] stands for Slow Edition,” as moderator CZ pithily put it in the UTM Discord. “This is us telling you gaming on UTM SE is not happening.” At least one user who tested running Linux via UTM SE confirmed it is “dog slow” and “a gloopy experience.” Those who want full performance out of UTM can still install the regular, non-SE version of the app via sideloading or an alt store.

You may remember that the developers of GameCube/Wii emulator DolphiniOS cited the lack of JIT recompilation as the reason their app can’t run at a functional frame rate through the iOS App Store. However, similar restrictions haven’t stopped emulators like Delta from running classic gaming consoles up through the Nintendo DS at a playable frame rate, suggesting that UTM SE might be sufficient for older MS-DOS or Windows 95-era titles.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top