macOS Ventura virtualise les binaires x86 dans les machines virtuelles Apple Silicon

Anthony Nelzin-Santos |

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 sur macOS Ventura. Image Apple.

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.

avatar Phiphi | 

Une sorte de « wine » qui fonctionne vraiment à 100% et sans avoir à se prendre la tête, ça serait assez top 🤷‍♂️
En d’autres terme un « Winzetta » complètement transparent.
Ok je rêve 💭

avatar oomu | 

@Phiphi

c'est le but du projet WINE d'être une réimplémentation de Windows qui fonctionne vraiment à 100% et sans avoir à se prendre la tête. C'est le plus gros projet existant pour y arriver et les contributeurs (financiers ou en code) sont les bienvenus.

Le soucis, c'est que Microsoft n'aide pas (et au contraire, MS n’arrête pas de modifier Windows sans laisser souffler) et seul des acteurs mineurs (pas beaucoup de sous) contribuent à son développement.

avatar Phiphi | 

@oomu

"c'est le but du projet WINE"

Je sais bien… mais hélas depuis le temps que j’espère voir ce projet arriver à son terme 🤷‍♂️
Si ça se trouve le tonneau des Danaïdes sera plein que WINE sera toujours un work in progress 😢

avatar BeePotato | 

@ Phiphi : « Si ça se trouve le tonneau des Danaïdes sera plein que WINE sera toujours un work in progress 😢 »

De par sa définition, ce projet ne peut qu’être un work in progress permanent.
Il ne sera achevé qu’après que Microsoft aura arrêté de sortir de nouvelles version de Windows.

avatar Phiphi | 

@BeePotato

Oui bon d’accord mais entre le chantier interdit au public et l’immeuble habitable dans lequel il reste des finitions en cours il y a de nombreux niveaux de work in progress.

avatar Robosoft | 

Flight simulator sur Mac : possible ?

avatar Nesus | 

@Robosoft

C’est déjà possible avec le cloud de Xbox dont le nom m’échappe encore.

avatar gyomg | 

sinon, il y a UTM (basé sur QEMU) pour émuler un PC X-86-64 sous Windows XP par exemple (ou pourquoi pas sous un macOS X86) sur un Mac M1… Pas encore testé chez moi, car toujours pas de Mac M1/M2.

avatar andr3 | 

@gyomg

J'utilise QEMU/UTM pour virtualiser un PC Windows X86_64, c'est pas très rapide, mais c'est exploitable pour mon usage (VPN à partir d'un Windows connu d'un domaine AD).

avatar Guizilla | 

@gyomg

Une pépite, qu’on peut modifier un peu comme on veut grâce aux arguments qu’on peut ajouter à la ligne de commande QEMU qu’UTM utilise mais c’est globalement super. Complet remplaçant de VMWare et Virtual Box, acteurs de ce marché de la virtualisation depuis moult années et qui n’en ont pas profité pour finir cette émulation qui nous est vraiment utile aujourd’hui.

avatar jerome74 | 

Petite nuance quand même: ça ne marche que pour des VM Linux... Oubliez donc l'idée de faire tourner des apps Windows intel, même 64-bit, avec un Windows ARM

avatar Frodon | 

@jerome74

en même temps y’a déjà ce qu’il faut pour ça dans Windows ARM. Même si probablement pas encore aussi performant que Rosetta 2.

avatar Guizilla | 

@Frodon

Exactement, c’est déjà plus ou moins inclus. Dernièrement testé mais j’ai un problème avec PowerBI notamment, il m’affiche qu’il me manque une DLL avec la version 64 buts, j’ai pas pris le temps de creuser pour le moment mais si vous êtes déjà passés par là, je suis preneur 🙋‍♂️

avatar Dros | 

de quoi faire tourner SteamOS (basé sur ArchLinux) sur un Mac Apple Silicon ou pas ? :)

CONNEXION UTILISATEUR