RPi-VK-Drive: GPU vezérlő Vulkan támogatással a régebbi RPI táblákhoz

Egy ideje a Raspberry Pi Alapítvány az Igaliával közösen bejelentette közös munkájukat a Raspberry Pi alaplapokhoz készült Vulkan illesztőprogram fejlesztésén. Kezdetben azt állították, hogy az csak a legújabb „Raspberry Pi 4” alaplappal lesz kompatibilis, és ezzel megkezdődött a fejlesztés kezdeti szakasza. Nem említettek konkrét dátumot arra vonatkozóan, hogy mikor lesz kész a illesztőprogram, vagy hogy mikor lesz alkalmas valódi alkalmazások elindítására.

Csak annyit említettek, hogy ez 2020 második felében lehetségessé válhat. A vezérlő specifikációi között megemlítették, hogy a kompatibilitás a Raspberry Pi 4 modell óta használt VideoCore VI grafikus gyorsítóval korlátozódik, és nem lesz kompatibilis a régebbi alaplapokkal, ami azt jelenti, hogy a 3b+ és a korábbi modelleket kizárták.

Továbbá megemlítették, hogy az OpenGL-hez képest a Vulkan használata javíthatja a grafikus alkalmazások és játékok teljesítményét.

Ezzel a hírrel sok rajongó és egy olyan Raspberry Pi tulajdonos, aki nem a 4-es modell volt, csalódott, mert úgy érezte, hogy félretették őket, és gyakorlatilag bejelentették, hogy már nem érdemes tovább dolgozni ezen táblák bármelyikének támogatásán.

De most a legfrissebb hírekben úgy tűnik, hogy a dolgok megváltoztak, mivel egy fejlesztő az ellenkezőjét bizonyította.

Az RPi-VK-Driver 1.0 ismertetése

Martin Thomas, az NVIDIA mérnöke volt felelős az RPi-VK-Driver fejlesztéséért, amely egy nyílt forráskódú illesztőprogram, és a szerző szavaival élve:

"A vezérlőt fejlesztette, azonban a fejlesztést személyes projektként hajtották végre, nem kapcsolódva az NVIDIA-hoz (a vezérlőt az elmúlt két évben szabadidejében fejlesztették)."

A nyílt forráskódú RPi-VK-Driver 1.0 ezen első verziója MIT licenc alatt kerül terjesztésre, és Vulkan grafikus API támogatást nyújt a régebbi Raspberry Pi kártyákhoz, amelyek tartalmazzák a Broadcom Videocore IV GPU-t.

A vezérlő minden, a Raspberry Pi 4 előtt kiadott Raspberry Pi kártyamodellhez alkalmas.

A támogatott modellek közül az alábbiak szerepelnek a tárban:

  • zéró
  • Zero w
  • 1 A modell
  • 1 A + modell
  • 1 B modell
  • 1 B + modell
  • 2 B modell
  • 3 A + modell
  • 3 B modell
  • 3 B + modell
  • Számítási modul1
  • Számítsa ki a 3. modult
  • Compute 3. modul lite
  • Számítsa ki a 3+ modult
  • Számítsa ki a 3+ modul egyszerűbb verzióját

Mivel a régebbi Raspberry Pi modellekben található VideoCore IV GPU képességei nem elegendőek a Vulkan teljes körű megvalósításához, a driver csak a Vulkan API egy részhalmazát valósítja meg , amely nem fedi le a teljes szabványt, de amennyire a csapat megengedi, megpróbálja követni azt .

A rendelkezésre álló funkcionalitás azonban számos alkalmazáshoz és játékhoz elegendő, a teljesítmény pedig messze meghaladja az OpenGL-illesztőprogramokét a hatékonyabb memóriakezelés, a GPU-parancsok többszálú feldolgozása és a GPU-műveletek közvetlen vezérlése miatt.

A meghajtó olyan funkciókat is támogat, mint az MSAA (Multisample Anti-aliasing), az alacsony szintű shaderek és a teljesítményszámlálók . Az egyik korlátozás a GLSL shaderek támogatásának hiánya, amelyek a fejlesztés jelenlegi szakaszában még nem érhetők el.

Ami a szerzőt illeti, kiemelhetjük, hogy ő volt felelős a Quake 3 játék portjának kiadásáért is a Raspberry Pi számára, amely az új vezérlő képességeinek bemutatására szolgál.

A játék az ioQuake3 motorra épül, amelyhez egy eredetileg a Quake III Arena Kenny Edition projekt által kifejlesztett Vulkan alapú moduláris renderelési háttér is társult. Az új vezérlő használatával a Raspberry Pi 100B + táblán 3p-s kimenettel több mint 720 képkocka / másodperc (FPS) renderelhető volt.

Végül, a vezérlő megvalósításával és további információkkal kapcsolatban tekintse meg a vezérlő adattárát a következő linken.


Hozzáadás előnyben részesített forrásként a Google-ben