RPi-VK-Drive: GPU-ohjain, jossa Vulkan-tuki vanhemmille RPI-levyille

Jonkin aikaa sitten Raspberry Pi Foundation ja Igalia ilmoittivat suurelle yleisölle yhteistyöstään Vulkan-ajurin kehittämisessä Raspberry Pi -korteille. Aluksi he totesivat, että se olisi yhteensopiva vain uusimman kortin, "Raspberry Pi 4:n", kanssa, ja näin aloittivat kehitysvaiheen. He eivät maininneet tarkkaa päivämäärää sille, milloin ajuri olisi valmis tai milloin se soveltuisi oikeiden sovellusten käynnistämiseen.

Ainoa asia, jonka he mainitsivat, oli, että tämä saattaisi olla mahdollista vuoden 2020 jälkipuoliskolla. Ohjaimen teknisissä tiedoissa mainittiin, että se on yhteensopiva vain Raspberry Pi 4 -mallista lähtien käytetyn VideoCore VI -näytönohjaimen kanssa , eikä se olisi yhteensopiva vanhempien emolevyjen kanssa, mikä tarkoittaa, että 3b+:n ja sitä vanhempien mallien myynti suljettiin pois.

Lisäksi he mainitsivat, että OpenGL: ään verrattuna Vulkanin käyttö voi parantaa grafiikkasovellusten ja -pelien suorituskykyä.

Tämän uutisen myötä monet Raspberry Pi: n, joka ei ollut malli 4, faneista ja omistajista oli pettynyt, koska he kokivat olevansa syrjässä ja ilmoittivat käytännössä, ettei enää kannata työskennellä näiden levyjen tukemisen jatkamiseksi.

Mutta nyt tuoreissa uutisissa näyttää siltä, ​​että asiat ovat muuttuneet, kun kehittäjä tuli todistamaan toisin.

Tietoja RPi-VK-Driver 1.0: sta

NVIDIA-insinööri Martin Thomas vastasi RPi-VK-Driverin kehittämisestä. Kyseessä on avoimen lähdekoodin ajuri, joka kirjoittajansa sanoin:

"Ohjaimen on kehittänyt, mutta kehitys toteutettiin henkilökohtaisena projektina, joka ei liity NVIDIA: han (ohjain on kehitetty viimeisen kahden vuoden aikana vapaa-ajallaan)."

Tämä avoimen lähdekoodin RPi-VK-Driver 1.0:n ensimmäinen versio jaetaan MIT-lisenssillä ja se toteuttaa Vulkan-grafiikkarajapinnan tuen vanhemmille Raspberry Pi -levyille, jotka sisältävät Broadcom Videocore IV -näytönohjaimen.

Ohjain sopii kaikkiin Raspberry Pi -korttimalleihin, jotka on julkaistu ennen Raspberry Pi 4:ää.

Tuetuista malleista seuraavat mainitaan arkistossa:

  • cero
  • Zero w
  • 1 malli A
  • 1 malli A +
  • 1 malli B
  • 1 malli B +
  • 2 Malli B
  • 3 Malli A +
  • 3 Malli B
  • 3 Malli B +
  • Laske moduuli 1
  • Laske moduuli 3
  • Laske Module 3 lite
  • Laske moduuli 3+
  • Laske moduuli 3+ lite

Koska vanhempien Raspberry Pi -mallien VideoCore IV -näytönohjaimen ominaisuudet eivät riitä Vulkanin täydelliseen toteutukseen, ajuri toteuttaa vain osan Vulkan-rajapinnasta , joka ei kata koko standardia, mutta pyrkii noudattamaan sitä niin pitkälle kuin tiimi sen sallii.

Käytettävissä oleva toiminnallisuus on kuitenkin riittävä monille sovelluksille ja peleille, ja suorituskyky on huomattavasti OpenGL-ajureita edellä tehokkaamman muistinhallinnan, GPU-komentojen monisäikeisen käsittelyn ja GPU-toimintojen suoran ohjauksen ansiosta.

Ajuri tukee myös ominaisuuksia, kuten MSAA:ta (Multisample Anti-aliasing), matalan tason varjostimia ja suorituskykylaskureita . Yksi rajoitus on GLSL-varjostimien tuen puute, sillä niitä ei ole vielä saatavilla tässä kehitysvaiheessa.

Kirjoittajan osalta voimme korostaa, että hän oli vastuussa myös Quake 3 -pelin portin julkaisemisesta Raspberry Pi: lle, mikä on osoitus uuden ohjaimen ominaisuuksista.

Peli perustuu ioQuake3-moottoriin, johon lisättiin alun perin Quake III Arena Kenny Edition -projektin kehittämä Vulkaniin perustuva modulaarinen renderöintiohjelma. Käyttämällä uutta pelin sisäistä ohjainta voitiin tuottaa yli 100 kuvaa sekunnissa (FPS) Raspberry Pi 3B + -kortilla 720p: n ulostulolla.

Lopuksi, tämän ohjaimen toteutuksesta ja lisätiedoista voit tutustua ohjainrepositorioon seuraavasta linkistä.


Lisää ensisijaiseksi lähteeksi Googlessa