Ένα πρόγραμμα οδήγησης Linux για την Apple AGX GPU, γραμμένο σε Rust, προτείνεται για έλεγχο.

Η λίστα αλληλογραφίας προγραμματιστών πυρήνα Linux προσφέρει μια προκαταρκτική υλοποίηση του προγράμματος οδήγησης drm-asahi για τις GPU της σειράς Apple AGX G13 και G14 που χρησιμοποιούνται στα τσιπ Apple M1 και M2. Το πρόγραμμα οδήγησης είναι γραμμένο στη γλώσσα Rust και περιλαμβάνει επιπλέον ένα σύνολο καθολικών συνδέσεων μέσω του υποσυστήματος DRM (Direct Rendering Manager), το οποίο μπορεί να χρησιμοποιηθεί για την ανάπτυξη άλλων προγραμμάτων οδήγησης γραφικών στη γλώσσα Rust. Το δημοσιευμένο σύνολο ενημερώσεων κώδικα προσφέρεται μέχρι στιγμής μόνο για συζήτηση από προγραμματιστές πυρήνα (RFC), αλλά μπορεί να γίνει αποδεκτό στην κύρια σύνθεση μετά την ολοκλήρωση της αναθεώρησης και την εξάλειψη των εντοπισμένων ελλείψεων.

Από τον Δεκέμβριο, το πρόγραμμα οδήγησης έχει συμπεριληφθεί στο πακέτο πυρήνα για τη διανομή Asahi Linux και έχει δοκιμαστεί από τους χρήστες αυτού του έργου. Το πρόγραμμα οδήγησης μπορεί να χρησιμοποιηθεί σε διανομές Linux για την οργάνωση της λειτουργίας του γραφικού περιβάλλοντος σε συσκευές Apple με SoC M1, M1 Pro, M1 Max, M1 Ultra και M2. Κατά την ανάπτυξη του προγράμματος οδήγησης, έγινε προσπάθεια όχι μόνο να βελτιωθεί η ασφάλεια ελαχιστοποιώντας τα σφάλματα κατά την εργασία με μνήμη στον κώδικα που εκτελείται στην πλευρά της CPU, αλλά και να παρέχεται μερική προστασία από προβλήματα που προκύπτουν κατά την αλληλεπίδραση με το υλικολογισμικό. Συγκεκριμένα, το πρόγραμμα οδήγησης παρέχει ορισμένες δεσμεύσεις για μη ασφαλείς δομές κοινής μνήμης με πολύπλοκες αλυσίδες δεικτών που χρησιμοποιούνται στο υλικολογισμικό για αλληλεπίδραση με το πρόγραμμα οδήγησης.

Το προτεινόμενο πρόγραμμα οδήγησης χρησιμοποιείται σε συνδυασμό με το πρόγραμμα οδήγησης asahi Mesa, το οποίο παρέχει υποστήριξη για το OpenGL στο χώρο των χρηστών και περνά με επιτυχία τις δοκιμές συμβατότητας με το OpenGL ES 2 και είναι σχεδόν έτοιμο να υποστηρίξει το OpenGL ES 3.0. Ταυτόχρονα, το πρόγραμμα οδήγησης που εκτελείται σε επίπεδο πυρήνα αναπτύσσεται αρχικά λαμβάνοντας υπόψη τη μελλοντική υποστήριξη για το Vulkan API και η διεπαφή λογισμικού για την αλληλεπίδραση με τον χώρο χρήστη έχει σχεδιαστεί με γνώμονα το UAPI που παρέχεται από το νέο πρόγραμμα οδήγησης Intel Xe.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο