Rosetta comprend les instructions x86_64 des processeurs Intel et sait les traduire dans le langage AArch64. C’est la pierre angulaire de la transition vers les puces Apple Silicon, qui permet d’utiliser les anciennes applications sur les nouvelles machines sans craindre la moindre incompatibilité. Dans macOS Ventura, les machines virtuelles pourront profiter des talents de Rosetta.
La virtualisation ne doit pas être confondue avec l’émulation. Les émulateurs imitent l’architecture d’un ordinateur, et doivent généralement traduire le jeu d’instructions du matériel émulé dans le jeu d’instructions du matériel hôte, une opération de haute volée. Virtual PC permettait ainsi de faire tourner Windows 98, un système d’exploitation conçu pour les processeurs x86, sur un Power Mac G4, une machine dotée d’un processeur PowerPC.
Un virtualiseur se contente de partager les ressources de l’ordinateur, sans traduire le moindre jeu d’instructions, une opération relativement plus simple. Le framework Virtualization intégré à macOS permet de faire tourner la version x86_64 de Windows 11 sur une machine dotée d’un processeur Intel, et la version ARM de Windows 11 sur une machine dotée d’un processeur Apple Silicon.
Rosetta rebat les cartes : il apporte des capacités de traduction aux solutions de virtualisation. Dans macOS Ventura, les applications basées sur le framework Virtualization pourront recourir à Rosetta pour exécuter des binaires x86_64 au sein de machines virtuelles AArch64. Box86 offre une solution similaire sur les distributions GNU/Linux.
Il n’est pas question de faire tourner un système x86_64 dans une machine virtuelle AArch64, une contradiction dans les termes, mais bien de résoudre quelques incompatibilités qui pouvaient freiner les développeurs, comme ses dépendances de projets open source populaires qui n’ont toujours pas été adaptées aux puces Apple Silicon. Pourra-t-on faire tourner des jeux ? Rosetta ralentit légèrement les opérations, mais qui sait, les deux cœurs supplémentaires du circuit graphique de la nouvelle puce M2 pourraient faire mieux que compenser.