La puce M2 d’Apple (s’ouvre dans un nouvel onglet) attire peut-être toute l’attention en ce moment, mais le M1 n’est pas encore mort. Le projet Windows M1 (s’ouvre dans un nouvel onglet)dont la nouvelle nous parvient via Liliputing (s’ouvre dans un nouvel onglet)travaille sur un moyen de démarrer le système d’exploitation Microsoft préféré de tous sur les Mac M1, ce qui n’est généralement pas autorisé en dehors des machines virtuelles (s’ouvre dans un nouvel onglet).
Il y a eu beaucoup de travail pour faire démarrer Linux (s’ouvre dans un nouvel onglet) nativement sur le M1, et un certain succès aussi, ce qui signifie que le développeur Arminder Singh n’a pas à démarrer son projet entièrement à partir des premiers principes. Et bien que Windows prenne en charge les puces Arm dans ses dernières versions, ce n’est pas nécessairement très utile, comme le note Singh sur son site : « Les puces d’Apple sont architecturalement très différentes des puces ARM64 standard d’entreprises comme Qualcomm ou MediaTek et de nombreux besoins d’activation matérielle à faire en conséquence. »
Singh identifie deux fonctionnalités de la puce M1 qui rendent difficile l’exécution native de Windows : le contrôleur d’interruption, qui est présent sur la puce Apple sous une forme non standard dont le noyau Windows ne sait pas quoi faire, et l’IOMMU (unité de gestion de mémoire d’entrée-sortie) qui présente des défis liés aux tailles de page lors de la communication avec le matériel. Une fois ceux-ci résolus, tout le matériel spécifique à Apple sur le Mac nécessitera l’écriture d’un pilote, ou du moins pour les éléments qui ne peuvent pas être résolus avec l’ACPI (Advanced Configuration and Power Interface).
Il y a une section extrêmement intéressante sur le site de Singh concernant l’utilisation d’un hyperviseur léger (m1n1, le bootloader tiré du Asahi Linux (s’ouvre dans un nouvel onglet) projet) pour lancer le micrologiciel UEFI de Windows afin de gérer le problème du contrôleur d’interruption – cela permettrait à Windows de fonctionner à proximité du métal nu, mais cela signifierait que le système d’exploitation ne pourrait pas exécuter lui-même les machines virtuelles. Mais bien sûr, il y a des bizarreries et des problèmes.
Singh travaille actuellement à la mise à jour de m1n1 et de son hyperviseur pour mieux gérer le démarrage de l’UEFI et de Windows, y compris la configuration du vGIC dans EL1. Il travaille également sur l’obtention du projet Mu de Microsoft (s’ouvre dans un nouvel onglet) compilé pour les plates-formes M1. « Il n’y a aucune garantie que je serai en mesure de faire fonctionner Windows de manière optimale d’ici la fin », écrit Singh. « Mais je vais faire de mon mieux. »
Si vous voulez suivre Singh et son travail remarquable sur le M1 et Windows, retrouvez-le sur GitHub (s’ouvre dans un nouvel onglet) ou Twitter (s’ouvre dans un nouvel onglet).