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.  ↩︎

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Un Steam Deck caché dans un clavier Apple pour l'utiliser avec des lunettes AR

13:00

• 2


En Allemagne, le Schleswig-Holstein va abandonner les outils Microsoft comme Teams ou Office

11:38

• 24


macOS Tahoe change plus facilement la couleur des LED des manettes de PlayStation

10:45

• 10


GlassBar opacifie déjà la barre des menus de macOS Tahoe

09:04

• 12


Nouveautés d’iOS 26, macOS Tahoe, Liquid Glass… Tous nos articles pour tout savoir sur la WWDC 2025

06:00

• 11


Les leçons de la WWDC 2025, et ce qu’elle laisse entrevoir de la suite : la semaine Apple

15/06/2025 à 21:00

• 39


Aperçu de Spotlight dans macOS Tahoe : le lanceur idéal pour débuter ?

14/06/2025 à 11:00

• 35


Sortie de veille : une WWDC 2025 réussie ? Notre débrief d’iOS 26, Liquid Glass…

14/06/2025 à 08:00

• 11


SAV : Apple lance un programme de réparation pour des Mac mini M2 qui ne s'allument plus

14/06/2025 à 07:38

• 41


Avec Tahoe, les applications macOS pourront s’afficher sur le Vision Pro

13/06/2025 à 21:57

• 17


Les Youtubeurs de Linus Tech Tips voulaient se moquer des Mac pendant un mois, mais décident finalement de rester chez Apple

13/06/2025 à 18:56

• 104


watchOS 26 : découverte de la nouvelle interface de l'app Exercice

13/06/2025 à 18:27

• 5


Découvrez le tout nouveau UPDF 2.0 – l’éditeur PDF ultime pour Mac et iOS !

13/06/2025 à 15:18

• 0


macOS 26 peut faire le ménage dans les icônes de la barre des menus

13/06/2025 à 14:52

• 11


Avec EnergyKit, Apple veut charger votre watture au moment le plus opportun

13/06/2025 à 13:45

• 13


3DMark, une référence pour comparer les performances des GPU, débarque sur Mac

13/06/2025 à 13:02

• 31