Vulkan: rajapintojen kunkku – PC-pelurin tehostin | Mistä kyse selkeämmin? Entä eri ajurit?

®LINUX-SAUNA tuotantoa

           

Vulkan

Kyllä; se kirjoitetaan k:lla 🙂 — Vulkan on vapaa, tehokas, alustariippumaton ohjelmointirajapinta (API) esim. vaativan peligrafiikan käsittelyyn.

Olet ehkäpä kuullut Microsoftin (elikkäs Windows) Direct3D 8/9/11/12 -rajapinnoista. OpenGL on vapaista valinnoista ollut mukana pitkään – Vulkan vie pelin seuraavalle tasolle.

Vulkan –  kuten nuo verrokit – ovat vakiintuneita rajapintoja; videopeli kertoo näytönohjaimelle (kuten AMD, NVIDIA tai Intel) mitä tehdä. Rajapinta siis toimii kuin ohjelmien ja laitteiston välikätenä.

  • Vulkan on vapaa- ja ohjelmakoodiltaan avoin rajapinta / ajuristo
  • Avoimmuuden ansiosta kehitys tehostuu
  • Virheet havaitaan nopeasti
  • Vulkan käskee lähellä kuuntelevaa laitteistoa (suoraviivaisuus)
  • Vastaa nykyajan vaatimuksiin
  • Alustariippumaton (käyttöjärjestelmät samalla viivalla)
  • Monisäikeinen ajomalli parantaa ruudunpäivitystä (sulavuus)
  • Keventää laitteiston taakkaa (näyttis / suoritin)
  • …nämä laitetaan työskentelemään edistyneemmin yhteistyössä
  • PC, puhelimet, tabletit, konsolit, sulautetut…
  • Vulkan tarjoaa ohjelmistokehittäjille omaehtoisuuden
  • Verraten; DirectX (vain Windows / suljettu) on muinaisjäänne
  • Kyseessä koko tietokoneilevan maailman yhteinen hyvä (myös Windows)

Ajurit ovat oleellinen osa tietokoneen käyttöjärjestelmää.

  • Ajurin tarkoitus on saattaa tietty laite toimimaan sen kaikissa mahdollisuuksissaan
  • Mesa 3D -ajurikatras sisältää kaikki tarvittavat avoimet / vapaat nykyaikaiset Vulkan (sekä OpenGL) -ajurit

DXVK taas kääntää Windowsin Direct3D-pelien käskyt (vaikkapa esineiden hahmontamiseen) Vulkaniksi Linuxilla ajettavaksi (lisää: Proton).

Suora vertailu käytännön suorituskyvyssä Vulkan / DirectX / OpenGL:

Mesa RADV ja AMDVLK

Nämä molemmat ovat Vulkan-ajureita AMD GCN (pienrakenteiset laitteet) ja AMD RDNA (Radeon DNA) näytönohjaimille.

Radeon on AMD:n laitesarja. RADV (Radeon Vulkan) on Vulkan-ajuri näille ”radikoille” Linuxissa.

AMDVLK on kuitenkin AMD:n oma virallinen (avoimen lähdekoodin) Vulkan-ajuri Linuxille.

Ensin mainittu Mesa RADV tuppaa olemaan suositumpi Linux-pelaajien keskuudessa. Ajuri on myös Valven (Steam, Steam Deck) virallisesti tukema.

Vulkan asennettu / toiminnassa?

Helpoiten asia selviää napsauttamalla (tai esim. Ubuntussa ja Linux Mint:issä ctrl alt t -näppäinyhdistelmällä) syöttäen käskyn:

vkcube

Nyt pitäisi näkyä pyörivä kuutio toimessaan uudessa ikkunassa mikäli Vulkan:ia hyödynnetään jo valmiiksi.

  • Linux-myönteisen AMD:n näytönohjainten ajurit saavat Vulkanilaista voimaa suoraan Mesa 3D -ajurikatraan kautta
  • Mesa 3D (tai lyh. Mesa) on valmiiksi mukana kaikissa valtavirran Linuxeissa
  • NVIDIA-näyttisten kohdalla Vulkan toimitetaan virallisen (ja suljetun) NVIDIA-ajurin mukana

Jos haluaa käyttää avoimia (epävirallisia) NVIDIA-ajureita; Nouveau / NVK (Vulkan sulautus siihen) on sellainen tuossa tilanteessa (sekä vakio ilman eri asennusta kaikissa valtavirran Linuxeissa).

Huom! Vaativien AAA-pelien pelaajat eivät vielä voi NVIDIA:n laitteiden kera käyttää vapaita ajureita; potku tällä hetkellä ei riitä (eikä NVIDIA välitä).

Virallisen ajurin asennus kuitenkin helposti tähän tapaan:

Pelaajan tulee asentaa NVIDIA-näytönohjaimeensa suositellusti aina nämä viralliset ajurit. AMD:n kanssahan erillisiä toimia ei vaadita.

32-bittisyys / Heroic Games Launcher ja Lutris

Nämä ovat Linux-pelaajan vakiintuneita käynnistimiä. Samasta pisteestä kaikkien muidenkin kauppojen pelit (Epic, GOG…) Steam:in lisäksi.

Vulkan-kirjastoja toimitetaan myös vanhemmalla 32-bittisyydellä; retropelit.

Mikäli vaikkapa Lutris herjaa ”Vulkan-kirjastojen uupumisesta” – ”Missing Vulkan Libraries” vaikka oletetusti kaiken piti olla kohdallaan – dilemma johtuu juuri näistä 32-bittisistä (i386) kirjastoista.

Ne voidaan asentaa nopeasti erikseen päätteestä:

sudo apt install mesa-vulkan-drivers:i386
sudo apt-get install dxvk

(Jälkimmäinen tuo sisään myös osat dxvk dxvk-wine32-development:i386 dxvk-wine64-development sekä 32-bit icd-lataimen).

Vulkan on aidosti alustariippumaton; eri alustojen ”syrjinnän” aikakausi on lipumassa ohitse. Vulkania hyödynnetään kaikkialla:

  • Sailfish OS (Jolla)
  • Android
  • Linux
  • Fuchsia
  • BSD
  • QNX
  • Windows
  • Steam Deck
  • Nintendo Switch
  • Stadia
  • Tizen
  • Raspberry Pi
  • vxWorks
  • HarmonyOS
  • OpenHarmony
  • Haiku

_✍️Tatu Sjöholm (@Kopimi)


Lämmöllä Linuxiin:

®LINUX-SAUNA | Ryhmä

           

<= Etusivulle