Le support OpenGL du projet Asahi Linux sur Apple Silicon dépasse officiellement celui d’Apple.

Depuis environ trois ans maintenant, l’équipe de développeurs indépendants du projet Asahi Linux travaille pour prendre en charge Linux sur les Mac Apple Silicon, malgré l’absence totale d’implication d’Apple. Au fil des années, le projet est passé d’une « expérience très instable » à un « système d’exploitation de bureau étonnamment fonctionnel et utilisable ». Même Linus Torvalds l’a utilisé pour exécuter Linux sur le matériel d’Apple. L’équipe a régulièrement amélioré son pilote GPU open source, conforme aux normes, pour le M1 et le M2 depuis leur sortie en décembre 2022 et aujourd’hui, l’équipe a franchi une étape symbolique importante : le support du pilote Asahi pour les graphismes OpenGL et OpenGL ES a officiellement dépassé ce qu’Apple propose dans macOS. Le dernier pilote graphique de l’équipe est entièrement conforme à la version 4.6 d’OpenGL et à la version 3.2 d’OpenGL ES, la version la plus récente de chaque API. Le support d’Apple dans macOS se limite à OpenGL 4.1, annoncé en juillet 2010. La développeuse Alyssa Rosenzweig a rédigé un billet de blog détaillé annonçant le nouveau pilote, qui a dû passer « plus de 100 000 tests » pour être officiellement conforme. L’équipe a atteint cet objectif malgré le fait que les GPU d’Apple ne prennent pas en charge certaines fonctionnalités qui auraient facilité la mise en œuvre de ces API. « Malheureusement, le M1 ne correspond pas bien à une norme graphique plus récente qu’OpenGL ES 3.1 », écrit Rosenzweig. « Bien que Vulkan rende certaines de ces fonctionnalités facultatives, les fonctionnalités manquantes sont nécessaires pour superposer DirectX et OpenGL. Aucune solution existante sur le M1 ne dépasse l’ensemble des fonctionnalités d’OpenGL 4.1… Sans support matériel, de nouvelles fonctionnalités nécessitent de nouvelles astuces. Les shaders de géométrie, le tessellement et le feedback de transformation deviennent des shaders de calcul. La distance de refoulement devient une valeur interpolée transformée. Le contrôle de clip devient une épilogue de vertex shader. La liste est longue. » Maintenant que le pilote GPU Asahi prend en charge les dernières normes OpenGL et OpenGL ES, publiées respectivement en 2017 et 2015, le travail se concentre sur la prise en charge de l’API Vulkan à faible surcharge sur le matériel d’Apple. Le support de Vulkan dans macOS est limité aux couches de traduction comme MoltenVK, qui traduit les appels d’API Vulkan en appels Metal que le matériel et le système d’exploitation peuvent comprendre.

Share the Post: