Le noyau Linux aura bientôt un premier support pour le chipset M1 d'Apple

La version 5.13 du noyau Linux ajoutera la prise en charge initiale de la puce Apple M1, le premier SoC de classe ordinateur de bureau sous la conception Apple Silicon.

Apple a dévoilé l'année dernière son premier système sur puce de bureau, l'Apple M1, basé sur la même architecture ARM que la plupart des smartphones et tablettes. Alors que Linux fonctionne bien sur les appareils ARM (comme le Raspberry Pi) depuis des années, le matériel d'Apple est fortement personnalisé et nécessite un support logiciel spécifique. Heureusement, nous sommes désormais sur le point d'exécuter Linux sur Apple Silicon.

Asahi Linux s'efforce d'apporter « une expérience Linux raffinée » aux Mac Apple Silicon et a soumis son code au projet Linux pour inclusion dans le noyau Linux officiel. Le travail initial du groupe a été fusionné dans la base de code Linux SoC et arrivera probablement dans le cadre de la prochaine mise à jour Linux 5.13.

Il est passionnant de voir le support initial du nouveau matériel d'Apple arriver dans le noyau Linux quelques mois seulement après le début de la livraison du premier matériel, mais le mot-clé est « initial ». Alors que Linux

techniquement démarre sur M1, nous sommes encore loin de brancher une clé USB Live et de cliquer sur un bouton d’installation. Le code actuel inclut la prise en charge des fonctionnalités de base de bas niveau, telles que multitraitement symétrique via des tables tournantes, Gestion des IRQ, des connexions série et un framebuffer. Linux peut démarrer à partir d'une invite de commande, mais pas grand-chose d'autre: il n'y a même pas encore de support graphique complet.

Linux sur Apple M1 Mac Mini (Crédit: Asahi Linux)

Alors que la prise en charge officielle du noyau pour le matériel M1 progresse à un rythme soutenu, certaines personnes ont réussi à se rapprocher d'une véritable expérience de bureau grâce à divers hacks. Corellium, une société de développement spécialisée dans la virtualisation ARM, a pu créer un Bureau Ubuntu utilisable sur le M1 Mac Mini. Cependant, la plupart des travaux de Corellium ne sont pas intégrés en amont au noyau Linux.

Corellium a expliqué en quoi l'architecture du M1 diffère des autres conceptions ARM dans un article de blog. "Le chargeur de démarrage, traditionnellement appelé iBoot, charge un fichier objet exécutable dans un format appelé Mach-O, éventuellement compressé et enveloppé dans un format wrapper signé ASN.1 appelé IMG4. À titre de comparaison, Linux normal sur ARM 64 bits démarre sous la forme d'une image binaire plate. » Le groupe a ajouté: « Si cela ne suffisait pas, Apple a conçu son propre contrôleur d'interruption, l'Apple Interrupt Controller (AIC), non compatible avec aucun des principaux ARM GIC normes. Et pas seulement cela: les interruptions de minuterie - normalement connectées à une interruption régulière par CPU sur ARM - sont à la place, acheminé vers le FIQ, une fonctionnalité architecturale absconse, vue plus fréquemment dans l'ancien ARM 32 bits jours."

Pommes Jeu de puces M1 est actuellement disponible sur les MacBook Air, MacBook Pro et Mac Mini. Il s'agit d'une puce de 5 nm avec huit cœurs au total: quatre cœurs hautes performances et quatre cœurs économes en énergie. Il existe également un moteur neuronal pour les tâches d'apprentissage automatique, ainsi qu'un GPU à huit cœurs. Apple a promis que le M1 offrirait de meilleures performances que les processeurs Intel précédemment utilisés tout en n'utilisant qu'environ un quart de la puissance, et plus tard. tests en situation réelle a soutenu ces affirmations. Heureusement, le M1 prend entièrement en charge le démarrage de noyaux non signés/personnalisés, donc l'exécution de Linux ne nécessite aucun exploit de sécurité qui pourrait être corrigé ultérieurement.

Le propre macOS d'Apple est déjà un excellent système d'exploitation, mais avoir Linux de bureau en option pourrait être un argument de vente solide pour certains acheteurs potentiels de MacBook et Mac Mini. Apple a été critiqué au fil des années pour avoir verrouillé certains aspects de macOS ou abandonné les normes multiplateformes au profit d'alternatives propriétaires. Par exemple, macOS ne prend toujours pas en charge l'API Vulkan multiplateforme pour les graphiques, uniquement la propre API Metal de l'entreprise.