Πριν από λίγο καιρό, το Ίδρυμα Raspberry Pi, μαζί με την Igalia , ανακοίνωσαν στο ευρύ κοινό την κοινή τους εργασία για την ανάπτυξη ενός προγράμματος οδήγησης Vulkan για τις μητρικές Raspberry Pi. Αρχικά, δήλωσαν ότι θα ήταν συμβατός μόνο με την νεότερη μητρική, την "Raspberry Pi 4", και έτσι ξεκίνησαν το αρχικό στάδιο ανάπτυξης. Δεν ανέφεραν συγκεκριμένη ημερομηνία για το πότε ο οδηγός θα ήταν έτοιμος ή πότε θα ήταν κατάλληλος για την εκκίνηση πραγματικών εφαρμογών.
Το μόνο που ανέφεραν ήταν ότι αυτό θα μπορούσε να είναι εφικτό στο δεύτερο εξάμηνο του 2020. Στις προδιαγραφές του χειριστηρίου , αναφέρθηκε ότι περιορίζεται στη συμβατότητα με τον επιταχυντή γραφικών VideoCore VI, που χρησιμοποιείται από το μοντέλο Raspberry Pi 4, και ότι δεν θα ήταν συμβατό με παλαιότερες μητρικές, πράγμα που σημαίνει ότι αποκλείστηκαν μοντέλα από την 3b+ και παλαιότερες εκδόσεις.
Επιπλέον, ανέφεραν ότι, σε σύγκριση με το OpenGL, η χρήση του Vulkan μπορεί να βελτιώσει την απόδοση γραφικών εφαρμογών και παιχνιδιών.
Με αυτά τα νέα, πολλοί θαυμαστές και ιδιοκτήτες ενός Raspberry Pi που δεν ήταν το μοντέλο 4, απογοητεύτηκαν επειδή θεώρησαν ότι παραμερίστηκαν και ότι πρακτικά ανακοίνωσαν ότι δεν αξίζει πλέον να εργάζονται για να συνεχίσουν να παρέχουν υποστήριξη σε οποιαδήποτε από αυτές τις πλακέτες .
Όμως, τώρα στα πιο πρόσφατα νέα, φαίνεται ότι τα πράγματα έχουν αλλάξει από τότε που ένας προγραμματιστής ήρθε να αποδείξει το αντίθετο.
Σχετικά με το RPi-VK-Driver 1.0
Ο Martin Thomas, μηχανικός της NVIDIA, ήταν υπεύθυνος για την ανάπτυξη του RPi-VK-Driver, ενός προγράμματος οδήγησης ανοιχτού κώδικα που, σύμφωνα με τα λόγια του δημιουργού του:
"Το πρόγραμμα οδήγησης αναπτύχθηκε από, ωστόσο, η ανάπτυξη πραγματοποιήθηκε ως προσωπικό έργο, που δεν σχετίζεται με την NVIDIA (το πρόγραμμα οδήγησης αναπτύχθηκε τα τελευταία δύο χρόνια στον ελεύθερο χρόνο του)."
Αυτή η πρώτη έκδοση του ανοιχτού κώδικα RPi-VK-Driver 1.0 διανέμεται με την άδεια MIT και υλοποιεί υποστήριξη γραφικών Vulkan API για παλαιότερες κάρτες Raspberry Pi που περιλαμβάνουν την GPU Broadcom Videocore IV.
Το χειριστήριο είναι κατάλληλο για όλα τα μοντέλα μητρικών καρτών Raspberry Pi που κυκλοφόρησαν πριν από το Raspberry Pi 4.
Από τα υποστηριζόμενα μοντέλα, τα ακόλουθα αναφέρονται στο αποθετήριο:
- μηδέν
- μηδέν w
- 1 μοντέλο Α
- 1 μοντέλο A+
- 1 μοντέλο Β
- 1 μοντέλο Β+
- 2 Μοντέλο Β
- 3 Μοντέλο Α+
- 3 Μοντέλο Β
- 3 Μοντέλο Β+
- Υπολογιστική Ενότητα 1
- Υπολογιστική ενότητα 3
- Υπολογιστική Ενότητα 3 lite
- Υπολογιστική Ενότητα 3+
- Υπολογιστική ενότητα 3+ lite
Δεδομένου ότι οι δυνατότητες της GPU VideoCore IV, η οποία είναι εξοπλισμένη με παλαιότερα μοντέλα Raspberry Pi, δεν επαρκούν για την πλήρη υλοποίηση του Vulkan, ο οδηγός υλοποιεί μόνο ένα υποσύνολο του Vulkan API , το οποίο δεν καλύπτει ολόκληρο το πρότυπο, αλλά προσπαθεί να το ακολουθήσει όσο το επιτρέπει η ομάδα.
Ωστόσο, η διαθέσιμη λειτουργικότητα είναι επαρκής για πολλές εφαρμογές και παιχνίδια, και η απόδοση είναι πολύ πιο μπροστά από τους οδηγούς OpenGL λόγω της πιο αποτελεσματικής διαχείρισης μνήμης, της πολυνηματικής επεξεργασίας εντολών GPU και του άμεσου ελέγχου των λειτουργιών της GPU.
Το πρόγραμμα οδήγησης υποστηρίζει επίσης λειτουργίες όπως MSAA (Multisample Anti-aliasing), shaders χαμηλού επιπέδου και μετρητές απόδοσης . Ένας περιορισμός είναι η έλλειψη υποστήριξης για shaders GLSL, οι οποίοι δεν είναι ακόμη διαθέσιμοι σε αυτό το στάδιο ανάπτυξης.
Όσον αφορά τον συγγραφέα, μπορούμε να επισημάνουμε ότι ήταν επίσης υπεύθυνος για τη δημοσίευση του port του παιχνιδιού Quake 3 για το Raspberry Pi, το οποίο λειτουργεί ως επίδειξη των δυνατοτήτων του νέου χειριστηρίου.
Το παιχνίδι βασίζεται στον κινητήρα ioQuake3, στον οποίο προστέθηκε ένα αρθρωτό back-end απόδοσης βασισμένο σε Vulkan, το οποίο αναπτύχθηκε αρχικά από το έργο Quake III Arena Kenny Edition. Χρησιμοποιώντας το νέο πρόγραμμα οδήγησης εντός του παιχνιδιού, ήταν δυνατή η απόδοση άνω των 100 καρέ ανά δευτερόλεπτο (FPS) στην πλακέτα Raspberry Pi 3B+ σε έξοδο 720p.
Τέλος, σχετικά με την υλοποίηση αυτού του ελεγκτή και για να μάθετε περισσότερα σχετικά με αυτήν , μπορείτε να συμβουλευτείτε το αποθετήριο ελεγκτών στον ακόλουθο σύνδεσμο.