Το NVK, ένα ανοιχτό πρόγραμμα οδήγησης για κάρτες γραφικών NVIDIA, υποστηρίζει το Vulkan 1.0

Η κοινοπραξία Khronos, η οποία αναπτύσσει πρότυπα γραφικών, έχει αναγνωρίσει την πλήρη συμβατότητα του ανοιχτού προγράμματος οδήγησης NVK για κάρτες γραφικών NVIDIA με την προδιαγραφή Vulkan 1.0. Ο οδηγός έχει περάσει επιτυχώς όλες τις δοκιμές από το CTS (Kronos Conformance Test Suite) και περιλαμβάνεται στη λίστα των πιστοποιημένων προγραμμάτων οδήγησης. Ολοκληρώθηκε η πιστοποίηση για τις GPU της NVIDIA που βασίζονται στη μικροαρχιτεκτονική Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Η δοκιμή πραγματοποιήθηκε σε περιβάλλον με πυρήνα Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 και GNOME Shell 44.4. Η απόκτηση του πιστοποιητικού σάς επιτρέπει να δηλώσετε επίσημα τη συμβατότητα με τα πρότυπα γραφικών και να χρησιμοποιήσετε τα σχετικά εμπορικά σήματα Khronos.

Το πρόγραμμα οδήγησης NVK κατασκευάστηκε από την αρχή από μια ομάδα συμπεριλαμβανομένων των Karol Herbst (προγραμματιστής Nouveau στη Red Hat), David Airlie (συντηρητής DRM στη Red Hat) και Jason Ekstrand (ενεργός προγραμματιστής Mesa στην Collabora). Κατά τη δημιουργία του προγράμματος οδήγησης, οι προγραμματιστές χρησιμοποίησαν επίσημα αρχεία κεφαλίδας και ανοιχτές μονάδες πυρήνα που δημοσιεύθηκαν από τη NVIDIA. Ο κώδικας NVK χρησιμοποίησε ορισμένα βασικά στοιχεία του προγράμματος οδήγησης Nouveau OpenGL σε ορισμένα σημεία, αλλά λόγω των διαφορών στα ονόματα στα αρχεία κεφαλίδων NVIDIA και των ονομάτων αντίστροφης μηχανικής στο Nouveau, ο άμεσος δανεισμός του κώδικα είναι δύσκολος και ως επί το πλείστον πολλά πράγματα έπρεπε να ξανασκεφτούν και να εφαρμοστούν από την αρχή .

Η ανάπτυξη πραγματοποιήθηκε με στόχο τη δημιουργία ενός νέου προγράμματος οδήγησης Vulkan αναφοράς για το Mesa, ο κωδικός του οποίου θα μπορούσε να δανειστεί κατά τη δημιουργία άλλων προγραμμάτων οδήγησης. Για να γίνει αυτό, όταν εργάζονταν στο πρόγραμμα οδήγησης NVK, προσπάθησαν να λάβουν υπόψη όλη την υπάρχουσα εμπειρία στην ανάπτυξη προγραμμάτων οδήγησης Vulkan, να διατηρήσουν τη βάση κώδικα στη βέλτιστη μορφή και να ελαχιστοποιήσουν τη μεταφορά κώδικα από άλλα προγράμματα οδήγησης Vulkan, κάνοντας όπως θα έπρεπε. βέλτιστη και υψηλής ποιότητας εργασία, και όχι τυφλή αντιγραφή του τρόπου λειτουργίας σε άλλα προγράμματα οδήγησης. Το πρόγραμμα οδήγησης περιλαμβάνεται ήδη στο Mesa και οι απαραίτητες αλλαγές στο Nouveau DRM προγράμματος οδήγησης API περιλαμβάνονται στον πυρήνα του Linux 6.6.

Μεταξύ των αλλαγών στην ανακοίνωση, ο Mesa σημειώνει επίσης την υιοθέτηση ενός νέου backend μεταγλωττιστή για το NVK, γραμμένου στη γλώσσα Rust και την επίλυση προβλημάτων στον παλιό μεταγλωττιστή που παρενέβαινε στο πέρασμα των κειμένων του Kronos, καθώς και την εξάλειψη ορισμένων θεμελιωδών περιορισμών του αρχιτεκτονική που δεν θα μπορούσε να διορθωθεί χωρίς μια πλήρη επανεπεξεργασία του παλιού μεταγλωττιστή. Μεταξύ των σχεδίων για το μέλλον, η προσθήκη υποστήριξης GPU με βάση τη μικροαρχιτεκτονική Maxwell και η υλοποίηση πλήρους υποστήριξης για το Vulkan 1.3 API αναφέρονται στο νέο backend.

Πηγή: opennet.ru

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