Sur la liste de diffusion des développeurs du noyau Linux, une implémentation préliminaire du pilote drm-asahi pour les GPU Apple AGX des séries G13 et G14, utilisés dans les puces Apple M1 et M2, a été proposée. Le pilote est écrit en Rust et inclut également un ensemble de liaisons génériques pour le sous-système DRM (Direct Rendering Manager), qui peuvent être utilisées pour développer d'autres pilotes graphiques en Rust. Le jeu de correctifs publié est actuellement proposé uniquement pour discussion parmi les développeurs du noyau (RFC), mais il pourrait être intégré au noyau principal après l'achèvement de la révision et la correction des défauts identifiés.
Depuis décembre, le pilote fait partie du paquet du noyau pour la distribution Asahi Linux et a été testé par les utilisateurs de ce projet. Le pilote peut être utilisé dans les distributions Linux pour faire fonctionner l'interface graphique sur des appareils Apple équipés de SoC M1, M1 Pro, M1 Max, M1 Ultra et M2. Dans le développement du pilote, une tentative a été faite non seulement pour améliorer la sécurité en minimisant les erreurs de manipulation de mémoire dans le code exécuté par le CPU, mais aussi pour fournir une protection partielle contre les problèmes survenant lors des interactions avec le firmware. En particulier, le pilote offre certaines liaisons pour des structures de mémoire partagée non sécurisées avec des chaînes de pointeurs complexes utilisées dans le firmware pour interagir avec le pilote.
Le pilote proposé est utilisé en conjonction avec le pilote Mesa asahi, qui fournit un support OpenGL dans l'espace utilisateurs et réussit les tests de compatibilité avec OpenGL ES 2 et est presque prêt pour le support d'OpenGL ES 3.0. Parallèlement, le pilote fonctionnant au niveau du noyau est initialement développé en tenant compte du futur support de l'API Vulkan, et l'interface logicielle pour interagir avec l'espace utilisateurs est conçue en tenant compte de l'UAPI fourni par le nouveau pilote Intel Xe.
Source : opennet.ru
