Προγράμματα οδήγησης βίντεο ανοιχτού κώδικα NVIDIA για τον πυρήνα του Linux

Η NVIDIA ανακοίνωσε ότι όλες οι μονάδες πυρήνα που περιλαμβάνονται στο σύνολο των ιδιόκτητων προγραμμάτων οδήγησης βίντεο είναι ανοιχτού κώδικα. Ο κωδικός είναι ανοιχτός με άδειες MIT και GPLv2. Η δυνατότητα δημιουργίας μονάδων παρέχεται για αρχιτεκτονικές x86_64 και aarch64 σε συστήματα με πυρήνα Linux 3.10 και νεότερες εκδόσεις. Το υλικολογισμικό και οι βιβλιοθήκες που χρησιμοποιούνται στο χώρο των χρηστών, όπως οι στοίβες CUDA, OpenGL και Vulkan, παραμένουν ιδιόκτητα.

Αναμένεται ότι η δημοσίευση του κώδικα θα οδηγήσει σε σημαντική βελτίωση στη χρηστικότητα της εργασίας με τις GPU της NVIDIA σε συστήματα Linux, θα ενισχύσει την ενοποίηση με το λειτουργικό σύστημα και θα απλοποιήσει την παράδοση προγραμμάτων οδήγησης και τον εντοπισμό σφαλμάτων των προβλημάτων. Οι προγραμματιστές του Ubuntu και του SUSE έχουν ήδη ανακοινώσει τη δημιουργία πακέτων βασισμένων σε ανοιχτές ενότητες. Η παρουσία ανοιχτών μονάδων θα απλοποιήσει επίσης την ενοποίηση των προγραμμάτων οδήγησης NVIDIA με συστήματα που βασίζονται σε μη τυπικές προσαρμοσμένες εκδόσεις του πυρήνα Linux. Για τη NVIDIA, ο ανοιχτός κώδικας θα βοηθήσει στη βελτίωση της ποιότητας και της ασφάλειας των προγραμμάτων οδήγησης Linux μέσω στενότερης αλληλεπίδρασης με την κοινότητα και της δυνατότητας επανεξέτασης των αλλαγών από τρίτους και ανεξάρτητου ελέγχου.

Σημειώνεται ότι η παρουσιαζόμενη βάση ανοιχτού κώδικα χρησιμοποιείται ταυτόχρονα για τη δημιουργία ιδιόκτητων προγραμμάτων οδήγησης, συγκεκριμένα, χρησιμοποιείται στον κλάδο beta 515.43.04 που δημοσιεύτηκε σήμερα. Σε αυτήν την περίπτωση, το πρωτεύον είναι ένα κλειστό αποθετήριο και η προτεινόμενη βάση ανοιχτού κώδικα θα ενημερώνεται για κάθε έκδοση ιδιόκτητων προγραμμάτων οδήγησης με τη μορφή cast μετά από συγκεκριμένη επεξεργασία και καθαρισμό. Το ιστορικό των μεμονωμένων αλλαγών δεν παρέχεται, μόνο μια γενική δέσμευση για κάθε έκδοση του προγράμματος οδήγησης (επί του παρόντος έχει δημοσιευτεί ο κωδικός των μονάδων για το πρόγραμμα οδήγησης 515.43.04).

Ωστόσο, δίνεται στα μέλη της κοινότητας η ευκαιρία να υποβάλουν αιτήματα έλξης για να προωθήσουν τις διορθώσεις και τις αλλαγές στον κώδικα της ενότητας, αλλά αυτές οι αλλαγές δεν θα αντικατοπτρίζονται ως ξεχωριστές αλλαγές στο δημόσιο χώρο αποθήκευσης, αλλά θα ενσωματωθούν πρώτα στον κύριο ιδιωτικό χώρο αποθήκευσης και μόνο τότε μεταφέρεται με τα υπόλοιπα αλλάζει σε άνοιγμα. Για να συμμετάσχετε στην ανάπτυξη, πρέπει να υπογράψετε μια συμφωνία για τη μεταβίβαση των δικαιωμάτων ιδιοκτησίας στον μεταφερόμενο κωδικό στη NVIDIA (Σύμβαση άδειας χρήσης συνεισφέρον).

Ο κώδικας των μονάδων του πυρήνα χωρίζεται σε δύο μέρη: γενικά στοιχεία που δεν συνδέονται με το λειτουργικό σύστημα και ένα επίπεδο για αλληλεπίδραση με τον πυρήνα του Linux. Για να μειωθεί ο χρόνος εγκατάστασης, τα κοινά στοιχεία εξακολουθούν να παρέχονται σε ιδιόκτητα προγράμματα οδήγησης NVIDIA με τη μορφή ενός ήδη συναρμολογημένου δυαδικού αρχείου και το επίπεδο συναρμολογείται σε κάθε σύστημα, λαμβάνοντας υπόψη την τρέχουσα έκδοση του πυρήνα και τις υπάρχουσες ρυθμίσεις. Προσφέρονται οι ακόλουθες μονάδες πυρήνα: nvidia.ko, nvidia-drm.ko (Διαχειριστής άμεσης απόδοσης), nvidia-modeset.ko και nvidia-uvm.ko (ενοποιημένη μνήμη βίντεο).

Η υποστήριξη GPU της σειράς GeForce και του σταθμού εργασίας παρατίθεται ως άλφα ποιότητας, αλλά οι αποκλειστικές GPU που βασίζονται στις αρχιτεκτονικές NVIDIA Turing και NVIDIA Ampere που χρησιμοποιούνται στις αρχιτεκτονικές υπολογιστικής επιτάχυνσης και παράλληλων υπολογιστών (CUDA) υποστηρίζονται πλήρως και είναι πλήρως ελεγμένες. και κατάλληλες για χρήση στην παραγωγή έργα (το ανοιχτό κώδικα είναι ήδη έτοιμο να αντικαταστήσει τα ιδιόκτητα προγράμματα οδήγησης). Η σταθεροποίηση της υποστήριξης GeForce και GPU για σταθμούς εργασίας σχεδιάζεται για μελλοντικές εκδόσεις. Τελικά, το επίπεδο σταθερότητας της βάσης ανοιχτού κώδικα θα φτάσει στο επίπεδο των ιδιόκτητων προγραμμάτων οδήγησης.

Στην τρέχουσα μορφή της, η συμπερίληψη δημοσιευμένων λειτουργικών μονάδων στον κύριο πυρήνα είναι αδύνατη, καθώς δεν συμμορφώνονται με τις απαιτήσεις στυλ κωδικοποίησης και τις αρχιτεκτονικές συμβάσεις του πυρήνα, αλλά η NVIDIA σκοπεύει να συνεργαστεί με τις Canonical, Red Hat και SUSE για την επίλυση αυτού του ζητήματος και σταθεροποιήστε τις διεπαφές λογισμικού του προγράμματος οδήγησης. Επιπλέον, ο δημοσιευμένος κώδικας μπορεί να χρησιμοποιηθεί για τη βελτίωση του προγράμματος οδήγησης Nouveau ανοιχτού κώδικα που περιλαμβάνεται στον πυρήνα, το οποίο χρησιμοποιεί το ίδιο υλικολογισμικό GPU με το ιδιόκτητο πρόγραμμα οδήγησης.

Πηγή: opennet.ru

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