Το Asahi, ένα ανοιχτό πρόγραμμα οδήγησης για Apple AGX GPU, παρέχει υποστήριξη για OpenGL 4.6 και OpenGL ES 3.2 για τσιπ Apple M1 και M2. Αξίζει να σημειωθεί ότι τα εγγενή προγράμματα οδήγησης γραφικών για τα τσιπ M1 της Apple εφαρμόζουν μόνο τις προδιαγραφές OpenGL 4.1 και η υποστήριξη για OpenGL 4.6 ήταν η πρώτη που εμφανίστηκε σε ανοιχτό πρόγραμμα οδήγησης. Τα έτοιμα πακέτα προγραμμάτων οδήγησης περιλαμβάνονται ήδη στα αποθετήρια Fedora και είναι διαθέσιμα για χρήση σε μια εξειδικευμένη έκδοση του Fedora Asahi Remix 39, σχεδιασμένη για εγκατάσταση σε συστήματα με τσιπ Apple ARM.
Επιπλέον, η κοινοπραξία Khronos, η οποία αναπτύσσει πρότυπα γραφικών, έχει αναγνωρίσει την πλήρη συμβατότητα του ανοιχτού προγράμματος οδήγησης της Asahi για την GPU AGX, που παρέχεται σε τσιπ Apple M1 και M2, με τις προδιαγραφές OpenGL 4.6 και OpenGL ES 3.2. Ο οδηγός έχει περάσει επιτυχώς όλες τις δοκιμές από το CTS (Kronos Conformance Test Suite) και περιλαμβάνεται στη λίστα των πιστοποιημένων προγραμμάτων οδήγησης. Η δοκιμή πραγματοποιήθηκε σε συσκευές Apple M1, M1 Pro/Max/Ultra, M2 και M2 Pro/Max σε περιβάλλον με τη διανομή Asahi Linux Fedora Remix, Mesa 24.0.0 και X.Org X Server (X11_GLX). Τα αρχικά ιδιόκτητα προγράμματα οδήγησης της Apple για τα τσιπ M1 και M2 δεν περιλαμβάνονται ακόμη στη λίστα με τα πιστοποιημένα προγράμματα οδήγησης Khronos. Η απόκτηση του πιστοποιητικού σάς επιτρέπει να δηλώσετε επίσημα τη συμβατότητα με τα πρότυπα γραφικών και να χρησιμοποιήσετε τα σχετικά εμπορικά σήματα Khronos.
Η GPU M1 δεν διαθέτει ορισμένες δυνατότητες υλικού που απαιτούνται για την υλοποίηση των OpenGL ES 3.2 και OpenGL 4.2, επομένως αυτή η λειτουργικότητα που λείπει εφαρμόστηκε με βάση τις υπάρχουσες λειτουργίες. Για παράδειγμα, οι σκιαστήρες γεωμετρίας, η ανάδραση tessellation και μετασχηματισμού υλοποιούνται με χρήση υπολογιστικών σκιαδόρων, η απόσταση απόσυρσης υλοποιείται μέσω παρεμβολής και ο έλεγχος κλιπ υλοποιείται μέσω του επιλόγου σκίασης κορυφής. Στο μέλλον, η ανάπτυξη ανοιχτών προγραμμάτων οδήγησης για την Apple AGX GPU θα επικεντρωθεί στην παροχή υποστήριξης για το API γραφικών Vulkan, η υλοποίηση του οποίου σχεδιάζεται να χρησιμοποιεί μέρος του ήδη δοκιμασμένου τυπικού κώδικα που χρησιμοποιείται σε προγράμματα οδήγησης για το OpenGL.
Ας θυμηθούμε ότι για τα τσιπ GPU Apple M1 και M2, αναπτύσσονται δύο προγράμματα οδήγησης που λειτουργούν σε συνδυασμό μεταξύ τους: το πρόγραμμα οδήγησης DRM (Direct Rendering Manager) drm-asahi για τον πυρήνα Linux, γραμμένο στη γλώσσα Rust και το πρόγραμμα οδήγησης asahi για το Mesa, γραμμένο στη γλώσσα Si. Το πρόγραμμα οδήγησης σε επίπεδο πυρήνα έχει σχεδιαστεί από την αρχή για να υποστηρίζει μελλοντική υποστήριξη Vulkan API και η διεπαφή χώρου χρήστη έχει σχεδιαστεί για να εκμεταλλεύεται το UAPI που παρέχεται από το νέο πρόγραμμα οδήγησης Intel Xe. Επειδή τα τσιπ M1/M2 της Apple χρησιμοποιούν μια αποκλειστική GPU που εκτελεί αποκλειστικό υλικολογισμικό και χρησιμοποιεί αρκετά περίπλοκες κοινές δομές δεδομένων, η ανάπτυξη ανεξάρτητων προγραμμάτων οδήγησης περιλαμβάνει την αντίστροφη μηχανική των προγραμμάτων οδήγησης από το macOS.
Πηγή: opennet.ru
