UMU: Det ultimative værktøj til at forene dine spil på Linux

  • UMU replikerer Steam-kørselstiden for at køre Proton uden for Steam med de samme garantier.
  • umu-run forener variabler og rettelser ved at anvende protonfixes i henhold til GAMEID og STORE fra en fælles database.
  • Fleksibel installation: Classic build, UV og nixpkgs-pakker med avancerede muligheder.

UMU Launcher

UMU Launcher Det er blevet et af de værktøjer, der uden at larme meget ændrer den måde, du spiller på Linux. Langt fra at være en typisk grafisk launcher, er dens mission Saml, hvordan Windows-spil kører med Proton uden for Steam, så enhver klient eller ethvert script kan drage fordel af det samme miljø, som Valve bruger, uden at være afhængig af Steam selv.

For at forstå det hurtigt: UMU kopier Steam Runtime-containermodellen (den samme som bruges af Proton og Steam Linux Runtime) med nogle justeringer, så Proton fungerer identisk ligesom du ville gøre i Steam, men fra enhver kompatibel launcher som Lutris, Heroisk eller flasker, og endda fra en simpel terminalkommando. Og ja, du behøver ikke at have Steam installeret at bruge det.

Hvad er UMU Launcher, og hvor kommer navnet fra?

UMU er i bund og grund, en tilpasning af Steam Linux Runtime "sniper" og Steam Runtime Tools, med sit eget indgangspunkt og værktøjer til tredjeparter til at integrere det. Navnet "umu" er ikke tilfældigt: det refererer til en Polynesisk vulkansk stenovn opvarmet, hvorpå det, du putter ovenpå, "tilberedes". Metaforen passer med Valves beholderværktøj kaldet "trykbeholder": UMU ville være den "komfur", hvorpå trykbeholderen placeres for at forberede det miljø, hvor Proton "tilbereder" dine spil.

Når Steam starter et spil med Proton, starter det en række processer, hvor det normalt vises. Steam-launch-wrapper (en simpel runner som videresender miljøvariabler) og, afgørende, SteamLinuxRuntime_sniper med _v2-entry-point der samler containeren og laster Proton. UMU gentager den logik: manuskriptet _v2-entry-point det omdøbes til umu, tilføjer det umu-run at erstatte steam-launch-wrapper og de nødvendige detaljer justeres til Brug Proton uden for Steam opretholdelse af de miljøforventninger, som Proton har brug for (inklusive miljøvariabler).

Sådan fungerer det: miljøvariabler, container og umu-run

Nøglen er inde start spillet i den samme type container, som Steam bruger, med de korrekte variabler for Proton. UMU giver dig mulighed for at kalde umu-run angiver spillets eksekverbare fil, argumenterne og, valgfrit, WINEPREFIX, Proton-versionen og butikken hvorfra spillet kommer til at anvende specifikke rettelser.

Hovedparametre og variabler for umu-løb Hvad er værd at vide:

  • VINPREFIX: WINE-præfikssti. Hvis du ikke angiver den, opretter UMU den som standard i $HOME/Games/umu/GAMEID. Hvis du ikke definerer GAMEID, standardpræfikset vil være $HOME/Games/umu/umu-default.
  • SPIL-IDkan være en vilkårlig værdi eller et gyldigt ID i umu-database. Hvis du ikke definerer det, bruges umu-default (uden automatiske rettelser).
  • PROTONPATH: fuld sti til den Proton-version, du vil bruge. Understøtter også værdien GE-Proton para download automatisk den nyeste build fra GE-Proton. Hvis du ikke angiver det, UMU-Proton (en stabil version fra Valve med UMU-understøttelse) er standardindstillingen.
  • OPBEVARINGspillets butik eller "butiksfacade" (for eksempel, egs, GOGosv.). UMU kombinerer BUTIK + GAMEID for at søge efter specifikke rettelser i din database.
  • PROTON_VERBUMProtonverbum at bruge. Hvis du ikke indstiller det, brug "waitforexitandrun".
  • UMU_LOGAktiverer UMU-fejlretningslogfiler. Nyttig til diagnosticere problemer.
  • UMU_ZENITY: hvis aktiv, vis pop op-vinduer med Zenity når du downloader store filer.
  • UMU_RUNTIME_UPDATE y UMU_NO_PROTONyderligere muligheder for runtime-styring eller scenarier hvor du ikke ønsker, at UMU skal administrere Proton.

Derudover UMU downloader og bruger automatisk den nødvendige Steam Runtime for den valgte Proton-version, og placer dens filer i $HOME/.local/share/umuDermed er runtime-containeren klar, og Spillet kører, som om det var en del af Steam, lige uden for Steam.

Fordele: Hvorfor denne forening er vigtig

