Ilang panahon na ang nakalipas, inanunsyo ng Raspberry Pi Foundation, kasama ang Igalia , sa publiko ang kanilang magkasamang gawain sa pagbuo ng isang Vulkan driver para sa mga Raspberry Pi board. Sa simula, sinabi nila na ito ay magiging tugma lamang sa pinakabagong board, ang "Raspberry Pi 4," at sa gayon ay sinimulan ang unang yugto ng pagbuo. Hindi nila binanggit ang isang tiyak na petsa kung kailan magiging handa ang driver o kung kailan ito magiging angkop para sa paglulunsad ng mga totoong aplikasyon.
Ang tanging nabanggit lang nila ay maaaring posible ito sa ikalawang kalahati ng 2020. Sa loob ng mga detalye ng controller , nabanggit na limitado lamang ito sa pagiging tugma sa VideoCore VI graphics accelerator, na ginagamit simula noong Raspberry Pi 4 model, at hindi ito magiging tugma sa mga mas lumang board, ibig sabihin ay hindi na maaaring gamitin ang mga modelo mula sa 3b+ at mga nauna pa.
Bukod dito, nabanggit nila na, kumpara sa OpenGL, ang paggamit ng Vulkan ay maaaring mapabuti ang pagganap ng mga graphic application at laro.
Sa balitang ito, maraming mga tagahanga at nagmamay-ari ng isang Raspberry Pi na hindi ang modelo 4, ang nabigo dahil nadama nila na sila ay isinasantabi at praktikal nilang inihayag na hindi na sulit ang pagtatrabaho sa patuloy na suporta sa alinman sa mga board na ito.
Ngunit, ngayon sa mas kamakailan-lamang na balita, tila nagbago ang mga bagay sa pagpunta ng isang developer upang patunayan kung hindi man.
Tungkol sa RPi-VK-Driver 1.0
Si Martin Thomas, isang inhinyero ng NVIDIA, ang responsable sa pagbuo ng RPi-VK-Driver, na isang open-source driver na, sa mga salita ng may-akda nito:
"Ang controller ay binuo ng, subalit ang pag-unlad ay isinasagawa bilang isang personal na proyekto, na walang kaugnayan sa NVIDIA (ang controller ay binuo sa huling dalawang taon sa kanyang bakanteng oras)."
Ang unang bersyong ito ng open-source na RPi-VK-Driver 1.0 ay ipinamamahagi sa ilalim ng lisensya ng MIT at nagpapatupad ng suporta sa Vulkan graphics API para sa mga mas lumang Raspberry Pi board na kinabibilangan ng Broadcom Videocore IV GPU.
Ang controller ay angkop para sa lahat ng modelo ng Raspberry Pi board na inilabas bago ang Raspberry Pi 4.
Sa mga sinusuportahang modelo, ang mga sumusunod ay nabanggit sa imbakan:
- Zero
- Zero w
- 1 modelo A
- 1 modelo ng A +
- 1 modelo B
- 1 modelo B+
- 2 Model B
- 3 Modelong A +
- 3 Model B
- 3 Modelong B +
- Compute Modyul1
- Compute Modyul 3
- Compute Modyul 3 lite
- Compute Modyul 3+
- Compute Module 3+ lite
Dahil ang mga kakayahan ng VideoCore IV GPU, na nilagyan ng mga mas lumang modelo ng Raspberry Pi, ay hindi sapat para sa buong pagpapatupad ng Vulkan, ang driver ay nagpapatupad lamang ng isang subset ng Vulkan API , na hindi sumasaklaw sa buong pamantayan, ngunit sinusubukang sundin ito hangga't pinapayagan ng koponan.
Gayunpaman, ang magagamit na functionality ay sapat na para sa maraming application at laro, at ang performance ay mas nauuna kaysa sa mga OpenGL driver dahil sa mas mahusay na memory management, multi-threaded processing ng mga GPU command, at direktang kontrol sa mga operasyon ng GPU.
Sinusuportahan din ng driver ang mga tampok tulad ng MSAA (Multisample Anti-aliasing), mga low-level shader, at mga performance counter . Ang isang limitasyon ay ang kakulangan ng suporta para sa mga GLSL shader, na hindi pa magagamit sa yugtong ito ng pag-unlad.
Tulad ng para sa may-akda, maaari nating ipahiwatig na siya din ang namamahala sa paglathala ng daungan ng larong Quake 3 para sa Raspberry Pi, na nagsisilbing pagpapakita ng mga kakayahan ng bagong tagakontrol.
Ang laro ay batay sa engine ng ioQuake3, kung saan idinagdag ang isang modular backend na backend batay sa Vulkan, na orihinal na binuo ng proyekto ng Quake III Arena Kenny Edition. Sa pamamagitan ng paggamit ng bagong in-game controller, posible na mag-render ng higit sa 100 mga frame bawat segundo (FPS) sa board na Raspberry Pi 3B + sa output ng 720p.
Panghuli, tungkol sa implementasyon ng controller na ito at para matuto nang higit pa tungkol dito , maaari mong konsultahin ang controller repository sa sumusunod na link.