UTM virtualise Windows et Android sur un appareil iOS

Nicolas Furno |

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.

Enfin un vrai jeu sur l’iPhone !

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.

avatar SyMich | 

Virtualisation ou émulation? Ce n'est pas très clair...
S'il s'agit de virtualisation, ça ne peut-être qu'une version ARM de Windows, j'imagine.

avatar Phiphi | 

@SyMich

Je crois bien que QEMU sait faire les deux, donc sans doute une émulation effectivement à moins qu’il y ait eu des versions ARM de XP et SEVEN, ce dont je doute.

avatar occam | 

@SyMich

En fait, au niveau QEMU, les deux.
Mais au niveau UTM, @Phiphi a raison, il s’agit essentiellement d’émulation.
La version ARM de Windows serait encore bien trop lourde pour ce genre de virtualisation.

QEMU sait faire de l’émulation complète en soft.
En plus, et c’est astucieux comm approche, QEMU permet une sorte de cross-execution virtualisée de binaires Linux ou BSD par l’émulation des syscalls d’une architecture à l’autre. Par exemple, un userspace API Linux pour x64 pourrait être exécuté sur PPC64.

Il sera intéressant de voir les performances de UMT sur un iPad Pro. Si QEMU donne là-dessus des résultats tolérables, ce serait une indication de ce que l’on pourrait espérer a minima lors de la transition Intel —> ARM, quand Apple y mettra du sien, avec du code et un émulateur hautement optimisé.

avatar Phiphi | 

Ah oui quand même !
Je ne sais pas si QEMU permets de faire tourner OSX, parce que là on pourrait enfin imaginer de se passer du Mac quelques jours en ayant une roue de secours au cas où.
Bien entendu à la condition que le projet aboutisse. Et ça m’éviterai aussi d’entretenir un vieux bouzin sous Linux pour dépanner une fois tous les 36 du mois.

avatar occam | 

@Phiphi

"Je ne sais pas si QEMU permets de faire tourner OSX"

Affirmatif, dans KVM.
Mais en l’état, à ma connaissance, sur architecture x86 seulement, la VM nécessitant un processeur à support VT-x (Intel) ou SVD (AMD).

Donc, sur une distro Linux sur hardware PC, pas de problème. Mais sur ARM ? L’émulation du x86 risquerait d’y être assez lourde.

avatar Phiphi | 

@occam

Merci. Tant pis pour moi je garderai un Mac encore longtemps, je suis un vieux con qui a eu la flemme de chercher à réapprendre à faire sous iOS (iPadOS) un tas de choses que je sais faire les yeux fermés sous OS X. Et ça va pas s’arranger, je bien finir par rattraper l’âge de la retraite entre deux réformes.

avatar Olivier S | 

J’aime bcp !

avatar Godverdomme | 

"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."

Sérieux? J'avais oublié à quel point c'était la dictature dans ce Store...

avatar LolYangccool | 

J’ai essayé et j’ai réussis après qu’on me dise que contrairement à ce qui est écrit sur le site, qu’il faut absolument un appareil jailbreaké. On m’a dis ça sur leur discord. Mon iPad fait tourner Windows 7, mais mon iPhone n’est pas jailbreakable donc pour le moment c’est mort pour lui, les VMs font planter l’application complète quand on essaye de les démarrer sur un appareil non jailbreaké.

CONNEXION UTILISATEUR