Skip to content

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

    <em src=

    Enlarge / Space Cadet Pinball Machine has never been so portable… or so small!

    A month after PC emulator UTM was rejected from the iOS App Store, its developers have announced that a new “UTM SE” version is now available for free on the App Store. However, 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 supports “30+ processors,” from x86 and PowerPC to RISC-V and ARM64. The App Store listing promises that you'll be able to run “classic software and old-school games” via both a VGA graphics mode and a text-based terminal.

    Don't expect a seamless RetroArch-esque path to playing Space Cadet Pinball Machine on your iPhone, though. The UTM developers link to preconfigured settings for versions of Windows going back to XP, as well as guides for getting those operating systems working on iOS. But users will have to bring their own legitimate Windows install ISO and go through the cumbersome process of installing the OS, as well as a version of SPICE tools to orchestrate access via iOS (downloading pre-built, UTM-compatible Linux builds seems easier).

    Slow in design

    Even after that, don’t expect high-level performance from this new emulator. That’s because UTM SE has to abide by App Store restrictions that prohibit apps that “install executable code”. The App Store version is therefore a “JIT-less” build that uses a Tiny-Code Threaded Interpreter (TCTI) to interpret each original line of code that is executed instead of completely 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 that the “SE [in UTM SE] stands for Slow Edition,” as moderator CZ succinctly put it in the UTM Discord. “This is to tell you that gaming on UTM SE is not going to happen.” At least one user who tested Linux through UTM SE confirmed that it is “dog slow” and “a gloopy experience.” Those looking to squeeze the full performance out of UTM can still install the regular, non-SE version of the app via sideloading or an alt store.

    You may recall that the developers of GameCube/Wii emulator DolphiniOS cited the lack of JIT recompilation as the reason for their app's inability to run at a functional framerate via the iOS App Store. However, similar limitations haven't stopped emulators like Delta from running classic consoles all the way up to the Nintendo DS at playable framerates, suggesting that UTM SE may suffice for older MS-DOS or Windows 95 titles.