Η NVIDIA κυκλοφορεί προγράμματα οδήγησης με γεύση ανοιχτότητας

Φέτος, έχουμε ήδη δει αρκετά διαρροές πηγαίου κώδικα NVIDIA, και μια έκδοση προγραμμάτων οδήγησης ανοιχτού κώδικα για NVIDIA Tegra. Φαίνεται ότι η NVIDIA αποφάσισε να το ενισχύσει και μόλις κυκλοφόρησε λειτουργικές μονάδες πυρήνα GPU ανοιχτού κώδικα για Linux. ο Σύνδεσμος GitHub ονομάστηκε open-gpu-kernel-modules έχει κόσμο να χαίρεται και ήδη δοκιμάζουμε τον κώδικα, φτιάχνουμε μιμίδια και εικασίες για το μέλλον. Αυτό το πρόγραμμα οδήγησης υποστηρίζεται ότι είναι πειραματικό, μόνο “έτοιμο για παραγωγή” για κάρτες datacenter – αλλά μπορείτε ήδη να το δοκιμάσετε!

Φυσικά, υπάρχει μια απόχρωση. Αυτός είναι νέος κωδικός, και δεν σχετίζεται με το γνωστό ιδιόκτητο πρόγραμμα οδήγησης. Θα λειτουργεί μόνο σε κάρτες που ξεκινούν από τις σειρές RTX 2000 και Quadro RTX (γνωστός και ως Turing και μετά). Τα καλά νέα είναι ότι η απόδοση είναι συγκρίσιμο με το πρόγραμμα οδήγησης κλειστού κώδικα, ακόμα και σε αυτό το σημείο! Ένα χαρακτηριστικό αυτού του έργου – ένα μεγάλο μέρος των δυνατοτήτων που εφαρμόζουν τα προγράμματα οδήγησης AMD και Intel στον πυρήνα Linux είναι, αντ’ αυτού, παρέχεται από ένα δυαδικό blob από το εσωτερικό της GPU. Αυτό το blob τρέχει στο GSP, το οποίο είναι ένας πυρήνας RISC-V που είναι διαθέσιμος μόνο σε GPU Turing και νεότερες – εξ ου και ο περιορισμός της σειράς. Τώρα, κάθε GPU φορτώνει ένα κομμάτι υλικολογισμικού, αλλά αυτό είναι βαρύ!

Εκτός αυτού, αυτό το πρόγραμμα οδήγησης παρέχει ήδη πιο συνεκτική ενσωμάτωση στον πυρήνα του Linux, με τεράστια οφέλη που θα αυξηθούν μόνο στο μέλλον. Δεν είναι όλα ανοιχτά ακόμα – οι βιβλιοθήκες χώρου χρηστών της NVIDIA και τα προγράμματα οδήγησης OpenGL, Vulkan, OpenCL και CUDA παραμένουν κλειστά, προς το παρόν. Το ίδιο ισχύει και για το παλιό ιδιόκτητο πρόγραμμα οδήγησης της NVIDIA, το οποίο, υποθέτω, θα αφεθεί να σαπίσει, καθώς το “leaving to rot” είναι αυτό που έκανε προηγουμένως αυτό το πρόγραμμα οδήγησης σε γενιές παλαιών αλλά τέλεια χρησιμοποιήσιμων καρτών.

Το upstream αυτού του οδηγού θα είναι σίγουρα μια τεράστια προσπάθεια, αλλά αυτός είναι σίγουρα ο στόχος και τα οφέλη θα είναι επίσης σημαντικά. Ακόμα και ως έχει, αυτός ο οδηγός έχει πολύ περισσότερες δυνατότητες. Όχι σε αντίθεση με έναν Βρετανό αστυνομικό, ο πυρήνας Linux ελέγχει την άδεια χρήσης κάθε λειτουργικής μονάδας πυρήνα που φορτώνει και περιορίζει τα API που μπορεί να χρησιμοποιήσει εάν δεν έχει άδεια GPL – κάτι που δεν είχε το προηγούμενο πρόγραμμα οδήγησης NVIDIA, καθώς τα ανοιχτά μέρη του ήταν ουσιαστικά λεπτό στρώμα μεταξύ του πυρήνα και των δυαδικών προγραμμάτων οδήγησης, και επομένως δεν μπορεί να χορηγηθεί άδεια χρήσης GPL. Γιατί αυτός ο οδηγός έχει άδεια MIT/GPL, έχουν πλέον ένα μεγαλύτερο σύνολο διεπαφών στη διάθεσή τους και θα μπορούσαν να το ενσωματώσουν καλύτερα στο οικοσύστημα Linux αντί να έχουν ένα σύνολο ιδιόκτητων εργαλείων.

Τώρα με 65% περισσότερο οδηγό, ανά οδηγό!

