RPi-VK-Drive: il controller GPU con supporto Vulkan per le vecchie schede RPI

Qualche tempo fa, la Raspberry Pi Foundation, insieme a Igalia , ha annunciato al pubblico la propria collaborazione per lo sviluppo di un driver Vulkan per le schede Raspberry Pi. Inizialmente, hanno dichiarato che sarebbe stato compatibile solo con la scheda più recente, la "Raspberry Pi 4", dando così inizio alla fase iniziale di sviluppo. Non hanno fornito una data precisa per il rilascio del driver o per la sua fruibilità in applicazioni reali.

L'unica cosa che hanno menzionato è che ciò potrebbe essere possibile nella seconda metà del 2020. Nelle specifiche del controller , è stato specificato che la compatibilità è limitata all'acceleratore grafico VideoCore VI, utilizzato fin dal modello Raspberry Pi 4, e che non sarebbe compatibile con le schede più vecchie, il che significa che i modelli dal 3b+ in poi sono stati esclusi.

Inoltre, hanno affermato che, rispetto a OpenGL, l'uso di Vulkan può migliorare le prestazioni di applicazioni grafiche e giochi.

Con questa notizia, molti fan e possessori di un Raspberry Pi che non era il modello 4, sono rimasti delusi perché si sono sentiti messi da parte e che hanno praticamente annunciato che non vale più la pena lavorare per continuare a supportare nessuna di queste schede.

Ma, ora nelle notizie più recenti, sembra che le cose siano cambiate quando uno sviluppatore è venuto a dimostrare il contrario.

Informazioni su RPi-VK-Driver 1.0

Martin Thomas, ingegnere di NVIDIA, è stato responsabile dello sviluppo di RPi-VK-Driver, un driver open-source che, secondo le parole del suo autore:

"Il controller è stato sviluppato da, tuttavia lo sviluppo è stato svolto come un progetto personale, estraneo a NVIDIA (il controller è stato sviluppato negli ultimi due anni nel suo tempo libero)."

Questa prima versione del driver open-source RPi-VK-Driver 1.0 è distribuita con licenza MIT e implementa il supporto per l'API grafica Vulkan sulle schede Raspberry Pi meno recenti che includono la GPU Broadcom Videocore IV.

Il controller è compatibile con tutti i modelli di schede Raspberry Pi rilasciati prima del Raspberry Pi 4.

Dei modelli supportati, i seguenti sono menzionati nel repository:

  • zero
  • Zero w
  • 1 modello A
  • 1 modello A +
  • 1 modello B
  • 1 modello B +
  • 2 Modello B
  • 3 Modello A +
  • 3 Modello B
  • 3 Modello B +
  • Modulo di calcolo 1
  • Modulo di calcolo 3
  • Modulo di calcolo 3 lite
  • Modulo di calcolo 3+
  • Modulo di calcolo 3+ lite

Poiché le capacità della GPU VideoCore IV, presente sui modelli Raspberry Pi più vecchi, non sono sufficienti per l'implementazione completa di Vulkan, il driver implementa solo un sottoinsieme dell'API Vulkan , che non copre l'intero standard, ma cerca di seguirlo per quanto consentito dal team.

Tuttavia, le funzionalità disponibili sono sufficienti per molte applicazioni e giochi, e le prestazioni sono di gran lunga superiori a quelle dei driver OpenGL grazie a una gestione della memoria più efficiente, all'elaborazione multithread dei comandi GPU e al controllo diretto delle operazioni GPU.

Il driver supporta anche funzionalità come MSAA (Multisample Anti-aliasing), shader di basso livello e contatori di prestazioni . Un limite è la mancanza di supporto per gli shader GLSL, che non sono ancora disponibili in questa fase di sviluppo.

Per quanto riguarda l'autore, possiamo evidenziare che è stato anche lui a occuparsi della pubblicazione del porting di Quake 3 per Raspberry Pi, che funge da dimostrazione delle capacità del nuovo controller.

Il gioco è basato sul motore ioQuake3, a cui è stato aggiunto un backend di rendering modulare basato su Vulkan, originariamente sviluppato dal progetto Quake III Arena Kenny Edition. Utilizzando il nuovo controller di gioco, è stato possibile eseguire il rendering di oltre 100 fotogrammi al secondo (FPS) sulla scheda Raspberry Pi 3B + con un'uscita di 720p.

Infine, per quanto riguarda l'implementazione di questo controller e per saperne di più , è possibile consultare il repository del controller al seguente link.


Aggiungi come fonte preferita in Google