Windows 10 ARM sur M1 avec Parallels Desktop

Parallels Desktop en version ARM (pour M1) est disponible dans une version de test, et j’en ai profité pour la tester sur un Mac mini M1, avec Windows 10 ARM.

Avant de commencer, un mot sur Windows 10 ARM. je vais faire court, mais il y a un bon article chez MacG sur le sujet (et dans le Canard PC Hardware 46, aussi). Windows 10 ARM, donc, est un portage de Windows 10 pour les puces compatibles ARMv8 (ARM 64 bits). L’OS n’a que peu d’intérêt dans l’absolu, il faut bien le dire : par défaut, il exécute seulement les applications ARM (64 bits et 32 bits) et x86 (32 bits) en émulation, lentement. Une version de test (je vais y venir) ajoute le x86-64, mais c’est une bêta.

Le principal problème de Windows 10 ARM vient des performances, il faut bien le dire. Sur les « vrais » PC ARM, c’est lent avec des logiciels natifs, très lents avec du x86 (32 bits). Ca dépend un peu des machines, évidemment, mais les Snapdragon 835 sont à la limite de l’inutilisable, les Snapdragon 850 vaguement utilisables en natif, les Snapdragon 865 (et Microsoft SQ1/SQ2) corrects en natif. En émulation, ça va de horrible (Snapdragon 835) à médiocre. Il n’y a pas beaucoup de logiciels natifs, et la compatibilité est mimitée sur la 3D.

CPU-Z en 32 bits sur Surface Pro X


Le même sur un Mac mini M1

Dans une optique « Apple », Windows 10 ARM ne règle pas grand chose, en fait. Pour ceux qui veulent Windows pour jouer, c’est complètement mort : l’émulation couplée à la virtualisation (qui se limite à DirectX 11) rend le tout inutilisable, sauf pour de très vieux jeux. Et de toute façon, les Mac M1 actuels sont un peu légers pour les jeux vidéo dans l’absolu. Pour les applications plus professionelles, c’est vaguement passable mais pour le moment l’émulation est limitée officiellement au x86 (32 bits) et ça limite quand même bien la compatibilité. Et les performances en émulation restent faibles, c’est pataud.

Parallels Desktop pour M1

Pour le moment, la preview est fermée, mais il suffit de demander un accès chez Parallels. Cette version ne fonctionne que sur les Mac M1 et il peut y avoir des bugs. Le plus simple pour installer Windows 10 ARM est de partir sur cette image disque, proposée par Microsoft. Elle doit normalement être utilisée sur une plateforme officiellement supportée, mais ça passe. Il suffit de l’avoir sur le SSD et Parallels va proposer de l’utiliser (c’est mon cas) et régler l’OS correctement, notamment avec les outils de la société. Une fois que c’est fait, ça fonctionne assez bien, on peut partager des périphériques USB, glisser des fichiers de macOS à Windows, etc.

Les outils Parallels

C’est une Preview, donc c’est assez instable quand même. Le système a planté chez moi, de façon assez forte. Pour tout dire, j’ai dû réinstaller l’OS.

Oups

Par défaut, Parallels utilise deux coeurs pour Windows 10, et 3 Go de RAM. C’est peu, et ça limite encore un peu plus les performances en émulation. On peut évidemment monter à huit coeurs et 8 Go de RAM (sur un machine avec 8 Go) mais ça réduit les performances sous macOS. Et il ne faut pas oublier que le M1 est fondamentalement un CPU avec quatre coeurs (rapides) et quatre coeurs basse consommation. Passer de quatre à huit coeurs n’a pas un impact énorme en pratique en émulation.

La création de la machine virtuelle


On peut choisir le nombre de coeurs (et la RAM)

Limites et x86-64

