For en tid tilbake annonserte Raspberry Pi Foundation, sammen med Igalia , offentligheten sitt felles arbeid med utviklingen av en Vulkan-driver for Raspberry Pi-kort. I utgangspunktet uttalte de at den bare ville være kompatibel med det nyeste kortet, «Raspberry Pi 4», og dermed startet den innledende fasen av utviklingen. De nevnte ingen spesifikk dato for når driveren ville være klar eller når den ville være egnet for lansering av virkelige applikasjoner.
Det eneste de nevnte var at dette kunne være mulig i andre halvdel av 2020. I kontrollerspesifikasjonene ble det nevnt at den er begrenset til kompatibilitet med grafikkakseleratoren VideoCore VI, som har blitt brukt siden Raspberry Pi 4-modellen, og at den ikke ville være kompatibel med eldre kort, noe som betyr at modeller fra 3b+ og tidligere ble utelukket.
Videre nevnte de at, sammenlignet med OpenGL, kan bruken av Vulkan forbedre ytelsen til grafiske applikasjoner og spill.
Med denne nyheten var mange fans og eiere av en Raspberry Pi som ikke var modell 4, skuffet fordi de følte at de ble lagt til side og at de praktisk talt kunngjorde at det ikke lenger er verdt å jobbe med å fortsette å støtte noen av disse brettene.
Men nå i nyere nyheter ser det ut til at ting har endret seg når en utvikler kom for å bevise noe annet.
Om RPi-VK-Driver 1.0
Martin Thomas, en NVIDIA-ingeniør, var ansvarlig for utviklingen av RPi-VK-Driver, som er en driver med åpen kildekode som, med forfatterens ord:
"Kontrolleren ble utviklet av, men utviklingen ble utført som et personlig prosjekt, uten tilknytning til NVIDIA (kontrolleren ble utviklet de to siste årene på fritiden)."
Denne første versjonen av den åpne kildekoden RPi-VK-Driver 1.0 distribueres under MIT-lisensen og implementerer Vulkan-grafikk-API-støtte for eldre Raspberry Pi-kort som inkluderer Broadcom Videocore IV GPU.
Kontrolleren passer for alle Raspberry Pi-kortmodeller utgitt før Raspberry Pi 4.
Av de støttede modellene er følgende nevnt i depotet:
- null
- Null m
- 1 modell A
- 1 modell A +
- 1 modell B
- 1 modell B +
- 2 Modell B
- 3 Modell A +
- 3 Modell B
- 3 Modell B +
- Beregningsmodul 1
- Beregn modul 3
- Beregn modul 3 lite
- Beregn modul 3+
- Beregn modul 3+ lite
Siden funksjonene til VideoCore IV GPU-en, som er utstyrt med eldre Raspberry Pi-modeller, ikke er tilstrekkelige for full implementering av Vulkan, implementerer driveren bare et delsett av Vulkan API , som ikke dekker hele standarden, men prøver å følge den så langt teamet tillater det.
Den tilgjengelige funksjonaliteten er imidlertid tilstrekkelig for mange applikasjoner og spill, og ytelsen er langt foran OpenGL-drivere på grunn av mer effektiv minnehåndtering, flertrådet prosessering av GPU-kommandoer og direkte kontroll over GPU-operasjoner.
Driveren støtter også funksjoner som MSAA (Multisample Anti-aliasing), lavnivåshadere og ytelsestellere . En begrensning er mangelen på støtte for GLSL-shadere, som ennå ikke er tilgjengelige på dette utviklingsstadiet.
Når det gjelder forfatteren, kan vi markere at han også var den som hadde ansvaret for å publisere Quake 3-spillporten for Raspberry Pi, som fungerer som en demonstrasjon av funksjonene til den nye kontrolleren.
Spillet er basert på ioQuake3-motoren, som ble lagt til en modulær gjengivelsesbackend basert på Vulkan, opprinnelig utviklet av Quake III Arena Kenny Edition-prosjektet. Ved å bruke den nye spillkontrolleren var det mulig å gjengi over 100 bilder per sekund (FPS) på Raspberry Pi 3B + -brettet ved 720p-utgang.
Til slutt, angående implementeringen av denne kontrolleren og for å lære mer om den , kan du se i kontrollerlageret på følgende lenke.