Après avoir annoncé pas mal de nouveautés récemment, le projet Asahi Linux vient de faire un grand pas en avant : la prise en charge des GPU Apple avec une accélération (partielle) de l'affichage.
Le premier article explique avec beaucoup de détails le fonctionnement des GPU d'Apple, et il y a une chose à bien comprendre : Apple utilise une architecture atypique. Pour résumer, il y a un coprocesseur ARM, l'ASC, qui se place entre le GPU et le système d'exploitation. Ce coprocesseur exécute son propre OS temps réel (RTKit)1 et gère en réalité les appels à la partie graphique. Cet intermédiaire a obligé Alyssa Rosenzweig et Asahi Linya à développer un pilote dans un langage inhabituel : Rust. En effet, le langage de Mozilla est nettement plus adapté que le C pour l'architecture choisie par Apple.
Dans le second, les développeurs expliquent que le pilote est actuellement capable de prendre en charge les API OpenGL 2.1 et OpenGL ES 2.0, ce qui est suffisant pour obtenir une accélération matérielle sur les environnements de bureau et sur de vieux titres, comme Quake III Arena. Pour rappel, ce jeu a fait les beaux jours des Power Mac G4 il y a une grosse vingtaine d'années, quand certains développeurs s'intéressaient encore un peu aux Mac.
Si vous ne suivez pas l'actualité des versions des API, OpenGL est actuellement en version 4.6 (la 2.1 date de 2006) et OpenGL ES — son pendant simplifié pour les appareils mobiles — est en version 3.2. Les deux API sont considérées comme obsolètes (même si encore utilisées) et celle qui les remplace porte le nom de Vulkan. Il s'agit bien évidemment d'une des prochaines étapes dans le développement d'Asahi Linux. Les instructions nécessaires à l'installation du pilote sont disponibles sur le site du projet, pour les quelques personnes assez aventureuses pour tenter d'installer GNU/Linux sur un Mac Apple Silicon.