Steamworks-dokumentation
Steam Deck og Proton
Proton er et kompatibilitetslag, som lader Windows-spil køre på Linux ved at gøre brug af en modificeret version af Wine og en samling af højtydende grafiske API-implementeringer. Teamet har både arbejdet på Proton og forbedret det i et stykke tid nu, og det understøtter derfor en lang række spil. De fleste API'er understøttes allerede af Proton, og de fleste spil virker med det samme. Vi arbejder fortsat på at forbedre Protons kompatibilitet, og vores mål er opnå så bred understøttelse som muligt.

For at teste dit spils kompatibilitet med Proton skal du bruge et Linux-operativmiljø. Du kan teste ved at installere Linux og Steam på en maskine, eller du kan anmode om et udviklersæt, når de bliver tilgængelige (der vil være et begrænset antal). Når du har opsat dit Linux-operativmiljø eller dit udviklersæt, kan du bruge de medfølgende debug-værktøjer til at køre dine spilbuilds gennem en fjerndebugger og på den måde analysere spillets ydelse. Adgang til værktøjerne er stadig et igangværende arbejde, og denne side bliver opdateret med flere oplysninger de kommende dage.

Understøttelse af Anti-Cheat i Proton

Proton understøtter visse stykker middleware til at bekæmpe snyd herunder Easy Anti-Cheat og BattlEye.
  • Easy Anti-Cheat

    Proton understøtter Easy Anti-Cheat, uden at der skal recompiles, men det kræver dog, at du manuelt aktiverer understøttelse i dit build. Til Epic Online Services-versionen af EAC skal du læse instruktionerne her. Til Kamu-versionen af EAC skal du følge disse trin i rækkefølge:
    1. Åbn EAC-indstillingerne på EAC-partnersiden og slå Linux-understøttelse til fra dashboardet.
    2. Gå ind i menuen Client Module Releases på EAC-partnersiden, vælg Unix-platformen, og aktivér et modul. Kontakt EAC's support, hvis du ikke kan finde Linux-modulet i statusdashboardet.
    3. Når det er gjort, skal du downloade EAC-SDK'en og finde Linux-mappen (\Client\Assets\Plugins\x86_64\libeasyanticheat.so) til den SDK-version, der er integreret i dit spil, omdøbe den til easyanticheat_x64.so og lægge den til dit depot ved siden af Windows-mappen (EasyAntiCheat_x64.dll).
    4. Som det sidste skal du på Steamworks-siden udgive et nyt build af dit spil, som indeholder det nye depotindhold. (Du behøver ikke foretage ændringer til spillets eksekverbare filer, bare inkluder de nye filer i depotindholdet).
  • BattlEye

    Proton understøtter BattlEye og spil med BattlEye aktiveret. Hvert produkt kræver et manuelt konfigurationstrin, så du bedes e-maile Valve eller den tekniske BattlEye-kontaktperson for at få flere oplysninger.

Hvis dit produkts funktionalitet tidligere blev blokeret eller begrænset af anti-cheat, men du sidenhen har gennemført ovenstående trin for at slå Proton-/Steam Deck-understøttelse til, kan du genindsende dit spil til en opfølgende gennemgang. Se dokumentationen om Steam Deck-kompatibilitetsvurderinger for at få flere oplysninger.

Hvis du har spørgsmål eller bekymringer, bedes du kontakte din tekniske kontaktperson hos Valve eller skrive i Steamworks-udviklerforummet for Steam Deck på https://steamcommunity.com/groups/steamworks/discussions/27/.

Kendte problemer med Proton

Nedenfor giver vi nogle anbefalinger inden for områder, der er kendte for at have problemer med Proton-kompatibilitet, og som sandsynligvis fører til forsinkelser i Protons fulde understøttelse af visse produkter, når de udgives på Steam:
  • .NET/WPF: Vores anbefaling er at bruge selvstændige teknologier, såsom Qt, til startprogrammer i stedet for OS-afhængige frameworks såsom .NET/WPF. Det bedste resultat opnås ved helt at springe separate startprogrammer over og i stedet integrere deres funktionalitet i Steam-klientens grænseflade, hvor controller-understøttelsen sandsynligvis er bedre.
  • Media Foundation: For at spare ekstra båndbredde og diskforbrug anbefaler vi, at man bruger selvstændige codecs såsom VP9 eller AV1.
  • Anti-cheat: For at opnå det bedste resultat anbefaler vi, at man bruger komponenter til anti-cheat i brugerpladsen, da de som regel kan køre i Wine-miljøet og giver det samme niveau af funktionalitet. Løsninger, som anvender kerneplads, understøttes ikke i øjeblikket og anbefales ikke. Bemærk: Vi har arbejdet med de fleste udbydere af anti-cheat-teknologier på at gøre dem kompatible med Proton. Hvis din løsning i øjeblikket ikke fungerer, bedes du kontakte både din udbyder og Valve for at få hjælp.
  • Anti-tamper/DRM: Generelt anbefaler vi ikke disse løsninger på nogen som helst PC-platforme, da de kan påvirke diskforbruget og den samlede ydelse. At få dem til at fungere fuldt ud i Wine-miljøet kan tage tid, og det vil forsinke understøttelsen af dit produkt betydeligt.

Sådan rapporterer du problemer

Hvis du oplever problemer med dit spil i Proton, som ikke er nævnt ovenfor, bedes du rapportere dem i Steamworks-forummet, GitHub-trackeren eller gennem din Valve-kontaktperson. Vi arbejder hele tiden på at forbedre understøttelsen af Proton, og rapporter fra udviklere er utroligt nyttige.

Sådan opsætter du et testmiljø på Linux

Du kan teste dit spil i Proton nu ved at opsætte et testmiljø i Linux. Det er gratis, og du skal kun bruge en PC. Komplette instruktioner kan findes i Udvikling til Steam Deck uden et udviklersæt.