Om du har ett Steam Deck och är nyfiken på hur det spelar Windows-baserade spel på Linux, då har du kommit till rätt plats!
Om du har en Steam däck, du är förmodligen förvånad över hur bra många spel körs på den. Det är inte bara en handdator, utan det är också en handdator som kör Linux. Trots OS: s dåliga rykte med att köra tv-spel, AAA-titlar som t.ex Cyberpunk: 2077 och Grand Theft Auto V fungerar mycket bra på Steam Deck. Det är tack vare Proton, kompatibilitetslagret utvecklat av Valve och CodeWeavers.
Vad är proton? Hur fungerar det?
Proton är faktiskt några år äldre än Steam Deck, som först släpptes i augusti 2018. Vid den tiden sa Valve att "Windows-spel utan någon Linux-version som för närvarande är tillgänglig kan nu vara det installerat och kört direkt från Linux Steam-klienten, komplett med inbyggt Steamworks och OpenVR Stöd."
Före Proton, skulle spelare på Linux ofta behöva inbyggda spelportar för sina system eller tvingas förlita sig på tredjepartskompatibilitetsskikt som Wine. Vin fungerar ganska bra men krävde ofta en hel del justeringar för att få saker att fungera perfekt, med spel som t.ex
DOOM (2016) vara spelbar med lite arbete.Här kommer Proton in. Det tar bort behovet av allt arbete på slutanvändarens sida. Tanken är att du bara kan installera spelet och spela det som om det vore en inbyggd port utan att slutanvändaren någonsin behöver veta vad som händer under huven.
Proton fungerar tillsammans med en modifierad version av Wine. Wine fungerar som ett lager som översätter Windows API-anrop till POSIX-anrop (Portable Operating System Interface). samtidigt som man återskapar en Windows-katalogstruktur och tillhandahåller alternativa implementeringar av systemet tjänster. Wine använder ingen emulering eller virtualisering för att köra Windows-binärfiler.
Den andra delen av Proton som är avgörande för spelekvationen är dess förmåga att översätta Direct3D API-anrop. Den inkluderar DXVK, ett Vulkan-baserat översättningslager för Direct3D 9, 10 och 11, med stöd för Direct3D 12 via VKD3D-Proton, en gaffel av VKD3D från Wine.
När det gäller Direct3D är det ett grafik-API för Windows-maskiner och är en del av DirectX, och Proton tolkar i huvudsak dessa Direct3D API-anrop. Proton skapar sin egen version av detta bibliotek som spel kan samverka med. Proton dirigerar sedan internt dessa anrop till Vulkan API, vilket gör att spelet kan köras som om det vore på en Windows-maskin.
Proton är helt öppen källkod, som Valve säger kommer att "ge avancerade användare möjligheten att ändra Proton." Det mest populära anpassade Protonbygget är Proton-GE, som innehåller de senaste experimentella förändringarna i Proton. Den innehåller andra patchar och funktioner som vanliga Proton inte också gör.
Protons framtid
Proton kan alltid bearbetas och förbättras, men som det ser ut är det redan ett moget och utvecklat projekt. Med massiva titlar som redan kan spelas genom den finns det inte mycket mer som spelare kan begära. Det finns fortfarande några kompatibilitetsproblem och grafiska problem som dyker upp, men i stort sett går det inte att skilja från att spela genom Proton från att spela inbyggt på Windows.
En sak som Valve absolut skulle kunna fokusera på härnäst är att bygga om Wine-versionen som Proton är baserad på till en nyare version. Proton släpar efter den senaste officiella Wine-versionen med flera utgåvor, och community-projekt med öppen källkod som Proton-GE syftar till att lägga till ytterligare funktioner och rebasera till nyare versioner av Wine.
Naturligtvis är Valves yttersta mål stabilitet och kompatibilitet, varför det inte bara inkluderar alla dessa förändringar som projekt som Proton-GE har kunnat uppnå. Om du är en avancerad användare är det inget som hindrar dig från att installera och använda Proton-GE istället, men för den dagliga spelaren är stabil Proton definitivt det bättre alternativet.