UMU: A legjobb eszköz a játékok egyesítéséhez Linuxon

  • Az UMU a Steam futtatókörnyezetét replikálja, hogy a Protont a Steamen kívül is futtathassa, ugyanazokkal a garanciákkal.
  • Az umu-run egyesíti a változókat és a javításokat a protonfixek alkalmazásával a GAMEID és a STORE szerint egy közös adatbázisból.
  • Rugalmas telepítés: klasszikus build, uv és nixpkgs csomagok fejlett opciókkal.

UMU Indító

Az UMU Launcher egyike azoknak az eszközöknek, amelyek anélkül, hogy nagy zajt csapnának, megváltoztatják a Linuxon való játékmódunkat. Messze attól, hogy egy tipikus grafikus indító legyen, küldetése, hogy egységesítse a Windows-játékok Protonnal való futtatását a Steamen kívül , így bármely kliens vagy szkript kihasználhatja ugyanazt a környezetet, amelyet a Valve használ, anélkül, hogy magára a Steamre támaszkodna.

Egyszerűen fogalmazva: az UMU a Steam Runtime konténermodelljét másolja (ugyanazt, amit a Proton és a Steam Linux Runtime is használ) néhány apró módosítással, így a Proton ugyanúgy működik , mint a Steamen belül, de bármilyen kompatibilis indítóból, például a Lutrisból, a Heroicból vagy a Bottlesből, sőt, egy egyszerű terminálparancsból is. És igen, nem kell telepíteni a Steam-et a használatához.

Mi az UMU Launcher és honnan ered a neve?

Az UMU lényegében a Steam Linux Runtime „mesterlövész” és a Steam Runtime Tools adaptációja , saját belépési ponttal és segédprogramokkal harmadik féltől származó integrációhoz. Az „umu” név nem véletlen: egy polinéziai kemencére utal, amely hevített vulkáni kőzetekből áll , és amelyre bármit is helyezünk, az „megsül”. A metafora illik a Valve „nyomásedény” nevű konténereszközére: az UMU az a „tűzhely” lenne, amelyre a nyomásedényt helyezik, hogy előkészítsék a környezetet, ahol a Proton „megsüti” a játékaidat.

Amikor a Steam elindít egy játékot a Protonnal, elindít egy folyamatláncot ott, ahol az normális esetben megjelenik. gőzindító-csomagoló (egy puszta futó amely továbbítja a környezeti változókat), és ami döntő fontosságú, a SteamLinuxRuntime_sniper annak _v2-entry-point amely összeszereli a tartályt és protont tölt be. Az UMU ezt a logikát ismétli meg: a forgatókönyv _v2-entry-point átnevezik umu, teszi hozzá umu-run cserélni steam-launch-wrapper és a szükséges részleteket úgy igazítják, Használd a Protont a Steamen kívül a Proton által igényelt környezeti elvárások fenntartása (beleértve a környezeti változókat is).

Hogyan működik: környezeti változók, konténer és umu-run

A kulcs benne van ugyanolyan típusú konténerben indítsd a játékot, mint amit a Steam használ, a Protonhoz tartozó megfelelő változókkal. Az UMU lehetővé teszi a meghívást umu-run a játék futtatható fájljának, az argumentumoknak és opcionálisan, A WINEPREFIX, a Proton verzió és az áruház amelyből a játék konkrét javításokat alkalmaz.

Az umu-run főbb paraméterei és változói , amelyeket ismerned kell:

  • BOR ELŐFIX: WINE előtag elérési útja. Ha nem adjuk meg, az UMU alapértelmezés szerint létrehozza azt a következőben: $HOME/Games/umu/GAMEID. Ha nem definiálod a GAMEID-t, az alapértelmezett előtag a következő lesz: $HOME/Games/umu/umu-default.
  • JÁTÉKAZONOSÍTÓ: lehet tetszőleges érték vagy érvényes azonosító a umu-adatbázis. Ha nem definiálod, használatban van umu-default (automatikus javítások nélkül).
  • PROTONÚT: a használni kívánt Proton verzió teljes elérési útja. Támogatja a következő értéket is: GE-Proton mert automatikusan letölti a legújabb buildet a GE-Protontól. Ha nem jelzi, UMU-Proton (a Valve stabil verziója UMU támogatással) az alapértelmezett beállítás.
  • STORE: a játék boltja vagy „üzletportálja” (például, EGS, megy, stb.). Az UMU egyesíti STORE + GAMEID a konkrét javítások kereséséhez az adatbázisodban.
  • PROTON_IGEProton ige, amit használunk. Ha nem állítod be, használd a "waitforexitandrun" függvényt.
  • UMU_NAPLÓ: Engedélyezi az UMU hibakeresési naplóit. Hasznos a következőkhöz: problémákat diagnosztizálni.
  • UMU_ZENITY: ha aktív, felugró ablakok megjelenítése a Zenity segítségével nagy fájlok letöltésekor.
  • UMU_FUNTÁSI_FRISSÍTÉS y UMU_NO_PROTON: további lehetőségek a következőhöz: futásidejű menedzsment vagy olyan forgatókönyvek, amikor nem szeretnéd, hogy az UMU kezelje a Protont.

