Hirdetés

Linuxon is futtathatóvá tenné a gyártóspecifikus shadereket a DXVK

A vezető fejlesztő a DXVK-AGS projekt részeként kísérletezik ezzel, amivel az AMD szervizkönyvtárát portolnák Linuxra.

A Valve Proton kódnevű projektje egyre jobban kiterjeszti a Windows operációs rendszerre írt játékok futtathatóságát Linuxon. Ez a végül Steam Play névre keresztelt rendszer több komponensből áll, nagyrészt a Wine-ra építkezik, de a DXVK is egy fontos eleme. Utóbbi a Wine segítségével képes Direct3D 10 és 11 API-t használó alkalmazásokat futtatni a linuxos Vulkan implementációkon.

Maga a rendszer kellemes kezdeményezés, a lehetőségeket figyelembe véve elég jól működik, de gondok azért vannak bőven. A legnagyobb problémákat a gyártók szervizkönyvtárai okozzák, ugyanis az AMD és az NVIDIA az elmúlt években kiterjesztette a DirectX 11 és 12 API-k lehetőségeit. Előbbi cég az AGS, míg utóbbi az NVAPI segítségével tesz kihasználhatóvá bizonyos, előbb megnevezett API-kban szabványosan nem elérhető képességeket. Ezek részben lefedik egymást, tehát függetlenül attól, hogy nem szabványos shaderekre van szükség a működésükhöz, a céljuk nagyjából ugyanaz. Windowson ebből nincs is gond, de egyik szervizkönyvtárnak sincs Linux portja, ami megnehezíti az olyan projekteket, mint amilyen a Valve Steam Play.

Hirdetés

Némi öröm az ürömben, hogy az AMD AGS szervizkönyvtára nyílt forráskódú, így a Steam Play például úgy próbálja megkerülni a problémákat, hogy Radeonnak hazudja a GeForce-okat, amivel az AGS még mindig gondot jelent, de ez a forráskód módosíthatósága miatt sokkal kellemesebb ezt felvállalni, mint a teljesen zárt NVAPI-val küzdeni. Utóbbit sem lenne lehetetlen Linuxra implementálni, de az NVIDIA anyatigrisként védi a technológiáit, és azok visszafejtése esetén nem restek belengetni a jogi lehetőségeket sem.

A fenti koncepció viszont nagyjából működik, és nem kell tartani attól sem, hogy az NVIDIA egy szép nagy pert akaszt a projektek nyakába, amelyek a felhasznált komponensek miatt továbbra is teljesen nyílt forráskódúak maradhatnak.

A DXVK azonban továbblépne, és a projektet vezető Philip Rebohle elkezdte Linuxra portolni az AMD AGS szervizkönyvtárának egyes képességeit. Ez már így lényegesen többet biztosítana, mint a Windowsra írt játékok szimpla működése, de azért gond itt is lesz bőven. Például az egyik nehézség, hogy az AGS nem kompatibilis visszafelé. Minden egyes verziója önálló, akár szimplán a támogatást kínáló program szintjén is, amire a meghajtókban szintén van direkt implementáció. Ez ugyan a Linux esetében részletkérdés, mert úgyis a Vulkan implementáción futna az alkalmazás, de a működéshez az AGS-t használó játékokhoz egyedi állományt kell fordítani, amire ki kell cserélni az alkalmazás által szállított amd_ags_x64.dll fájlt. Ha ez nem található meg, akkor egyszerűbb a helyzet, hiszen ilyenkor az alapértelmezett AGS csomag lesz meghívva, de ez ritkának számít.

A DXVK-AGS aktuális verziója a depth bounds test, a multi-draw indirect, a multi-Draw indirect with indirect count és a UAV overlap funkciókat implementálta a Resident Evil 2 (Remake) és a Devil May Cry 5 című játékok DirectX 11-es módjainak megfelelően. A fejlesztők szerint ezzel Linuxon 1-3%-ot gyorsul a Resident Evil 2 futtatási sebessége, de eléggé kezdetleges még a rendszer, így előfordulhatnak stabilitási problémák.

Elméletben egyébként a DXVK-AGS működhet GeForce-okon is, ha a felhasznált funkciók szabványos Vulkan kiterjesztésekre vannak átfordítva, hiszen így csak Radeonnak kell hazudni az NVIDIA hardvereit, a Vulkan implementáció pedig Linuxon adott. Ugyanakkor még ha le is fut a nem szabványos shader, ezeket sose tesztelték a fejlesztők GeForce-okon, tehát jó esély van arra, hogy inkább csak lassítana a beépített, teljesen Radeonokra szabott optimalizálás. Emiatt eléggé kicsi az esély arra, hogy DXVK-AGS valaha is a Steam Play része lesz, de külön természetesen lehet használni.

Hirdetés

Fotóznál vagy videóznál? Mutatjuk, melyik okostelefon mire való igazán!

PR Vásárlás előtt érdemes megnézni, mit kínálnak az aktuális telefonok, ha igazán ütős képeket vagy profi mozgóképeket szeretnénk készíteni.

Azóta történt

Előzmények