Dans les limites actuelles, il y a de l’accélération 3D, mais elle est limitée à DirectX 11. Typiquement, le seul test de 3D Mark compatible ARM attend DirectX 12. Ca fonctionne à peu près en émulation, mais ça réduit un peu le nombre de jeux compatibles. Dans les autres trucs très relous, impossible de lancer le Microsoft Store, il plante direct. C’est du coup un peu compliqué d’avoir des applications ARM, vu qu’une partie est distribuée par ce biais. Le second souci, inhérent aux CPU d’Apple, c’est la compatibilité ARM 32 bits, absentes. C’est un souci parce qu’une partie des applications ARM natives sous Windows est encore compilée en 32 bits et pas en 64 bits (le problème du Store vient de là), et le M1 ne supporte pas ça (et ne le supportera pas, ce n’est pas un souci lié à la virtualisation, mais au CPU lui-même). J’expliquerais demain comment installer le Store, même si l’intérêt reste faible en pratique.

Windows 10 ARM avec x86-64

Pour le x86-64, il y a une solution récente. Attention, ça rend l’OS encore plus instable. Il faut passer dans le Dev Channel (et faire partie du programme Windows Insider) pour installer la version 21277. Elle prend en charge les applications x86-64, ce qui améliore un peu la compatibilité, mais ça reste lent et pataud dans la majorité des cas, il faut bien le dire. Disons que c’est suffisant pour des applications professionnelles pas trop lourdes.

Une bêta


Une bêta


Mise à jour en cours

Pour le moment, je reste assez dubitatif. Windows 10 ARM sur Mac M1 fonctionne à peu près, mais c’est plus ou moins inutilisable pour les jeux, un peu lent en émulation, et peu utile en pratique, en tout cas pour moi. Après, je suis dans un cas particulier, mais j’ai un PC pour les applications classiques (sous Windows 10) et la virtualisation me sert essentiellement pour de vieux OS… ce que le Mac M1 ne peut pas faire. Et il faut prendre en compte l’aspect financier : il faut payer Parallels (quand il sortira) qui vaut 80 €, et une licence de Windows 10. Ce point n’est pas très clair : Microsoft ne vend pas officiellement la version ARM, mais une clé Windows 10 classique semble être capable d’activer l’OS (donc il faut compter une centaine d’euros officiellement).

Quelques essais

J’en ai profité pour lancer quelques tests, dont une partie de ceux que j’avais fait sur la Surface Pro X pour Canard PC Hardware. Et si en natif, c’est correct (on reste un peu en deçà des performances sous macOS, mais c’est rapide tout de même), en émulation x86… c’est lent. Très lent. Au mieux au niveau d’un Pentium ou d’un Athlon récent, des puces d’entrée de gamme considérées comme lentes (et vendue une soixantaine d’euros). Et au pire nettement derrière, ça dépend un peu des cas. C’est poussif, pataud, comme sur un PC bas de gamme. Et je parle des résultats quand je mets quatre coeurs et 8 Go de RAM pour Windows, ce qui rend macOS peu utilisable en même temps que Windows. Si on garde les valeurs recommandées par Parallels (deux coeurs, 3 Go de RAM), c’est encore pire et n’importe quel PC à 200 ou 300 € sera plus efficace.

En natif avec quatre coeurs


La même chose en émulation x86-64


L’émulation x86-64 reste très lente


La 3D est possible, mais en DirectX 11 (et c’est assez lent)

Par contre, c’est nettement plus rapide que la Surface Pro X de Microsoft en natif (facilement deux fois) et l’émulation x86 s’approche des performances de la Surface Pro X en natif, ce qui montre surtout une chose : Microsoft a un problème.

C’est aussi assez instable, j’ai eu quelques applications qui plantaient, mais comme j’utilise une version bêta de Parallels avec un OS lui aussi en bêta, c’est pardonnable. Et on peut espérer que quand une version finale sortira, ce point sera réglé.

Vous verrez ça souvent

Tous ce que j’ai pu tester me conforte dans mon idée (après, je peux me tromper sur les usages) : Windows 10 ARM n’est pas une solution pour pallier l’absence de Windows 10 sur les Mac M1. Sauf si les besoins sont (très) légers, comme par exemple une application métier très spécifique, les performances en émulation sont bien trop faibles. On est au mieux au niveau d’un PC bas de gamme que je ne recommanderais pas dans Canard PC Hardware. Personnellement, je conseillerais même de partir sur un PC en plus d’un Mac si vous avez vraiment besoin de Windows (ou partir sur un PC tout court, en fait) plutôt que de vous infliger ça.