UTM est une app pour iOS qui permet de faire tourner Windows, Android ou une distribution Linux sur un iPhone ou iPad. Ne vous précipitez pas sur l’App Store pour la récupérer, vous ne la trouverez pas et vous ne la trouverez probablement jamais puisqu’elle utilise des API privées, ce qui est strictement interdit par Apple. Et même si ce n’était pas le cas, les règles de la boutique empêcheraient une telle app d’y trouver place.
Ce projet n’en est pas moins bien concret, et il permet de faire tourner des machines virtuelles directement sur un iPhone ou un iPad. Son créateur a installé plusieurs systèmes sur un iPad Pro : Windows XP, Windows 7 ou encore ArchLinux et cela devrait aussi fonctionner pour Android. Les performances ne sont pas toujours excellentes, comme on peut en juger dans cette vidéo de Half-Life installé sur Windows XP et lancé sur un iPad Pro, mais enfin, c’est tout de même impressionnant.
Techniquement, UTM repose sur QEMU, un outil de virtualisation open-source qui permet aussi de créer des émulateurs pour une trentaine de processeurs, dont x86_64 utilisé par Windows et les distributions Linux. Les graphismes sont obtenus grâce à SPICE, un autre projet qui permet d’accéder à des machines virtuelles à distance. Tout est bien fait en local sur l’appareil, mais cette solution est nécessaire pour pallier l’absence dans iOS de certaines fonctions indispensables normalement en virtualisation.
Le créateur d’UTM détaille son app et explique aussi les limitations actuelles sur cette page. Parmi les limitations, il n’est pas possible de lancer plusieurs machines virtuelles sans quitter complètement l’app, il n’est pas non plus possible de sauvegarder l’état d’une machine virtuelle et le son ne fonctionne pas. Toute l’interface utilisateur est assez rudimentaire, c’est un projet en cours qui nécessite encore du travail.
UTM est un projet open-source et vous pouvez consulter le code source et y contribuer sur GitHub. Vous pouvez aussi compiler votre propre version pour l’installer sur vos iPhone et iPad. Une version déjà compilée est proposée par l’auteur sur la page des releases, mais un bug empêche de l’utiliser avec un compte développeur gratuit à partir d’iOS 13.3.1.