Ouvrir le menu principal

MacGeneration

Recherche

Certaines fonctions des Apple M1 et M2 marchent sous Linux… et pas sous macOS

Pierre Dandumont

vendredi 10 février 2023 à 14:30 • 17

Mac

C'est le développeur Hector Martin qui le pointe sur Mastodon : les puces M1 et M2 contiennent des fonctions qu'Asahi Linux peut utiliser… et que macOS ne supporte pas, ce qui peut sembler étonnant.

Des fonctions liées à la virtualisation

Le premier point dans sa liste est le « Virtual GIC Interrupt Controller », présent dès les puces M1 mais inutilisé. GIC signifie Generic Interrupt Controller et c'est une fonction liée à la virtualisation dans les CPU ARM. Très schématiquement, une interruption est un signal émis par le matériel qui va autoriser l'arrêt du programme en cours pour exécuter une tâche importante. Le vGIC permet de transférer les interruptions directement vers la machine virtuelle pour de meilleures performances, mais les API d'Apple n'en profitent pas et passent par un traitement logiciel, plus long. Hector donne probablement une des raisons dans les réponses à son thread : la fonction a des bugs, qui sont pris en compte par GNU/Linux.

Le logo d'Asahi Linux.

Le second point est la Nested Virtualization, virtualisation imbriquée en français. Elle a été ajoutée dans les puces M2 et — comme son nom l'indique — elle autorise l'exécution d'une machine virtuelle dans une machine virtuelle. Elle a peu d'intérêt pour un usage grand public, mais est attractive dans le monde professionnel.

Le troisième point n'est pas lié à la virtualisation, mais à une faille connue : Spectre v2. Les puces M2 contiennent en effet un mécanisme pour éviter les attaques reliées à la Branch Target Injection (BTI). Essayons de faire simple, même si ça ne l'est pas : les processeurs modernes sont dits « OoO », c'est-à-dire Out-of-Order. De façon très basique, ils n'exécutent pas les instructions dans l'ordre d'arrivée, mais tentent de les placer dans le meilleur ordre possible et (surtout) s'efforcent de prédire les instructions suivantes pour améliorer le rendement.

Apple a oublié de mentionner certaines fonctions.

Cette prédiction de branchement est efficace dans une grande partie des cas : le processeur prédit les bonnes instructions et peut les exécuter rapidement. Mais sans entrer dans les détails, certaines des prédictions ratées permettent à un programme malicieux de lire des données qui ne lui sont pas destinées en utilisant des défauts de ce mécanisme et les failles Spectre se basent sur ce point.

Avec les M2, Apple a intégré une correction matérielle qui empêche l'exploitation de ce type de faille, mais le noyau de macOS n'en profite pas encore, contrairement à Fedora Asahi. Hector Martin pointe aussi le fait que le moteur JavaScriptCore d'Apple ne gère pas la fonction, alors même qu'il s'agit d'un type d'application extrêmement sensible à ce type de problèmes. Hector explique d'ailleurs que l'utilisation du BTI avec JavaScriptCore pose des soucis avec Fedora Asahi précisément à cause de l'absence de prise en charge.

Apple garde parfois certaines fonctions pour plus tard

Les exemples donnés sont intéressants, parce qu'ils sont variés. Dans le premier cas, l'absence est vraisemblablement liée aux bugs de la fonction1. Pour le troisième, le développement des puces et ceux des logiciels qui pourraient en profiter ne sont pas nécessairement synchronisés.

Dans la pratique, les développements liés au matériel n'ont pas les mêmes contraintes que ceux attachés aux OS et les calendriers des sorties matérielles ne sont pas les mêmes que ceux des sorties logicielles. Nous pouvons supposer que la virtualisation imbriquée sera peut-être mise en avant avec le futur Mac Pro ARM. Accessoirement, certaines fonctions liées à la virtualisation font probablement partie du jeu d'instruction lui-même, ce qui oblige Apple à les gérer pour des raisons contractuelles.

Enfin, il faut rappeler qu'Apple a parfois tendance à garder des fonctionnalités en réserve pour le futur. L'exemple le plus récent est celui du HomePod mini : le capteur de température et d'humidité existe depuis le lancement (2020) mais n'a été activé que cette année.

Le HomePod mini mesure l

Le HomePod mini mesure l'humidité et la température avec la version 16.3 de son logiciel


  1. Les CPU peuvent avoir des bugs, qui sont soit corrigés logiciellement avec ce qu'on appelle du microcode, soit avec une nouvelle révision de la puce.  ↩︎

Ajouter ce site dans Google News

Avec cet adaptateur, votre iPhone devient un outil de diagnostic auto !

08/09/2026 à 21:00

• 0


L’Apple Watch prête à en découdre avec Oura et Whoop ?

08/09/2026 à 20:58

• 5


iOS 27 approche, mais commencez par installer iOS 26.6.2 pour éviter une déconvenue

08/09/2026 à 20:41

• 12


L’iPhone Ultra serait en préparation depuis dix ans, poussé notamment par Tim Cook

08/09/2026 à 20:41

• 32


Test du chargeur Ugreen Nexode Pro 160 W : écran, Wi-Fi, câble rétractable… la surenchère assumée

08/09/2026 à 20:30

• 12


Apple a racheté Sonera, spécialiste des capteurs neuronaux non invasifs

08/09/2026 à 16:54

• 9


TV LG : des failles permettent d’écouter la pièce même écran éteint 🆕

08/09/2026 à 16:46

• 98


Dacia casse de nouveau les prix : la nouvelle Spring peut débuter sous 12 000 € en France 🆕

08/09/2026 à 14:55

• 59


Google prévient que son moteur de recherche va se dégrader en Europe

08/09/2026 à 14:42

• 47


La Suisse prépare un plan B open source face à Microsoft 365

08/09/2026 à 11:41

• 66


Logitech présente le MX Keypad, un pavé de commandes pour l’IA (et tout le reste)

08/09/2026 à 10:24

• 10


iPhone 18 Pro : prix, design, photo, puce… le grand récap des dernières rumeurs avant le keynote

08/09/2026 à 08:32

• 29


Ubiquiti lance des packs Wi-Fi maillés plus accessibles pour la maison

08/09/2026 à 08:12

• 58


La RAM devrait « seulement » augmenter de 13 à 18 % au troisième trimestre

08/09/2026 à 07:10

• 12


Emmanuel Macron veut offrir à la France son « Cannes du jeu vidéo »

08/09/2026 à 06:39

• 62


Apple Watch Ultra 4 : le point sur les nouveautés attendues avant sa présentation

08/09/2026 à 06:38

• 20