UMUs tilgang gør det lettere for alle pitchere taler det samme "sprog" når man kører spil med Proton. Dette giver flere klare fordele for brugere og udviklere:

  • Ingen Steam-kravDu behøver ikke længere Steam-klienten eller binære filer for at bruge Proton.
  • En samlet rettelsesbase- Spilspecifikke rettelser (protonfixes) deles på tværs af fællesskabet og på tværs af forskellige launchere.
  • Paritet med SteamSpil starter med Proton i den samme type container, som Steam bruger. replikerer sit miljø.
  • Centraliseret vedligeholdelseHvis noget ændres, opdateres det i Proton GE og/eller protonfixes eller i et samlet Proton-build. positivt påvirkende for alle.

I dag pakker protonfixes en lokal mappe med «spilrettelser», men selve projektet antyder, at kunne udvikle sig til online download så ethvert værktøj du bruger umu-run Få de nødvendige løsninger centralt.

ProtonFixes og UMU-databasen: Sådan anvendes rettelser

UMU foreslår et simpelt flow, så en launcher identificerer spillet, dets butik og rettelsen der svarer, og anvender det automatisk, før det køres med Proton. Processen, som beskrevet, består af disse trin:

  1. Opret en database med spiltitler, deres ID'er i forskellige butikker og umu-ID korreleret.
  2. Kasteren søger på basen efter kampdataene og henter dem. umu-ID, hvilket sker for umu-run sammen med STORE, Proton, WINEPREFIX, eksekverbar fil og argumenter.
  3. Når man starter spillet med umu-run, protonfixes registrerer STORE + umu-ID, finder det passende rettelsesskript og anvender det før henrettelse.
  4. protonfixes organiserer scripts i mapper pr. butikDet samme spil beholder det samme umu-ID på tværs af flere butikker; det kan have butiksspecifikke scripts eller link til en eksisterende rettelse hvis I deler behov.

Et eksempel, de giver, er Borderlands 3 i Epic Games Store (EGS)EGS-anvendelser «kodenavne» som "Catnip". Launcheren registrerer, at butikken er egs og kodenavnet er Catnip, konsulterer databasen, forbinder den med "Borderlands 3" og umu-ID tilsvarende (for eksempel, umu-12345), og det ID videregives til umu-run. Sådan er de korrekte reparationer garanteret selv når butikken ikke bruger spillets mærkenavn.

Referencer til brug: muligheder og eksempler

UMU inkluderer standarddokumentation man-side para umu-run, med anvendelsesformer som f.eks. umu-run , umu-run ] o umu-run winetricks , Plus --config <FILE> y --helpBlandt deres eksempler foreslår de praktiske sager som:

  • Kør et spil direkte.
  • Kør et spil med en specifik protonfix.
  • Brug af en konfigurationsfil at parametrisere udførelsen.
  • Opret en WINEPREFIX UMU og affyre den med Proton.
  • Vælg Proton automatisk (og opret præfikset om nødvendigt).
  • Definer et gyldigt protonverbum eksplicit.
  • Aktivér fejlfindingslogfiler at diagnosticere fejl.
  • Tving en specifik Proton-version ved navn.
  • Brug den seneste version af GE-Proton automatisk.
  • Udfør winetricks-verber fra umu-run.
  • Deaktiver protonfixes-applikationen hvis du har brug for det.

Som relaterede værktøjer, referencedokumentationen winetricks, zenitet, Egen umu(5) og dokumentation af containerens køretid fra Steam. Den linker også til repositorier af Proton, umu-protonfixes og umu-database, for alle, der ønsker at gå i dybden eller bidrage.

Byggeri og installation: fra make til nixpkgs

For dem, der foretrækker at kompilere eller pakke, dokumenterer UMU, at build-processen kræver det. bash, lave, scdoc og værktøjer Python (bygge, udklække, installatør, pip). Derudover beder de om fragt med en minimum MSRV lig med den seneste stabile version af dens direkte afhængigheder.

Det anbefalede flow er: download koden, indtast mappen, udfør configure.sh --prefix for at indstille installationspræfikset (for eksempel /usr/local o /app hvis du skal pakke i Flatpak), kør make og hvis alt går vel, vil du have artefakterne i ./builddirSå kan du løbe make install at installere.

Til brugerinstallation, UMU placerer den eksekverbare fil i $HOME/.local/bin. Vær sikker på tilføj den mappe til din PATH (for eksempel at eksportere det i $HOME/.bash_profile) hvis du vil kalde den uden en fuld sti.

Alternativt foreslår de at bruge uv at skabe et virtuelt miljø og konfigurer UMU hurtigtGuiden foreslår generer et script i projektmappen, opret virtuellenv med uv, installer afhængighederne og kør scriptet via uv.

En NixOS/nixpakker, UMU er tilgængelig som pkgs.umu-launcher siden 25.05 (ustabil gren på det angivne tidspunkt). De beskriver også, hvordan man bruger flager hvis du har brug for et nyere øjebliksbillede end kanalens, og de leverer endda Eksempler for NixOS og Home-ManagerHvis du arbejder med ældre kanaler (f.eks. nixos-24.11), foreslår at kombinere flere kanaler eller træk din flage.