Οι δυνατότητες εντοπισμού σφαλμάτων, η ασφάλεια και η συνολική δυνατότητα ενσωμάτωσης θα πρέπει να βελτιωθούν. Επιπλέον, υπάρχει μια σειρά από νέες δυνατότητες που ανοίγονται. Για αρχή, σίγουρα ανοίγει την πόρτα για τη μεταφορά του προγράμματος οδήγησης σε άλλα λειτουργικά συστήματα όπως το FreeBSD και το OpenBSD, και θα μπορούσε ακόμη και να βοηθήσει δωρεάν υπολογιστές. Η υποστήριξη NVIDIA GPU στο ARM θα γίνει ευκολότερη στο μέλλον και θα μπορούσαμε να δούμε περισσότερα ψύχραιμες προσπάθειες για να εκμεταλλευτούμε όσα μας βοηθούν οι GPU όταν συνδυάζονται με ένα ARM SBC, από συναρπαστικά βιντεοπαιχνίδια έως ισχυρή μηχανική εκμάθηση. Η κυκλοφορία του Red Hat λέει ότι πρέπει να γίνουν περισσότερα όσον αφορά την ενσωμάτωση των προϊόντων NVIDIA στο οικοσύστημα Linux σωστά, χωρίς κανένα πρόβλημα.

Θα δείτε γενικά όλους να το χαιρετίζουν αυτό, για καλούς λόγους. Η παράδοση είναι ότι γιορτάζουμε τέτοιες ριζοσπαστικές κινήσεις, έστω και ατελείς, από μεγάλες εταιρείες – και δικαίως, δεδομένων των πλεονεκτημάτων που μόλις ανέφερα και των μελλοντικών δυνατοτήτων. Καθώς βλέπουμε περισσότερες τέτοιες κινήσεις από μεγάλους παίκτες, θα έχουμε πολλά να χαρούμε και πολλά προβλήματα θα μείνουν στο παρελθόν. Ωστόσο, όταν πρόκειται για ειλικρίνεια για αυτό που το εκτιμούμε, η κατάσταση γίνεται κάπως περίεργη και δύσκολο να αντιμετωπιστεί.

Η ανοιχτότητα μάς βοηθά να προσθέτουμε λειτουργίες που χρειαζόμαστε, να διορθώνουμε προβλήματα που αντιμετωπίζουμε, να μαθαίνουμε νέα πράγματα από τη δουλειά των άλλων και να εξερευνούμε τα όρια, καθώς αλληλεπιδρούμε με την τεχνολογία που καθορίζει όλο και περισσότερο τη ζωή μας. Αν είναι πιστευτή όλη η συναρπαστική επιστημονική φαντασία που διαβάζουμε ως παιδιά, πράγματι, προορίζεται να εργαστούμε παράλληλα με την τεχνολογία. Αυτό το πρόγραμμα οδήγησης, από πολλές απόψεις, δεν είναι το είδος του ανοιχτού χαρακτήρα που βοηθά το υλικό μας να μας βοηθήσει, αλλά σίγουρα ελέγχει πολλά πλαίσια για αυτό που αντιλαμβανόμαστε ως “ανοιχτό”. Πώς φτάσαμε ως εδώ;

Είναι γνωστό ότι το άνοιγμα κάθε τμήματος του κώδικα δεν είναι αυτό που κάνουν οι μεγάλες εταιρείες – πρέπει να κρύψετε κάπου τα bits DRM και τις παραβιάσεις των διπλωμάτων ευρεσιτεχνίας. Εδώ, μεγάλο μέρος του κώδικα που βρισκόταν στο ιδιόκτητο πρόγραμμα οδήγησης τώρα τρέχει σε διαφορετική CPU και είναι τόσο αδιαφανής όσο πριν. Κανένας οδηγός δεν βασίζεται τόσο πολύ σε δυαδικό κώδικα blob όπως αυτός, και όμως μόνο ημιειρωνικά, δεν είναι τόσο μακριά από το σημείο που βρίσκεται θα μπορούσε τεχνικά να λάβει πιστοποίηση RYF. Απλώς τα απαράδεκτα δυαδικά blobs είναι πλέον «υλικολογισμικό» αντί για «λογισμικό».

Φωτογραφία ενός Thinkpad X200 σε ένα γραφείο, οθόνη που δείχνει ένα μενού GRUB που έχει μια χαριτωμένη εικόνα της μασκότ GNU στο φόντο
Κάτι δεν πάει καλά αν αυτό θεωρείται πιο ανοιχτό από τη Novena

Το RYF (Σέβεται την ελευθερία σας) πιστοποίηση από το Ίδρυμα Ελεύθερου Λογισμικού, αν και έχει καλές προθέσεις, έχει πρόσφατα τραβηγμένη θερμότητα επειδή είναι αντιπαραγωγική στους στόχους της και κατασκευάζει υλικό πιο σύνθετο χωρίς ανάγκη, και ακόμη και ο επικεφαλής του έργου Libreboot λέει ότι οι αρχές του αφήστε το επιθυμητό. Εμείς λαμβάνουμε σιωπηρά την πιστοποίηση RYF ως την κατευθυντήρια γραμμή ανοιχτότητας προς την οποία πρέπει να επιδιώξουμε, αλλά Ο φορητός υπολογιστής Novena επέλεξε να μην κολλήσει σε αυτό και είναι σίγουρα καλύτερα. Έχουμε πολλά να μάθουμε από το RYF, και αυτό είναι ξεκάθαρο χρειαζόμαστε περισσότερη βοήθεια.