Ezen túlmenően, Az UMU automatikusan letölti és használja a szükséges Steam Runtime-ot a kiválasztott Proton verzióhoz, és helyezze el a fájljait a $HOME/.local/share/umuEzzel a futásidejű konténer készen áll, és A játék úgy fut, mintha eredetileg a Steamre lenne telepítve., közvetlenül a Steamen kívül.

Előnyök: Miért fontos ez az egyesítés?

Az UMU megközelítése megkönnyíti, hogy az összes indítóprogram ugyanazt a „nyelvet” beszélje, amikor Protonnal futtat játékokat. Ez számos egyértelmű előnnyel jár mind a felhasználók, mind a fejlesztők számára:

  • Nincsenek Steam-követelményekA Proton használatához már nincs szükséged a Steam kliensre vagy bináris fájlokra.
  • Egységes javítási bázis- Játékspecifikus javítások (protonjavítások) megosztva a közösségen belül és a különböző indítókon.
  • Paritás a SteammelA játékok úgy kezdődnek, hogy a Proton ugyanolyan típusú konténerben van, mint amit a Steam használ. a környezetének lemásolása.
  • Központosított karbantartás: ha valami megváltozik, az frissül a Proton GE-ben és/vagy a protonfixesben, vagy egy egységes Proton buildben, mindenkire pozitív hatással van.

Ma a protonfixes egy helyi mappát csomagol a következőből: «játékjavítások»de maga a projekt azt sugallja, hogy online letöltéssé fejlődhet így bármilyen eszközt is használsz umu-run központilag szerezd be a szükséges javításokat.

ProtonFixes és az UMU adatbázis: Hogyan alkalmazzák a javításokat

Az UMU egy egyszerű munkafolyamatot javasol az indítóprogram számára, amely azonosítja a játékot, a hozzá tartozó tárolót és a hozzá tartozó javítást, majd automatikusan alkalmazza azt a Protonnal való futtatás előtt. A folyamat, ahogy leírtuk, a következő lépésekből áll:

  1. Hozzon létre egy adatbázist játékcímekkel, azok azonosítóival különböző üzletekben és a umu-azonosító korrelált.
  2. A dobó a bázison keresi a játék adatait, és lekéri a umu-azonosító, ami megtörténik umu-run valamint STORE, Proton, WINEPREFIX, futtatható fájl és argumentumok.
  3. Amikor elkezdjük a játékot azzal, hogy umu-run, protonfixek felismeri a STORE + umu-ID-t, megkeresi a megfelelő javítószkriptet és alkalmazza kivégzés előtt.
  4. A protonfixes a szkripteket a következőképpen rendezi el: mappák üzletenkéntUgyanaz a játék több áruházban is ugyanazt az umu-azonosítót használja; lehetnek áruházspecifikus szkriptjei vagy hivatkozás egy meglévő javításra ha megosztjátok az igényeiteket.

Egy példa, amit felhoznak, az Borderlands 3 az Epic Games Store-ban (EGS)Az EGS felhasználási területei «kódnevek» mint a „Macskamenta”. Az indítóprogram érzékeli, hogy az üzlet EGS és a kódnév az Macskagyökér, lekérdezi az adatbázist, társítja azt a "Borderlands 3"-hoz és a umu-azonosító megfelelő (például umu-12345), és az azonosítót átadják a következőnek: umu-run. Így garantált a helyes javítás még akkor is, ha az üzlet nem használja a játék márkanevét.

Felhasználási referenciák: lehetőségek és példák

