Před časem oznámila nadace Raspberry Pi Foundation spolu se společností Igalia široké veřejnosti společnou práci na vývoji ovladače Vulkan pro desky Raspberry Pi. Zpočátku uváděli, že bude kompatibilní pouze s nejnovější deskou „Raspberry Pi 4“, a tím zahájili počáteční fázi vývoje. Nezmínili konkrétní datum, kdy bude ovladač hotový ani kdy bude vhodný pro spuštění reálných aplikací.
Jediné, co zmínili, bylo, že by to mohlo být možné v druhé polovině roku 2020. Ve specifikacích řadiče bylo zmíněno, že je omezen na kompatibilitu s grafickým akcelerátorem VideoCore VI, používaným od modelu Raspberry Pi 4, a že nebude kompatibilní se staršími deskami, což znamená, že modely z verze 3b+ a starší byly vyloučeny.
Dále uvedli, že ve srovnání s OpenGL může použití Vulkanu zlepšit výkon grafických aplikací a her.
S touto novinkou bylo mnoho fanoušků a majitelů Raspberry Pi, který nebyl modelem 4, zklamáni, protože měli pocit, že byli odloženi stranou a že prakticky oznámili, že již nemá cenu pracovat na další podpoře kterékoli z těchto desek.
Ale nyní v novějších zprávách se zdá, že se věci změnily, když vývojář přišel dokázat opak.
O RPi-VK-Driver 1.0
Martin Thomas, inženýr společnosti NVIDIA, byl zodpovědný za vývoj ovladače RPi-VK-Driver, což je ovladač s otevřeným zdrojovým kódem, který slovy svého autora:
„Ovladač byl vyvinut společností, avšak vývoj byl prováděn jako osobní projekt, který nesouvisí s NVIDIA (ovladač byl vyvinut v posledních dvou letech ve volném čase).“
Tato první verze open-source ovladače RPi-VK-Driver 1.0 je distribuována pod licencí MIT a implementuje podporu grafického API Vulkan pro starší desky Raspberry Pi, které obsahují grafický procesor Broadcom Videocore IV.
Řadič je vhodný pro všechny modely desek Raspberry Pi vydané před verzí Raspberry Pi 4.
Z podporovaných modelů jsou v úložišti uvedeny následující:
- nula
- Nula w
- 1 model A
- 1 model A +
- 1 model B
- 1 model B +
- 2 Model B
- 3 Model A +
- 3 Model B
- 3 Model B +
- Výpočetní modul 1
- Výpočetní modul 3
- Výpočetní modul 3 lite
- Výpočetní modul 3+
- Výpočetní modul 3+ lite
Protože možnosti grafických karet VideoCore IV, kterými jsou vybaveny starší modely Raspberry Pi, nejsou dostatečné pro plnou implementaci Vulkanu, ovladač implementuje pouze podmnožinu Vulkan API , která nepokrývá celý standard, ale snaží se ho dodržovat v rámci možností týmu.
Dostupná funkcionalita je však dostatečná pro mnoho aplikací a her a výkon je díky efektivnější správě paměti, vícevláknovému zpracování příkazů GPU a přímému řízení operací GPU daleko před ovladači OpenGL.
Ovladač také podporuje funkce jako MSAA (Multisample Anti-aliasing), nízkoúrovňové shadery a čítače výkonu . Jedním z omezení je absence podpory pro GLSL shadery, které v této fázi vývoje ještě nejsou k dispozici.
Pokud jde o autora, můžeme zdůraznit, že byl také zodpovědný za zveřejnění portu hry Quake 3 pro Raspberry Pi, která slouží jako ukázka schopností nového řadiče.
Hra je založena na enginu ioQuake3, ke kterému byl přidán modulární renderovací back-end založený na Vulkanu, původně vyvinutý projektem Quake III Arena Kenny Edition. Použitím nového ovladače ve hře bylo možné na desce Raspberry Pi 100B + vykreslit více než 3 snímků za sekundu (FPS) při výstupu 720p.
A konečně, pokud jde o implementaci tohoto kontroleru a chcete se o něm dozvědět více , můžete se podívat na repozitář kontrolerů na následujícím odkazu.