Από εδώ – τι θεωρούμε “ανοιχτό”; Και ποιος μπορεί να μας βοηθήσει να παρακολουθούμε τι είναι το «ανοιχτό» – συγκεκριμένα, το είδος της ανοιχτότητας που μας οδηγεί σε έναν πιο ουτοπικό, αλλά ρεαλιστικό κόσμο όπου η σχέση μας με την τεχνολογία είναι υγιής και στοργική; Ορισμένες κατευθυντήριες γραμμές και αρχές μας βοηθούν να ελέγξουμε αν παραμένουμε στο σωστό δρόμο – και ο κόσμος έχει αλλάξει αρκετά ώστε οι παλιές ιδέες δεν ισχύουν πάντα, όπως το κενό λογισμικού που φιλοξενείται στο σύννεφο αυτό αποδεικνύεται δύσκολο να επιλυθεί.

Αλλά ακόμα, πολύς περισσότερος κώδικας μόλις άνοιξε, και αυτό είναι μια νίκη σε ορισμένα μέτωπα. Ταυτόχρονα, δεν θα φτάσουμε εκεί που θέλουμε να είμαστε εάν άλλες εταιρείες αποφασίσουν να μείνουν σε αυτό το παράδειγμα και ως χάκερ, δεν θα επιτύχουμε πολλά από τα πρωτοποριακά πράγματα που θα μας δείτε να φτάνουμε με εργαλεία ανοιχτού κώδικα στα χέρια μας. Και, αν δεν είμαστε προσεκτικοί, μπορεί να το μπερδέψουμε με το είδος της ανοιχτότητας από την οποία ερχόμαστε όλοι εδώ για να μάθουμε. Άρα είναι μικτή τσάντα.

Όπως αναφέρθηκε, αυτό το πρόγραμμα οδήγησης είναι για τη σειρά 2000 RTX και μετά. Οι παλιές κάρτες εξακολουθούν να περιορίζονται είτε στο ιδιόκτητο πρόγραμμα οδήγησης είτε στο Nouveau – το οποίο έχει ιστορικό αποκλεισμού από τη NVIDIA. Ενδεικτική περίπτωση: τα τελευταία χρόνια, η NVIDIA έχει επαναεφάρμοσε ζωτικά χαρακτηριστικά όπως ο έλεγχος του ρολογιού με τρόπο προσβάσιμο μόνο μέσω α υπογεγραμμένο υλικολογισμικό με κλειστό API που είναι δύσκολο να αναστρέψεις, και έκτοτε είναι μη συνεργάσιμη – πράγμα που έχει πλήγωσε το έργο Nouveau χωρίς καμία θεραπεία στον ορίζοντα. Σε αντίθεση με την AMD που βοηθά στην επισκευή του κώδικα για τις κάρτες που κυκλοφόρησαν πριν από την πτώση του ανοιχτού προγράμματος οδήγησης, αυτό το πρόβλημα παραμένει.

Από εδώ, όμως, το Nouveau θα συνεχίσει να ζει. Εν μέρει, θα εξακολουθεί να μπορεί να χρησιμοποιηθεί για παλαιότερες κάρτες που δεν πηγαίνουν πουθενά, και εν μέρει, φαίνεται ότι θα μπορούσε να βοηθήσει στην αντικατάσταση των προαναφερθεισών βιβλιοθηκών χώρου χρηστών που παραμένουν κλειστού κώδικα. ο επίσημη σελίδα έκδοσης NVIDIA λέει ότι δεν είναι αδύνατο οι προσπάθειες Nouveau και οι προσπάθειες ανοιχτού προγράμματος οδήγησης της NVIDIA να συγχωνευθούν σε ένα, μια νίκη για όλους, ακόμα κι αν είναι λίγο γλυκόπικρη.

Λόγω ελλείψεων, ενδέχεται να μην έχετε GPU για να εκτελέσετε αυτό το πρόγραμμα οδήγησης ούτως ή άλλως. Τούτου λεχθέντος, θα ανακάμψουμε από τις ελλείψεις και την τρέλα που προκαλείται από την εξόρυξη και οι τιμές θα πέσουν στο σημείο που τα συστήματά μας θα λειτουργούν καλύτερα – ίσως όχι ο φορητός υπολογιστής σας με MX150, αλλά σίγουρα πολλά ισχυρά συστήματα δεν έχουμε ακόμη χτίζω. Η NVIDIA δεν είναι ακόμα εκεί που βρίσκονται η AMD και η Intel, αλλά έχουν φτάσει εκεί.

[Tux penguin image © Larry Ewing, coincidentally remixed using GIMP.]

Leave a Comment