Az UMU szabványos dokumentációt tartalmaz man oldal mert umu-run, olyan felhasználási formákkal, mint umu-run , umu-run ] o umu-run winetricks , Plus --config <FILE> y --helpPéldáik között említik gyakorlati esetek például:

  • Futtass egy játékot közvetlenül.
  • Futtass egy játékot egy adott protonfix-szel.
  • Konfigurációs fájl használata a végrehajtás paraméterezéséhez.
  • Hozz létre egy WINEPREFIX UMU-t és indítsd el Protonnal.
  • Proton automatikus kiválasztása (és szükség esetén hozza létre az előtagot).
  • Definiálj egy érvényes proton igét kifejezetten.
  • Hibakeresési naplók engedélyezése hibák diagnosztizálására.
  • Egy adott Proton verzió név szerinti kikényszerítése.
  • Használja a GE-Proton legújabb verzióját automatikusan.
  • Winetricks igék végrehajtása -tól umu-run.
  • Tiltsa le a protonfixes alkalmazást ha szükséged van rá.

A kapcsolódó segédprogramok közé tartoznak a winetricks , a zenity , maga az umu(5) programhoz való hivatkozások , valamint a Steam konténer futtatókörnyezetének dokumentációja . Hivatkozásokat tartalmaz a Proton repositorykra , az umu-protonfixes-re és az umu-adatbázisra is azok számára, akik tovább szeretnének kutatni vagy közreműködni szeretnének.

Építés és telepítés: a gyártástól a nixpkgs-ig

Azok számára, akik inkább a fordítást vagy a csomagolást részesítik előnyben, az UMU dokumentálja, hogy a buildhez bash , make , scdoc és Python eszközök (build, hatchling, installer, pip) szükségesek. Ezenkívül a közvetlen függőségek legújabb stabil verziójával megegyező minimális MSRV- t igényelnek.

Az ajánlott áramlási sebesség: töltsd le a kódot, lépjen be a könyvtárba, futtassa configure.sh --prefix a telepítési előtag beállításához (például /usr/local o /app ha Flatpakban fogsz csomagolni), futtasd make és ha minden jól megy, akkor a leletek is a birtokodban lesznek. ./builddirAkkor futhatsz. make install telepítéshez.

Felhasználói telepítéshez, Az UMU a futtatható fájlt ide helyezi $HOME/.local/bin. Ügyeljen arra, hogy add hozzá ezt a könyvtárat a PATH-hoz (például exportálva azt $HOME/.bash_profile), ha teljes elérési út nélkül szeretnéd meghívni.

Alternatív megoldásként az `uv` használatát javasolják virtuális környezet létrehozásához és az UMU gyors konfigurálásához . Az útmutató egy szkript létrehozását javasolja a projektkönyvtárban , a virtuális környezet létrehozását az `uv` segítségével , a függőségek telepítését, majd a szkript futtatását az ` uv`-on keresztül.

En NixOS/nixpkgsAz UMU elérhető a következőképpen: pkgs.umu-launcher 25.05 óta (instabil ág a jelzett időpontban). Részletezik a használatát is. pehely ha a csatornáénál frissebb pillanatképre van szükséged, sőt, még Példák a NixOS és a Home-Manager rendszerreHa régebbi csatornákkal dolgozik (például nixos-24.11), javasoljuk több csatorna kombinálását, vagy húzd ki a pelyhed.

A nixpkgs-ben felülbírálható csomagolási paraméterek:

  • extraCsomagok: extra csomagok hozzáadása az FHS környezethez (alapértelmezett) pkgs: []).
  • extraLibraries: extra könyvtárak hozzáadása az FHS környezethez (alapértelmezés szerint) pkgs: []).
  • MultiArch-kal: 32 bites könyvtárak belefoglalása az FHS környezetbe (alapértelmezés szerint) igaz).

Ha flake-et használsz, akkor opcionális függőségeket konfigurálhatsz, például:

  • Truststore-ral: lehetővé teszi a használatát rendszer megbízhatósági tárolója (alapértelmezett igaz).
  • DeltaUpdates-szelfüggőségek aktiválása ehhez: Proton "delta frissítései" (alapértelmezett igaz).

Alkalmazási módokat is mutatnak átfedés specialArgs segítségével vagy közvetlenül a flake.nix, valamint egy példa a csomag argumentumainak felülbírálására.

Steam futásidejű környezet, naplók és hibakeresés

