Cu ceva timp în urmă, Fundația Raspberry Pi, împreună cu Igalia , au anunțat publicului larg colaborarea lor la dezvoltarea unui driver Vulkan pentru plăcile Raspberry Pi. Inițial, au declarat că acesta va fi compatibil doar cu cea mai nouă placă, „Raspberry Pi 4”, și astfel a început etapa inițială de dezvoltare. Nu au menționat o dată specifică pentru momentul în care driverul va fi gata sau când va fi potrivit pentru lansarea de aplicații reale.
Singurul lucru pe care l-au menționat a fost că acest lucru ar putea fi posibil în a doua jumătate a anului 2020. În specificațiile controlerului , s-a menționat că acesta este limitat la compatibilitatea cu acceleratorul grafic VideoCore VI, utilizat încă de la modelul Raspberry Pi 4, și că nu ar fi compatibil cu plăcile mai vechi, ceea ce înseamnă că modelele de la 3b+ și anterioare au fost excluse.
În plus, ei au menționat că, în comparație cu OpenGL, utilizarea Vulkan poate îmbunătăți performanța aplicațiilor grafice și a jocurilor.
Odată cu această veste, mulți fani și posesori ai unui Raspberry Pi care nu era modelul 4 au fost dezamăgiți pentru că au simțit că au fost dați deoparte și că practic au anunțat că nu mai merită să lucrezi pentru a oferi în continuare suport pentru oricare dintre aceste plăci.
Dar, acum în știrile mai recente, se pare că lucrurile s-au schimbat de când un dezvoltator a venit să demonstreze contrariul.
Despre RPi-VK-Driver 1.0
Martin Thomas, inginer NVIDIA, a fost responsabil pentru dezvoltarea driverului RPi-VK, un driver open-source care, după cum spune autorul său:
„Driverul a fost dezvoltat, totuși, dezvoltarea a fost realizată ca un proiect personal, fără legătură cu NVIDIA (driverul a fost dezvoltat în ultimii doi ani în timpul liber).”
Această primă versiune a driverului open-source RPi-VK-Driver 1.0 este distribuită sub licența MIT și implementează suportul API-ului grafic Vulkan pentru plăcile Raspberry Pi mai vechi care includ GPU-ul Broadcom Videocore IV.
Controlerul este compatibil cu toate modelele de plăci Raspberry Pi lansate înainte de Raspberry Pi 4.
Dintre modelele acceptate, următoarele sunt menționate în depozit:
- zero
- Zero w
- 1 model A
- 1 model A+
- 1 model B
- 1 model B+
- 2 Modelul B
- 3 Model A+
- 3 Modelul B
- 3 Model B+
- Modulul de calcul 1
- Calculați modulul 3
- Modulul de calcul 3 lite
- Modulul de calcul 3+
- Modulul de calcul 3+ lite
Întrucât capacitățile plăcilor grafice VideoCore IV, echipate cu modelele mai vechi de Raspberry Pi, nu sunt suficiente pentru implementarea completă a Vulkan, driverul implementează doar un subset al API-ului Vulkan , care nu acoperă întregul standard, ci încearcă să îl urmeze cât de mult permite echipa.
Cu toate acestea, funcționalitatea disponibilă este suficientă pentru multe aplicații și jocuri, iar performanța este mult superioară driverelor OpenGL datorită gestionării mai eficiente a memoriei, procesării multi-thread a comenzilor GPU și controlului direct al operațiunilor GPU.
Driverul acceptă și funcții precum MSAA (Multisample Anti-aliasing), shadere de nivel scăzut și contoare de performanță . O limitare este lipsa suportului pentru shaderele GLSL, care nu sunt încă disponibile în această etapă de dezvoltare.
În ceea ce privește autorul, putem sublinia că el a fost responsabil și cu publicarea portului jocului Quake 3 pentru Raspberry Pi, care servește drept demonstrație a capacităților noului controler.
Jocul se bazează pe motorul ioQuake3, căruia i s-a adăugat un backend de randare modular bazat pe Vulkan, dezvoltat inițial de proiectul Quake III Arena Kenny Edition. Folosind noul controler în joc, a fost posibil să redați peste 100 de cadre pe secundă (FPS) pe placa Raspberry Pi 3B+ la o ieșire de 720p.
În cele din urmă, în ceea ce privește implementarea acestui controller și pentru a afla mai multe despre acesta , puteți consulta depozitul de controllere la următorul link.