®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ä