Vue normale

Asahi Linux progresse sur les Mac Apple Silicon avec le support de la puce M3

7 septembre 2026 à 09:20
Travail ingrat
Asahi Linux progresse sur les Mac Apple Silicon avec le support de la puce M3

Cette distribution Linux se destine avant tout aux Mac équipés de puces Apple Silicon, que l’entreprise a inaugurées il y a six ans avec sa puce M1. Alors que les premières machines M6 sont depuis peu sur le marché, Asahi annonce la prise en charge des puces M3. Mais attention, il reste beaucoup de travail.

Asahi Linux vise à porter Linux sur les Mac équipés de puces Apple Silicon. Il s’agit d’un travail de titan, car l’architecture d’Apple n’est pas ouverte. Les développeurs procèdent donc par tâtonnement et rétro-ingénierie, sans aucune documentation technique pour les y aider. Apple n’a aucun intérêt en effet à documenter sa technologie, puisqu’elle est la seule à l’utiliser et qu’elle est consciente des très bonnes performances de ses puces, constituant un avantage concurrentiel certain.

Pour avancer, les développeurs doivent ainsi analyser les microprogrammes (firmwares), la mémoire et le comportement des composants (contrôleur d’affichage, processeur de sécurité, contrôleur mémoire unifiée, etc.). Il faut ensuite en déduire un fonctionnement reproductible pour l’intégrer dans un système d’exploitation libre. La distribution de référence est Fedora Asahi Remix, mais le travail effectué est notamment repris dans le noyau Linux.

Un gros pas vers les puces M3

Comme indiqué par Phoronix le 6 septembre, le support officiel des Mac équipés de puces Apple M3 (M3, M3 Pro, M3 Max) vient d’être intégré à l’installateur du projet. Seule exception, la version Ultra de la puce, que l’on peut retrouver dans le Mac Studio dans sa configuration maximale.

Le niveau de prise en charge est proche de celui déjà obtenu sur les puces M1 et M2 (et leurs variantes). Le support comprend notamment la webcam, les microphones intégrés, l’USB, le décodage vidéo matériel avec support de l’AV1, le Wi-Fi et le Bluetooth.

Attention cependant, car les mêmes limites initiales qu’avec les générations M1 et M2 recommencent, à cause de deux composants qui donnent du fil à retordre aux développeurs. D’abord, le contrôleur d’affichage (DCP, Display Controller Processor), un coprocesseur dédié et propriétaire introduit avec la puce A14 (iPhone 12). Son support n’est que très partiel, car il a fallu passer par un hyperviseur interceptant les appels entre macOS et la puce. En conséquence, la machine ne peut pas être mise en veille et le HDMI ne fonctionne pas.

De même, le support du GPU reste expérimental. Les performances sont donc très limitées et son utilisation consomme beaucoup plus d’énergie qu’elle ne le devrait. Lors de la conférence X.Org qui se tiendra du 28 au 30 septembre, une partie de l’équipe de développement viendra rendre compte des progrès accomplis sur ce point.

Un travail de longue haleine.

Dans le billet d’annonce sur le site officiel de la distribution, James Calligeros (l’un des développeurs d’Asahi) indique cependant que l’équipe aura davantage d’informations sur ces sujets dans les mois à venir. Comme avec les générations M1 et M2, il est très probable que les développeurs finiront par obtenir le support complet du GPU et du DCP. Sur les deux premières générations, GPU a atteint la conformité officielle (auprès du Khronos Group) pour OpenGL 4.6, OpenCL 3.0 et Vulkan 1.3 (ainsi qu’OpenGL ES 3.2)

Le travail reste cependant « ingrat », car il faut recommencer à chaque nouvelle génération de puces, à cause des changements d’architecture et autres améliorations apportées chaque année. Il en ira de même pour le support des puces M4.

En outre, il faut garder en tête que « pleinement fonctionnel » a une définition particulière dans le cadre d’Asahi. L’appellation indique surtout que toutes les fonctions de base sont supportées et que la machine a, dans l’ensemble, le comportement que l’on peut en attendre dans une utilisation quotidienne. Des fonctions restent indisponibles, comme le HDR ou certaines configurations Thunderbolt (pour les machines qui l’ont).

Une lente intégration dans le noyau Linux

Une partie du travail réalisé par les développeurs d’Asahi atterrit ensuite dans le noyau Linux lui-même. Le processus est bien sûr plus lent et sélectif, car seuls les composants jugés suffisamment matures sont intégrés. Ils sont alors soumis aux mainteneurs des sous-systèmes concernés (DRM pour l’affichage, IOMMU pour la gestion mémoire, etc.), selon le processus habituel de relecture par correctifs.

On retrouve ainsi des composants comme le pilote DCP de base, le contrôleur IOMMU pour la mémoire, le pilote SMC (contrôleur de gestion système) ou encore les contrôleurs GPIO. Le pilote graphique complet, en revanche, n’en fait pas partie. D’une part, il est nettement plus volumineux que les autres composants.

D’autre part, il est en grande partie écrit en Rust, ce qui avait soulevé des tensions sur les discussions d’intégration au noyau. Ces tensions avaient poussé Hector Martin, fondateur et responsable historique du projet, à démissionner de son rôle de mainteneur et de la direction. La décision était intervenue notamment à la suite de remontrances de Linus Torvalds. Ce dernier indiquait alors ne pas être contre Rust dans le noyau (le code Rust y est en augmentation depuis trois ans), mais il n’avait pas apprécié qu’Hector Martin passe par les réseaux sociaux pour tenter de convaincre la communauté.