Az UMU a konténeralapú Steam Runtime- ra támaszkodik (ugyanarra, amelyet a natív Linux játékok és a Proton 8.0+ használnak ). Az ebben a környezetben fellépő problémák diagnosztizálásához maga a futtatókörnyezet hasznos környezeti változókat támogat, amikor a Steam klienssel indítják, amelyek referenciaként is szolgálnak a konténerrel való munka során:

  • STEAM_LINUX_RUNTIME_LOG=1: engedélyezi a megjelenő naplókat SteamLinuxRuntime_sniper/var/slr-*.log (az AppID-vel a névben). slr-latest.log egy symlink az utolsó generáltig.
  • STEAM_LINUX_RUNTIME_VERBOSE=1: részletesebb kimenet (fájlokba, ha LOG=1 van, vagy ugyanoda, mint a kimenete) steam de).
  • NYOMÁS_EDÉNY_HÉJ=ehelyett: a játék indítása helyett, megnyit egy interaktív shell-t a konténeren belül ellenőrzésre.

A Valve dokumentálja a következő feltételezéseket: támogatott disztribúciók, hibakeresési tippeket, valamint kiadási megjegyzéseket és ismert futásidejű problémákat tart karban. Ha játékokat fejlesztesz és érdekel a célozd meg azt a környezetet, tekintse meg az SDK-ját és a fejlesztőknek szóló technikai információkat. A teljes futtatókörnyezet integrálva van harmadik féltől származó szoftverek nyílt licencekkel rendelkezik, és a forráskód verziózott könyvtárakban érhető el (lásd VERSIONS.txt hogy lássuk a megfeleléseket).

Legutóbbi frissítések és gyorsjavítások

Egy friss frissítésben a karbantartók kiadtak egy gyorsjavítást, amely visszaállította a "reaper" módosításait, mivel azok UMU-kat hibásan kezeltek a GameScope munkamenetekben Flatpak rendszeren . A lista a következőket írja:

  • Visszafordítás "umu_run: a reaper implementációjának befejezése az umu-ban".
  • Visszafordítás az "umu_run: futtassa a steammode kerülő megoldást a fő folyamaton".
  • Visszafordítás az "umu_run: egyelőre fixen kódolt megjelenítési értékek használata".
  • Frissített kiadási megjegyzések (kiadási megjegyzések kiegészítése).

Ez a fajta gyorsjavítás azt mutatja, hogy a projekt gyorsan reagál a regressziókra bizonyos környezetekben, mint például a Flatpak + Gamescope, ami kulcsfontosságú a Steam Deck felhasználók vagy az adott stacket használó asztali gépek számára.

Projekt állapota: első hivatalos verzió és a valós célkitűzés

Az 1.1.1-es verziót Thomas "GloriousEggroll" Crider és az Open Wine Components közösség az Unified Linux Wine Game Launcher első hivatalos kiadásaként emelte ki. Hangsúlyozzák, hogy ez nem egy grafikus indító, mint a Steam/Heroic/Lutris , hanem egy közös réteg , amelyet ezek az indítóprogramok használhatnak Proton-alapú játékok Steamen kívüli futtatására ugyanolyan hűséggel , mint a Steamen belül.

Azt jelzik, hogy működnie kellene a Flatpak és a Snap tárhelyein belül , és mindkét formátumhoz csomagolási utasításokat kellene biztosítani a repóriumukban. A cél az, hogy bármely alkalmazás ugyanolyan minőségben tudjon címeket kiadni olyan áruházakból, mint az Epic, a GOG vagy az Amazon, mint a Steamen, kihasználva a protonfixek és az egységes adatbázis előnyeit a folyamatosan javuló kompatibilitás érdekében.

Linkek és ajánlott dokumentáció

További információkért a dokumentáció olyan forrásokhoz vezető hivatkozásokat tartalmaz, mint például a Steam Runtime Sniper kiadási megjegyzései , az ismert futásidejű problémák és a hibák jelentésének módja , valamint a konténer-futásidejű dokumentum . Érdemes áttekinteni a következőket is:

A projektet az Open Wine Components tartja karban más közreműködők segítségével. Ha szeretnél hozzájárulni, javasolják a Ruff telepítését a disztribúciódból, és a Ruff szerver engedélyezését a szerkesztődben a kódstílus egységességének megőrzése érdekében.

Az UMU technikai kapocsként működik a Proton és a hordozórakéták között, szabványosított futási idővel és közös javítási bázissal; ez lehetővé teszi a közösség számára, hogy gyorsabban és kevesebb súrlódással haladjon előre, a felhasználók pedig stabilitást és egyszerűséget élveznek, amikor a Steamen kívül ugyanolyan minőségben futtatják játékaikat.


Hozzáadás előnyben részesített forrásként a Google-ben