Pakkeparametre, som du kan tilsidesætte i nixpkgs:

  • ekstrapakkertilføj ekstra pakker til FHS-miljøet (standard) pkgs: []).
  • ekstrabibliotekertilføj ekstra biblioteker til FHS-miljøet (som standard) pkgs: []).
  • med MultiArchInkluder 32-bit biblioteker i FHS-miljøet (som standard) sand).

Hvis du bruger flake, kan du konfigurere valgfrie afhængigheder såsom:

  • medTruststore: muliggør brugen af systemtillidslager (Standard sand).
  • medDeltaOpdateringer: aktiver afhængigheder for Protons "deltaopdateringer" (Standard sand).

De viser også måder at anvende overlay via specialArgs eller direkte ind i flake.nix, plus et eksempel på tilsidesættelse af pakkeargumenter.

Steam-kørselstid, logfiler og fejlfinding

UMU er afhængig af Containerbaseret Steam-kørselstid (den samme som de bruger native Linux-spil y Proton 8.0+For at diagnosticere problemer i det pågældende miljø understøtter selve runtime-programmet nyttige miljøvariabler, når de startes med Steam-klienten, som også fungerer som reference, når man arbejder med containeren:

  • STEAM_LINUX_RUNTIME_LOG=1: aktiverer logfiler, der vises i SteamLinuxRuntime_sniper/var/slr-*.log (med AppID'et i navnet). slr-latest.log er en symbollink til den sidst genererede.
  • STEAM_LINUX_RUNTIME_VERBOSE=1mere detaljerethed i outputtet (til filer hvis der er LOG=1 eller til samme sted som outputtet fra steam men).
  • TRYK_FAR_SKAL=i stedeti stedet for at starte spillet, åbner en interaktiv skal inde i containeren til inspektion.

Valve dokumenterer antagelser om understøttede distributioner, fejlfindingstips og vedligeholder udgivelsesnoter og kendte runtime-problemer. Hvis du udvikler spil og er interesseret i målrette det miljø, tjek SDK'et og de tekniske oplysninger til udviklere. Hele runtime-systemet integrerer tredjeparts software med sine åbne licenser, og kildekoden er tilgængelig i versionerede mapper (se VERSIONS.txt for at se korrespondancerne).

Seneste opdateringer og hotfixes

I en nylig ændring udgav vedligeholderne en HOTFIX, der fortryder ændringer i Reaper porque De brød UMU i GameScope-sessioner i FlatpakListen angiver:

  • Reversion af "umu_run: fuldfør implementeringen af ​​reaper i umu".
  • Reversion af "umu_run: kør steammode-løsning på hovedprocessen".
  • Reversion af "umu_run: brug hardcodede visningsværdier for nu".
  • Opdaterede udgivelsesnoter (bump-udgivelsesnoter).

Denne type hotfix viser, at projektet reagerer hurtigt på regressioner i specifikke miljøer som Flatpak + gamescope, noget vigtigt for brugere af Dampdæk eller stationære computere, der bruger den stak.

Projektstatus: første officielle version og reelt mål

Versionen er blevet fremhævet 1.1.1 som første officielle udgivelse af Unified Linux Wine Game Launcher af Thomas "GloriousEggroll" Crider og Open Wine Components-fællesskabet. De understreger, at Det er ikke en grafisk launcher som Steam/Heroic/Lutris, men en fælles lag som disse launchere kan bruge til at køre Proton-spil uden for Steam med samme troskab det inden for Steam.

De indikerer, at burde virke i Flatpak og Snap, og sørge for emballeringsinstruktioner for begge formater i dens arkiv. Målet er, at enhver app kan lancere titler fra butikker som Epic, GOG eller Amazon med den samme kvalitet det på Steam, der drager fordel af protonfixes og den samlede database for stadig bedre kompatibilitet.

Links og anbefalet dokumentation

For at gå i dybden linker dokumentationen til ressourcer som f.eks. Udgivelsesnoter til Steam Runtime Sniper, kendte problemer fra kørselstiden og hvordan man rapporterer fejl, ud over dokumentet om container-kørselstidDet er også værd at tjekke:

Projektet er vedligeholdt af Open Wine Components med hjælp fra flere bidragydere. Hvis du vil samarbejde, anbefaler de at installere pibekrave fra din distribution og aktiver ruff-server i din editor for at opretholde en ensartet stil i din kode.

UMU positionerer sig som teknisk lim mellem Proton og launcherne, med en standardiseret runtime og delt rettelsesbase; dette giver fællesskabet mulighed for at bevæge sig hurtigere fremad og med mindre friktion, og brugerne får stabilitet og enkelhed ved at køre deres spil uden for Steam med samme kvalitet.


Tilføj som foretrukken kilde