Hogyan működik a Proton a Steam Decken

Ha van Steam Deckje, és kíváncsi arra, hogyan játssza le a Windows-alapú játékokat Linuxon, akkor jó helyen jár!

Ha van a Steam Deck, valószínűleg meg fog lepődni, hogy milyen sok játék fut rajta. Nem csak kézi számítógép, hanem Linuxot is futtató kéziszámítógép. Annak ellenére, hogy az operációs rendszer rossz híre fut videojátékokkal, az AAA címek, mint pl Cyberpunk: 2077 és Grand Theft Auto: V nagyon jól fut a Steam Decken. Ez a Protonnak, a Valve és a CodeWeavers által kifejlesztett kompatibilitási rétegnek köszönhető.

Mi az a Proton? Hogyan működik?

A Proton valójában néhány évvel idősebb, mint a Steam Deck, amely először 2018 augusztusában jelent meg. Akkoriban a Valve azt mondta, hogy "most már létezhetnek olyan Windows-játékok, amelyekben jelenleg nincs Linux verzió telepítve és közvetlenül a Linux Steam kliensből fut, kiegészítve a natív Steamworks-szel és az OpenVR-rel támogatás."

A Proton előtt a Linuxot használó játékosoknak gyakran natív játékportokra volt szükségük a rendszerükhöz, vagy kénytelenek voltak harmadik féltől származó kompatibilitási rétegekre hagyatkozni, mint például a Wine. A Wine elég jól működik, de gyakran sok finomítást igényel, hogy a dolgok tökéletesen működjenek, például olyan játékokkal, mint pl

DOOM (2016) játszható egy kis munkával.

Itt jön be a Proton. Megszünteti a végfelhasználói oldalon végzett munka szükségességét. Az ötlet az, hogy egyszerűen telepítheti a játékot, és úgy játszhatja, mintha egy natív port lenne, anélkül, hogy a végfelhasználónak tudnia kellene, mi folyik a motorháztető alatt.

A Proton a Wine módosított változatával együtt működik. A Wine a Windows API-hívásokat POSIX (Portable Operating System Interface) hívásokra fordító rétegként működik miközben újra létrehoz egy Windows címtárszerkezetet, és alternatív rendszermegvalósításokat biztosít szolgáltatások. A Wine nem használ emulációt vagy virtualizációt a Windows binárisok végrehajtásához.

A Proton másik része, amely elengedhetetlen a játékegyenlethez, az a képessége, hogy képes lefordítani a Direct3D API-hívásokat. Tartalmazza a DXVK-t, a Direct3D 9, 10 és 11 Vulkan-alapú fordítási rétegét, amely támogatja a Direct3D 12-t a VKD3D-Protonon keresztül, amely a Wine VKD3D elágazása.

Ami a Direct3D-t illeti, ez egy grafikus API Windows gépekhez, és a DirectX része, és a Proton lényegében ezeket a Direct3D API hívásokat értelmezi. A Proton létrehozza ennek a könyvtárnak a saját verzióját, amellyel a játékok kapcsolódhatnak. A Proton ezután belsőleg továbbítja ezeket a hívásokat a Vulkan API-hoz, így a játék úgy futhat, mintha Windows gépen lenne.

A Proton teljesen nyílt forráskódú, amely a Valve szerint "lehetővé teszi a haladó felhasználók számára a Proton megváltoztatásának képességét". A legnépszerűbb egyedi Proton build a Proton-GE, amely magában foglalja a legújabb Proton kísérleti változtatásokat. Más javításokat és funkciókat is tartalmaz, amelyeket a hagyományos Proton nem.

A Proton jövője

A Protonon mindig lehet dolgozni és fejleszteni, de jelenlegi állapotában ez már egy kiforrott és fejlett projekt. Mivel hatalmas játékokat lehet már lejátszani rajta, a játékosok nem kívánhatnak többet. Még mindig vannak kompatibilitási problémák és grafikus hibák, de általában véve a Protonon keresztüli lejátszás megkülönböztethetetlen a Windows natív lejátszásától.

Az egyik dolog, amire a Valve feltétlenül összpontosíthat, az az, hogy a Protonon alapuló Wine verziót egy újabb kiadásra alapozzák. A Proton több kiadással elmarad a legújabb hivatalos Wine verziótól, és a nyílt forráskódú közösségi projektek, például a Proton-GE célja, hogy további funkciókat adjon hozzá a Wine újabb verzióihoz, és új alapokat állítson be.

Természetesen a Valve végső célja a stabilitás és a kompatibilitás, ezért nem csak azokat a változtatásokat tartalmazza, amelyeket a Proton-GE-hez hasonló projektek el tudtak érni. Ha Ön erős felhasználó, akkor semmi sem akadályozza meg a Proton-GE telepítésében és használatában, de a mindennapi játékosok számára a stabil Proton határozottan a jobb megoldás.