:

Szerző: Gálffy Csaba

2018. augusztus 22. 10:21

Újra belökné a linuxos játékokat a Valve

Nagyon érett már a linuxos-windowsos átjárást hozó kompatibilitási megoldások fejlettsége, a Valve most arra tett kísérletet, hogy ezeket (központtban a Wine-nal) olyan minőségi szintre hozza, ami már a népszerű játékok alá is megfelel. Izgalmas kísérlet, de a cég nagyon hisz benne.

A Valve nagyon régóta viszi a linuxos játékosok zászlóját, a cég hosszútávú eltökélt szándéka, hogy ezt a platformot is elsőrendű gaming operációs rendszerré emelje. Ezt szolgálta korábban a SteamOS próbálkozás is, és ezt célozza az új, egyelőre bétás megoldás is: a Steam for Linux és a Steam Play egy új kompatibilitási réteget kap, amellyel a nem portolt Windows-játékok módosítás nélkül futnak majd Linuxon. Lássuk a részleteket!

Érett alapokon

Az új projekt a blogbejegyzés szerint két évvel ezelőtt indult, azzal a céllal, hogy a hatalmas Steam-katalógust elérhetővé tegye Linuxon. Ez sok ezer olyan címet jelent, amelyek fejlesztése már régen, akár egy évtizede lejárt, a kiadó pedig nem költ arra, hogy portolja a játékot Linuxra. A fejlesztés neve Proton, a gyakorlatban ez a jól ismert Wine kompatibilitási réteg módosított, finomított, más kompatibilitási eszközökkel integrált változata, amely a várakozások szerint sokkal jobb élményt nyújt, mint a nyers eredeti.

steam2

A fejlesztés lényege: a kompatibilitási keretrendszernek köszönhetően a Windowsra készült játékok módosítás nélkül telepíthetőek és futtathatóak Linuxon, közvetlenül a Steam kliensből, natív Steamworks és OpenVR támogatással. A DirectX 11 és 12 által kínált grafikus funkciók implementációjáért a Vulkan felel, amely jó kompatibilitást és szerény teljesítménycsökkenést hoz a készítők szerint.

A Wine vajon mi?

A Wine (Wine is not an Emulator poénos rövidítéssel) egy kompatibilitási réteg, amely a windowsos rendszerhívásokat képes linuxos hívásokra fordítani, az alkalmazások számára transzparens módon. A megoldás alternatív implementációt tartalmaz a windowsos függvénykönyvtárakhoz és a windowsos fájlrendszerhez és változatos egyéb, a futás során szükséges Windows-elemekhez is. A Wine érdekessége, hogy nem emulátor és nem is virtualizáció, inkább egy olyan sandbox (vagy konténer), amely minden szükséges függőséget tartalmaz egy Windows alkalmazás futtatásához Linux (és FreeBSD, macOS illetve Android) környezetben.

A Proton több erőfeszítés eredője. Egyrészt a Valve erőforrást (értsd: fejlesztőt és pénzt) áldozott a Wine projektre, a CodeWeaversszel közösen. Ezen túl a vkd3d (DX12), a DXVK (DX11) és a wined3d (DX9 és DX11) kompatibilitási rétegek fejlesztésével is foglalkozott a cég, az AMD-vel, az Intellel, az Nvidiával és a Vulkan API-ért felelős Khronos-szal együttműködésben. A többszálú végrehajtást javító esync patch-csomag továbbcsiszolására is jutott erőforrás. A Proton alapját tehát minden tekintetben ezen a nyílt forráskódú, meglévő projektek képezik, a Valve azonban vette az erőfeszítést ezek finomítására és összecsiszolására. Az eredmény a Proton, amely (a béta állapot után) hivatalosan támogatott megoldásként léphet a reflektorfénybe.

steamplay2

A Valve a szabad szoftveres közösség normáinak megfelelően a módosításokat átadta az eredeti projekteknek, így ha jónak látják, szabadon beemelhetik azokat a többi felhasználójuk számára is.

A Proton teljesen nyílt forráskódú és elérhető a GitHub felületén. A kódban nem csak nézelődni lehet, haladó felhasználók készíthetnek módosított lokális verziót belőle, és a Steam befogható arra, hogy ezzel az egyedi verzióval futtassa a kiválasztott játékot. Ezzel megnyílik a lehetőség, hogy a DRM-mel védett játékokat azért lehessen szabad szoftveres közegben tesztelni, a közösségi patcheket pedig a fejlesztők nagyon szívesen befogadják.

Tisztább, szárazabb érzés

A munka jelentőségét a felhasználóbarát apróságok adják, amelyek a "működik" és a "jól működik" közötti gátat jelentik: rendesen támogatott a teljes kijelzős megjelenítés, a játékokat a rendszer tetszőleges képernyőn tudja megjeleníteni (a fő képernyő felbontásától függetlenül) és virtuális asztalok használata nélkül. Jobb a kontrollerek támogatása, a Steam kliens automatikusan felismeri a támogatott, csatlakoztatott egységeket és ezeket elérhetővé teszi a játékból. Illetve javult a többszálú végrehajtást használó játékok teljesítménye a sima Wine-hoz viszonyítva. A teljesítmény a Valve ígérete szerint nem azonos a Windows alatt elérttel, de a grafikus API fordításán túl nincs sebességkorlát, ez pedig (különösen a kicsit régebbi címek esetében) már szinte észrevehetetlen.

steamplay1

Ünnepi mix a bértranszparenciától a kódoló vezetőkig

Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

A Valve dolgozói a népszerűbb játékokat egyenként is tesztelik és javítgatják a felmerülő kompatibilitási hibákat, első körben 27 játék és program kapta meg a plecsnit, ezek közé egészen változatos címek is bekerültek, az első Doomtól a Warhammer 40k stratégiáig, a Quake-től a Star Wars: Battlefront 2-ig. A tervek szerint ahogy a Proton elhagyja a béta címkét, a listán található játékokat megvásárlásra is ajánlja majd a Steam kliens.

A tesztelés gyors ütemben zajlik, így ez a lista várhatóan gyorsan sokkal hosszabb lesz. A bevizsgált játékokat a rendszer kattintásra megvásárolhatóvá-telepíthetővé teszi, de a hozzáférést a többi, nem vizsgált játékhoz sem korlátozza: igény szerint a felhasználók tetszőleges, a jóváhagyott listán nem szereplő címeket is telepíthetnek a megfelelő kapcsoló átbillentésével - igaz, ezt csak haladó felhasználóknak javasolja a Valve. A bevizsgálásra lehet címeket jelölni, a közösség által kért népszerűbb játékok a tesztelő csapat prioritását élvezik majd.

A Proton a Valve szerint nem csak a meglévő katalógus játszhatóságában hoz majd újat, hanem az új játékok linuxos portját is meg szeretné könnyíteni.

a címlapról