Asahi Linux progresse sur les Mac Apple Silicon avec le support de la puce M3

7 septembre 2026 à 09:20
Travail ingrat
Asahi Linux progresse sur les Mac Apple Silicon avec le support de la puce M3

Cette distribution Linux se destine avant tout aux Mac équipés de puces Apple Silicon, que l’entreprise a inaugurées il y a six ans avec sa puce M1. Alors que les premières machines M6 sont depuis peu sur le marché, Asahi annonce la prise en charge des puces M3. Mais attention, il reste beaucoup de travail.

Asahi Linux vise à porter Linux sur les Mac équipés de puces Apple Silicon. Il s’agit d’un travail de titan, car l’architecture d’Apple n’est pas ouverte. Les développeurs procèdent donc par tâtonnement et rétro-ingénierie, sans aucune documentation technique pour les y aider. Apple n’a aucun intérêt en effet à documenter sa technologie, puisqu’elle est la seule à l’utiliser et qu’elle est consciente des très bonnes performances de ses puces, constituant un avantage concurrentiel certain.

Pour avancer, les développeurs doivent ainsi analyser les microprogrammes (firmwares), la mémoire et le comportement des composants (contrôleur d’affichage, processeur de sécurité, contrôleur mémoire unifiée, etc.). Il faut ensuite en déduire un fonctionnement reproductible pour l’intégrer dans un système d’exploitation libre. La distribution de référence est Fedora Asahi Remix, mais le travail effectué est notamment repris dans le noyau Linux.

Un gros pas vers les puces M3

Comme indiqué par Phoronix le 6 septembre, le support officiel des Mac équipés de puces Apple M3 (M3, M3 Pro, M3 Max) vient d’être intégré à l’installateur du projet. Seule exception, la version Ultra de la puce, que l’on peut retrouver dans le Mac Studio dans sa configuration maximale.

Le niveau de prise en charge est proche de celui déjà obtenu sur les puces M1 et M2 (et leurs variantes). Le support comprend notamment la webcam, les microphones intégrés, l’USB, le décodage vidéo matériel avec support de l’AV1, le Wi-Fi et le Bluetooth.

Attention cependant, car les mêmes limites initiales qu’avec les générations M1 et M2 recommencent, à cause de deux composants qui donnent du fil à retordre aux développeurs. D’abord, le contrôleur d’affichage (DCP, Display Controller Processor), un coprocesseur dédié et propriétaire introduit avec la puce A14 (iPhone 12). Son support n’est que très partiel, car il a fallu passer par un hyperviseur interceptant les appels entre macOS et la puce. En conséquence, la machine ne peut pas être mise en veille et le HDMI ne fonctionne pas.

De même, le support du GPU reste expérimental. Les performances sont donc très limitées et son utilisation consomme beaucoup plus d’énergie qu’elle ne le devrait. Lors de la conférence X.Org qui se tiendra du 28 au 30 septembre, une partie de l’équipe de développement viendra rendre compte des progrès accomplis sur ce point.

Un travail de longue haleine.

Dans le billet d’annonce sur le site officiel de la distribution, James Calligeros (l’un des développeurs d’Asahi) indique cependant que l’équipe aura davantage d’informations sur ces sujets dans les mois à venir. Comme avec les générations M1 et M2, il est très probable que les développeurs finiront par obtenir le support complet du GPU et du DCP. Sur les deux premières générations, GPU a atteint la conformité officielle (auprès du Khronos Group) pour OpenGL 4.6, OpenCL 3.0 et Vulkan 1.3 (ainsi qu’OpenGL ES 3.2)

Le travail reste cependant « ingrat », car il faut recommencer à chaque nouvelle génération de puces, à cause des changements d’architecture et autres améliorations apportées chaque année. Il en ira de même pour le support des puces M4.

En outre, il faut garder en tête que « pleinement fonctionnel » a une définition particulière dans le cadre d’Asahi. L’appellation indique surtout que toutes les fonctions de base sont supportées et que la machine a, dans l’ensemble, le comportement que l’on peut en attendre dans une utilisation quotidienne. Des fonctions restent indisponibles, comme le HDR ou certaines configurations Thunderbolt (pour les machines qui l’ont).

Une lente intégration dans le noyau Linux

Une partie du travail réalisé par les développeurs d’Asahi atterrit ensuite dans le noyau Linux lui-même. Le processus est bien sûr plus lent et sélectif, car seuls les composants jugés suffisamment matures sont intégrés. Ils sont alors soumis aux mainteneurs des sous-systèmes concernés (DRM pour l’affichage, IOMMU pour la gestion mémoire, etc.), selon le processus habituel de relecture par correctifs.

On retrouve ainsi des composants comme le pilote DCP de base, le contrôleur IOMMU pour la mémoire, le pilote SMC (contrôleur de gestion système) ou encore les contrôleurs GPIO. Le pilote graphique complet, en revanche, n’en fait pas partie. D’une part, il est nettement plus volumineux que les autres composants.

D’autre part, il est en grande partie écrit en Rust, ce qui avait soulevé des tensions sur les discussions d’intégration au noyau. Ces tensions avaient poussé Hector Martin, fondateur et responsable historique du projet, à démissionner de son rôle de mainteneur et de la direction. La décision était intervenue notamment à la suite de remontrances de Linus Torvalds. Ce dernier indiquait alors ne pas être contre Rust dans le noyau (le code Rust y est en augmentation depuis trois ans), mais il n’avait pas apprécié qu’Hector Martin passe par les réseaux sociaux pour tenter de convaincre la communauté.

❌