Si Apple a fourni les briques aux développeurs pour porter d'autres OS sur ses Mac Apple Silicon, la société ne fournit pas pour autant les pilotes. Et le monde GNU/Linux dépend donc de développeurs de talents pour profiter des puces d'Apple. Alyssa Rosenzweig, embauchée récemment par Valve, a annoncé que le pilote des GPU des puces Apple M1 et M2 était maintenant entièrement compatible avec l'API OpenGL ES 3.1.
Valve embauche la développeuse des pilotes graphiques d'Asahi Linux pour son Steam Deck
Ce point nécessite quelques explications. OpenGL ES est une version réduite de l'API graphique, pensée pour les appareils mobiles. Pendant longtemps, les jeux iOS ont reposé sur cette API, avant qu'Apple développe Metal, sa propre API graphique. OpenGL ES est supervisé par le groupe Khronos, qui propose des tests pour vérifier la qualité du pilote. Et comme l'explique Alyssa, il a passé tous les tests nécessaires pour montrer qu'il fonctionne correctement. Les pilotes conformes sont listés sur le site du groupe, et cette certification indique que le comportement est celui attendu. Si vous connaissez un peu le monde des pilotes graphiques (et plus spécifiquement celui des puces Android), vous avez compris que c'est une étape importante. En effet, les pilotes des différents GPU mobiles sont rarement certifiés, ce qui implique parfois des bugs ou des fonctions absentes.
Le point intéressant dans cette certification, c'est que le pilote d'Alyssa est dans un sens plus avancé que celui d'Apple, qui n'est pas dans la liste du groupe Khronos. Une des raisons est évidente : OpenGL et OpenGL ES ont été abandonnés par Apple et ne sont présents que pour des raisons de compatibilité. La seconde, c'est que les deux API n'évoluent plus et sont remplacées peu à peu par Vulkan, qu'Apple ne prend pas en charge.
Et la suite ?
Alyssa explique évidemment que le but n'est pas de se limiter à OpenGL ES 3.1, et la compatibilité Vulkan semble être dans les tuyaux. De même, la compatibilité avec OpenGL ES 3.2 est aussi prévue, mais elle nécessite un peu de travail. En effet, certaines des fonctions nécessaires pour la certification ne sont pas disponibles matériellement dans les GPU d'Apple, ce qui nécessite un peu de travail et de rétro-ingénierie pour comprendre le fonctionnement des GPU… et profiter de certaines instructions non documentées et issues des GPU PowerVR d'Imagination Technologies. Enfin, elle rappelle qu'il suffit de mettre à jour votre distribution GNU/Linux pour profiter de ce pilote.
Asahi Linux s’associe à Fedora pour proposer une distribution Linux optimisée pour les Mac