Le projet Asahi Linux, porté par une équipe de développeurs indépendants, s’est engagé depuis trois ans dans la prise en charge de Linux sur les Mac Apple Silicon, sans implication d’Apple. Au fil du temps, le projet est passé d’une phase expérimentale instable à un système d’exploitation de bureau fonctionnel. Récemment, le pilote GPU Asahi a atteint une étape significative en dépassant officiellement la prise en charge d’OpenGL et OpenGL ES par Apple dans macOS. Le dernier pilote est conforme aux versions 4.6 d’OpenGL et 3.2 d’OpenGL ES, tandis qu’Apple se limite à OpenGL 4.1 depuis 2010.
La développeuse Alyssa Rosenzweig a annoncé en 2022 la disponibilité des pilotes de GPU d’Apple dans Asahi Linux. « Nous sommes ravis d’annoncer la sortie de notre premier pilote pour le GPU Apple ! Nous avons travaillé dur ces deux dernières années pour apporter ce nouveau pilote à tout le monde, et nous sommes vraiment fiers d’y arriver enfin. Il s’agit encore d’un pilote en version alpha, mais il est déjà suffisamment performant pour permettre une utilisation fluide du bureau et de certains jeux. »
Asahi Linux est un projet de portage, visant à développer la prise en charge de Linux sur les Macs utilisant une puce Apple Silicon, leur permettant d’exécuter un système d’exploitation alternatif en plus de macOS. Le projet de conception du logiciel est lancé et dirigé par Hector Martin.
Dans un billet de blog, Alyssa Rosenzweig a publié une annonce détaillée sur le nouveau pilote, qui a été soumis à « plus de 100 000 tests » pour obtenir une conformité officielle. Cette étape a été franchie malgré les limitations des GPU d’Apple qui ne prennent pas en charge certaines fonctionnalités, compliquant ainsi l’implémentation de ces API.
Pendant de nombreuses années, le M1 a été limité à la prise en charge d’OpenGL 4.1. Cependant, cette situation évolue aujourd’hui avec l’introduction d’OpenGL 4.6 et d’OpenGL ES 3.2 ! Pour profiter de ces derniers pilotes pour la série M1/M2, installez simplement Fedora. Si vous avez déjà effectué l’installation, une mise à jour est tout ce dont vous avez besoin (utilisez la commande dnf upgrade –refresh). Contrairement aux pilotes 4.1 non conformes fournis par le fabricant, les pilotes open source Linux de Rosenzweig sont en totale conformité avec les versions les plus récentes d’OpenGL. Cela promet enfin une compatibilité étendue avec les charges de travail OpenGL modernes, comme Blender, Ryujinx et Citra.
Les M1 et M2 sont des systèmes sur puce conçus par Apple. Ils sont basés sur l’architecture ARM et fabriqués par TSMC à l’aide de son processus de fabrication à cinq nanomètres. Le M2, lancé en 2022, est une évolution du M1. Il existe actuellement quatre versions du M1 (M1, M1 Pro, M1 Max et M1 Ultra) et seulement trois versions du M2 (M2, M2 Pro et M2 Max).
Outre le Mac, les M1 et M2 sont utilisés dans la gamme iPad d’Apple, en remplacement des puces de la série A qui étaient auparavant utilisées à la fois dans l’iPhone et l’iPad. La prise en charge d’iPadOS et de macOS et la similitude avec les puces de la série A sur lesquelles fonctionne iOS ont rapproché encore davantage les trois appareils principaux d’Apple, permettant aux mêmes fonctionnalités d’apparaître dans les applications sur les trois plates-formes.
Les pilotes conformes aux normes 4.6/3.2 doivent passer plus de 100 000 tests pour garantir leur exactitude. La liste officielle des pilotes conformes inclut désormais les pilotes OpenGL 4.6 et ES 3.2.
Malgré les limitations matérielles des GPU d’Apple, l’équipe a réussi à implémenter ces fonctionnalités manquantes, nécessitant des astuces telles que la transformation de shaders de géométrie et la conversion de fonctionnalités manquantes en shaders de calcul. Le projet vise désormais à prendre en charge l’API Vulkan à faible coût sur le matériel d’Apple.
La prise en charge d’OpenGL par Apple est restée figée à la version 4.1 depuis 2013, avec un accent sur l’API graphique Metal. Bien que déclaré déprécié en 2018, Apple maintient le support d’OpenGL sans mise à jour, même après la transition vers ses propres processeurs et GPU.
En plus d’améliorer la prise en charge des API graphiques, le projet Asahi travaille sur la prise en charge des nouvelles puces Mac M3, bien que cela nécessite au moins six mois. Actuellement, le projet Asahi offre un support notable pour les Mac M1 et M2, avec des fonctionnalités telles que la webcam, les haut-parleurs, le Wi-Fi et le Bluetooth, ainsi que l’accélération graphique. Cependant, certaines fonctionnalités comme Thunderbolt, l’utilisation d’écrans via USB-C, le microphone intégré et Touch ID ne sont pas encore opérationnelles.
La dépréciation d’OpenGL par Apple crée un débat autour des choix techniques d’Asahi Linux
Le projet Asahi Linux attire une reconnaissance méritée pour les progrès significatifs qu’il a réalisés dans l’intégration de Linux sur les Mac Apple Silicon, une réalisation remarquable menée par une équipe de développeurs indépendants sans implication d’Apple. L’évolution du projet, passant d’une phase expérimentale instable à un système d’exploitation de bureau pleinement fonctionnel en trois ans, est indéniablement impressionnante.
Néanmoins, les opinions divergent. La dépréciation d’OpenGL par Apple en 2018 et la restriction du matériel M1 aux normes OpenGL plus anciennes (4.1) expliquent les défis rencontrés pour dépasser les fonctionnalités actuelles. Certains considèrent la dépréciation d’OpenGL comme logique, soulignant qu’OpenGL est une API graphique obsolète, et que la focalisation sur des alternatives modernes comme Metal vise à améliorer les performances graphiques et à réduire les contraintes liées aux anciennes API.
D’un autre côté, certains estiment que la dépréciation d’OpenGL a des répercussions négatives sur les logiciels de bureau, en particulier ceux qui dépendent de cette API. Certains jeux, dont Elite Dangerous sur Mac, ont perdu leur support en raison de cette décision. Pour ceux qui accordent de l’importance à la compatibilité avec un large éventail de logiciels existants, la dépréciation d’OpenGL peut être perçue comme une décision regrettable.
Le projet suscite également des interrogations quant à sa stabilité en tant que version alpha, des implications sur les logiciels de bureau, et des considérations techniques liées à la stabilité du nouveau pilote et aux efforts de rétro-ingénierie. La dépréciation d’OpenGL est une décision qui peut être considérée à la fois comme justifiée et critiquée, en fonction du point de vue et des priorités de chacun.
Sources : Rosenzweig(1, 2)