Sådan fungerer Proton på Steam Deck

Hvis du har et Steam Deck og er nysgerrig efter, hvordan det spiller Windows-baserede spil på Linux, så er du kommet til det rigtige sted!

Hvis du har en Steam dæk, du er sikkert overrasket over, hvor godt mange spil kører på den. Det er ikke kun en håndholdt, men det er også en håndholdt, der kører Linux. På trods af OS'ets dårlige ry med at køre videospil, AAA-titler som f.eks Cyberpunk: 2077 og Grand Theft Auto V køre meget godt på Steam Deck. Det er takket være Proton, kompatibilitetslaget udviklet af Valve og CodeWeavers.

Hvad er proton? Hvordan virker det?

Proton er faktisk et par år ældre end Steam Deck, som først blev udgivet i august 2018. På det tidspunkt sagde Valve, at "Windows-spil uden nogen Linux-version, der i øjeblikket er tilgængelig, kan nu være installeret og køre direkte fra Linux Steam-klienten, komplet med native Steamworks og OpenVR support."

Før Proton ville spillere på Linux ofte have brug for indfødte spilporte til deres systemer eller være tvunget til at stole på tredjeparts kompatibilitetslag såsom Wine. Vin fungerer ganske godt, men krævede ofte en del justeringer for at få tingene til at køre perfekt, med spil som f.eks

DOOM (2016) kan spilles med lidt arbejde.

Her er hvor Proton kommer ind. Det fjerner behovet for alt arbejde på slutbrugerens side. Ideen er, at du bare kan installere spillet og spille det, som om det var en indfødt port, uden at slutbrugeren nogensinde behøver at vide, hvad der foregår under motorhjelmen.

Proton fungerer sammen med en modificeret version af Wine. Wine fungerer som et lag, der oversætter Windows API-kald til POSIX-opkald (Portable Operating System Interface). samtidig med at du genskaber en Windows-biblioteksstruktur og giver alternative implementeringer af systemet tjenester. Wine bruger ingen emulering eller virtualisering til at udføre Windows-binære filer.

Den anden del af Proton, der er afgørende for spilligningen, er dens evne til at oversætte Direct3D API-kald. Det inkluderer DXVK, et Vulkan-baseret oversættelseslag til Direct3D 9, 10 og 11, med understøttelse af Direct3D 12 leveret via VKD3D-Proton, en fork af VKD3D fra Wine.

Med hensyn til Direct3D er det et grafik-API til Windows-maskiner og er en del af DirectX, og Proton fortolker i det væsentlige disse Direct3D API-kald. Proton skaber sin egen version af dette bibliotek, som spil kan interface med. Proton dirigerer derefter internt disse opkald til Vulkan API, så spillet kan køre, som om det var på en Windows-maskine.

Proton er fuldstændig open source, som Valve siger vil "give avancerede brugere muligheden for at ændre Proton." Den mest populære brugerdefinerede Proton build er Proton-GE, som inkorporerer de seneste proton-eksperimentelle ændringer. Den indeholder også andre patches og funktioner, som almindelige Proton ikke gør.

Fremtiden for Proton

Proton kan altid arbejdes på og forbedres, men som det ser ud, er det allerede et modent og udviklet projekt. Med massive titler, der allerede kan spilles gennem den, er der ikke meget mere, som spillere kan bede om. Der er stadig nogle kompatibilitetsproblemer og grafiske fejl, der dukker op, men i det store og hele kan det ikke skelnes at spille gennem Proton fra at spille indbygget på Windows.

En ting, som Valve absolut kunne fokusere på næste gang, er at rebase Wine-versionen, som Proton er baseret på, til en nyere udgivelse. Proton halter bagefter den seneste officielle Wine-version med flere udgivelser, og open source-fællesskabsprojekter såsom Proton-GE sigter mod at tilføje yderligere funktioner og rebase til nyere versioner af Wine.

Selvfølgelig er Valves ultimative mål stabilitet og kompatibilitet, hvorfor det ikke kun inkluderer alle disse ændringer, som projekter som Proton-GE har været i stand til at opnå. Hvis du er en superbruger, er der intet, der forhindrer dig i at installere og bruge Proton-GE i stedet, men for den daglige gamer er stabil Proton absolut den bedre mulighed.