
Стартова програма на UMU Той се превърна в един от онези инструменти, които, без да вдигат много шум, променят начина, по който играете в Linux. Далеч от това да е типичен графичен стартер, неговата мисия е... Унифициране на начина, по който Windows игрите се изпълняват с Proton извън Steam, така че всеки клиент или скрипт да може да се възползва от същата среда, която Valve използва, без да зависи от самия Steam.
За да го разберете бързо: UMU копирайте модела на контейнера за Steam Runtime (същият, използван от Proton и Steam Linux Runtime) с някои промени, така че Протонът работи по същия начин точно както бихте направили в Steam, но от всеки съвместим стартер като Lutris, героичен или бутилки, и дори от проста терминална команда. И да, Не е необходимо да имате инсталиран Steam да го използвате.
Какво е UMU Launcher и откъде идва името му?
UMU е, по същество, адаптация на Steam Linux Runtime "sniper" и Steam Runtime Tools, със собствена входна точка и помощни програми за интегрирането му от трети страни. Името „umu“ не е случайно: то се отнася до Полинезийска вулканична каменна пещ нагрят, върху който каквото и да сложите отгоре, се „готви“. Метафората се вписва в инструмента за контейнери на Valve, наречен „съд под налягане“: UMU би бил този „котлон“, върху който се поставя съдът под налягане, за да подготви средата, в която Proton „готви“ вашите игри.
Когато Steam стартира игра с Proton, той стартира верига от процеси там, където обикновено се появява. steam-launch-wrapper (просто бегач който препраща променливи на средата) и, което е от решаващо значение, SteamLinuxRuntime_sniper с вашите _v2-entry-point който сглобява контейнера и зарежда Proton. UMU повтаря тази логикасценарият _v2-entry-point той е преименуван на umu, добавя се umu-run да се замени steam-launch-wrapper и необходимите детайли се коригират, за да Използвайте Proton извън Steam поддържане на очакванията за околната среда, от които се нуждае Proton (включително променливите на средата).
Как работи: променливи на средата, контейнер и umu-run
Ключът е в Стартирайте играта в същия тип контейнер, който Steam използва, с правилните променливи за Proton. UMU ви позволява да извикате umu-run посочващ изпълнимия файл на играта, аргументите и, по избор, WINEPREFIX, версията Proton и магазинът от които играта идва да прилага специфични корекции.
Основни параметри и променливи на umu-run Какво трябва да знаете:
- ВИНЕН ПРЕФИКС: Път до префикса WINE. Ако не го посочите, UMU го създава по подразбиране в
$HOME/Games/umu/GAMEID. Ако не дефинирате GAMEID, префиксът по подразбиране ще бъде$HOME/Games/umu/umu-default. - ИД на игра: може да бъде произволна стойност или валиден идентификатор в umu-база данни. Ако не го дефинирате, се използва
umu-default(без автоматични корекции). - ПРОТОНЕН ПЪТ: пълен път до версията на Proton, която искате да използвате. Поддържа и стойността GE-Proton за автоматично изтегляне на най-новата версия от GE-Proton. Ако не го посочите, UMU-Proton (стабилна компилация от Valve с поддръжка на UMU) е опцията по подразбиране.
- СЪХРАНЕНИЕмагазинът или „витрината“ на играта (например, EGS, гогаи др.). UMU комбинира МАГАЗИН + GAMEID за търсене на конкретни корекции във вашата база данни.
- ПРОТОН_ГЛАГОЛПротонен глагол за употреба. Ако не го зададете, използвайте „waitforexitandrun“.
- UMU_LOG: Активира UMU debug логове. Полезно за диагностицира проблеми.
- UMU_ZENITY: ако е активен, показване на изскачащи прозорци със Zenity при изтегляне на големи файлове.
- UMU_RUNTIME_UPDATE y UMU_NO_PROTONдопълнителни опции за управление по време на изпълнение или сценарии, в които не искате UMU да управлява Proton.
Освен това, UMU автоматично изтегля и използва необходимата Steam Runtime среда. за избраната версия на Proton и поставете файловете ѝ в $HOME/.local/share/umuС това контейнерът за изпълнение е готов и Играта работи сякаш е оригинална в Steam, точно извън Steam.
Предимства: Защо това обединение е важно
Подходът на UMU улеснява всички питчъри говорят един и същ „език“ при стартиране на игри с Proton. Това предлага няколко ясни предимства за потребителите и разработчиците:
- Няма изисквания за SteamВече не ви е необходим Steam клиент или двоични файлове, за да използвате Proton.
- Унифицирана база от поправки- Специфичните за играта корекции (protonfixes) се споделят в общността и между различните лаунчери.
- Паритет със SteamИгрите започват с Proton в същия тип контейнер, който Steam използва, възпроизвеждане на средата си.
- Централизирана поддръжка: ако нещо се промени, то се актуализира в Proton GE и/или protonfixes или в унифицирана версия на Proton, влияе положително на всички.
Днес protonfixes пакетира локална папка на „поправки на играта“но самият проект предполага, че може да се развие до онлайн изтегляне така че всеки инструмент, който използвате umu-run получете необходимите корекции централно.
ProtonFixes и базата данни на UMU: Как се прилагат корекциите
UMU предлага опростен поток, така че стартерът идентифицира играта, нейния магазин и корекцията което съответства и автоматично го прилага, преди да го изпълни с Proton. Процесът, както е описано, се състои от следните стъпки:
- Създайте база данни със заглавията на игрите, техните идентификатори в различни магазини и umu-ID корелирани.
- Хвърлячът търси в базата данни за играта и извлича umu-ID, което се случва с
umu-runзаедно с STORE, Proton, WINEPREFIX, изпълним файл и аргументи. - Когато започвате играта с
umu-run, протонфикси открива STORE + umu-ID, намира подходящия скрипт за корекция и прилага го преди екзекуцията. - protonfixes организира скриптовете в папки на магазинЕдна и съща игра поддържа един и същ umu-ID в множество магазини; може да има специфични за магазина скриптове или връзка към съществуваща корекция ако споделяте нужди.
Пример, който дават, е Borderlands 3 в Epic Games Store (EGS)EGS използва „кодови имена“ като „Котешка трева“. Стартовата програма открива, че магазинът е EGS и кодовото име е коча билка, проверява базата данни, свързва я с „Borderlands 3“ и umu-ID съответстващо (например, umu-12345) и този идентификатор се предава на umu-run. Ето как се гарантират правилните поправки дори когато магазинът не използва марката на играта.
Референции за употреба: опции и примери
UMU включва стандартна документация man page за umu-run, с форми на употреба като например umu-run , umu-run ] o umu-run winetricks , в допълнение към --config <FILE> y --helpСред примерите си те предлагат практически случаи като:
- Проведете игра директно.
- Пусни игра със специфичен protonfix.
- Използване на конфигурационен файл за параметризиране на изпълнението.
- Създайте WINEPREFIX UMU и го стартирайте с Протон.
- Изберете Proton автоматично (и създайте префикса, ако е необходимо).
- Дефинирайте валиден глагол в Proton изрично.
- Активиране на регистрационни файлове за грешки за диагностициране на неизправности.
- Принудително задаване на конкретна версия на Proton по име.
- Използвайте най-новата версия на GE-Proton автоматично.
- Изпълнете глаголите на winetricks от
umu-run. - Деактивирайте приложението protonfixes ако имате нужда.
Като свързани помощни програми, справочната документация winetricks, зенитност, Собствен уму(5) и документация на време на изпълнение на контейнера от Steam. Той също така препраща към хранилища на Протон, umu-protonfixes и umu-база данни, за всеки, който иска да се задълбочи или да допринесе.
Сглобяване и монтаж: от изработка до комплекти
За тези, които предпочитат да компилират или пакетират, UMU документите, необходими за компилацията тряскам, правя, scdoc и инструменти Питон (изграждане, излюпване, инсталатор, пип). Освен това, те искат карго с минимален MSRV равен на най-новата стабилна версия на неговите директни зависимости.
Препоръчителният поток е: изтеглете кода, въведете директорията, изпълнете configure.sh --prefix за да зададете префикса за инсталиране (например /usr/local o /app ако ще пакетирате във Flatpak), изпълнете make и ако всичко върви добре, ще имате артефактите вътре ./builddirСлед това можеш да бягаш make install да инсталираш.
За инсталация от потребителя, UMU поставя изпълнимия файл в $HOME/.local/bin. Бъди сигурен за добавете тази директория към вашия PATH (например, експортирането му в $HOME/.bash_profile), ако искате да го извикате без пълен път.
Като алтернатива, те предлагат да се използват uv да се създаде виртуална среда и бързо конфигуриране на UMUРъководството предлага генериране на скрипт в директорията на проекта, създайте виртуалната среда с uv, инсталирайте зависимостите и стартирайте скрипта чрез uv.
En NixOS/nixpkgs, UMU е наличен като pkgs.umu-launcher от 25.05 (нестабилен клон към посочения момент). Те също така подробно описват как да се използва люспи ако ви е необходима по-скорошна снимка от тази на канала, и те дори предоставят Примери за NixOS и Home-ManagerАко работите с по-стари канали (като например nixos-24.11), предлагат комбиниране на множество канали или издърпай си люспата.
Параметри на пакетиране, които можете да презапишете в nixpkgs:
- допълнителни пакети: добавяне на допълнителни пакети към FHS средата (по подразбиране)
pkgs: []). - допълнителни библиотеки: добавяне на допълнителни библиотеки към FHS средата (по подразбиране)
pkgs: []). - сMultiArchВключване на 32-битови библиотеки в FHS средата (по подразбиране) вярно).
Ако използвате flake, можете да конфигурирате допълнителни зависимости, като например:
- сTruststore: позволява използването на хранилище за системни доверени данни (по подразбиране вярно).
- с актуализации на Deltaактивиране на зависимости за „Делта актуализации“ на Proton (по подразбиране вярно).
Те също така показват начини за прилагане на наслагване чрез specialArgs или директно в flake.nix, плюс пример за заместване на аргументи на пакета.
Steam Runtime, Logs и Debugging
UMU разчита на Steam Runtime, базиран на контейнери (същият, който използват оригинални Linux игри y Протон 8.0+). За да диагностицира проблеми в тази среда, самата среда за изпълнение поддържа полезни променливи на средата, когато се стартира с клиента на Steam, които служат и като справка при работа с контейнера:
- STEAM_LINUX_RUNTIME_LOG=1: активира лог файловете, които се показват в
SteamLinuxRuntime_sniper/var/slr-*.log(с AppID в името).slr-latest.logе символна връзка до последното генерирано. - STEAM_LINUX_RUNTIME_VERBOSE=1: повече подробности в изхода (към файлове, ако има LOG=1 или към същото място като изхода на
steamно). - PRESSURE_VESSEL_SHELL=вместо товавместо да започне играта, отваря интерактивна обвивка вътре в контейнера за проверка.
Valve документира предположения за поддържани дистрибуции, съвети за отстраняване на грешки и поддържа бележки за изданието и известни проблеми по време на изпълнение. Ако разработвате игри и се интересувате от насочени към тази среда, разгледайте неговия SDK и техническа информация за разработчици. Цялата среда за изпълнение се интегрира софтуер на трети страни с отворените си лицензи и изходният код е достъпен във версирани директории (вижте VERSIONS.txt за да видите съответствията).
Последни актуализации и корекции
При скорошна промяна, поддръжниците пуснаха ГОРЕЩА КОРЕКЦИЯ, която отменя промените в жътваря защото Те разбиха UMU в рамките на GameScope сесии във FlatpakСписъкът посочва:
- Реверсия "umu_run: завършете имплементацията на reaper в umu".
- Реверсия „umu_run: стартирайте заобиколно решение за steammode на главния процес“.
- Реверсия на „umu_run: засега използвайте твърдо кодирани стойности за показване“.
- Актуализирани бележки за изданието (бележки за изданието bump).
Този тип корекция показва, че проектът реагира бързо на регресии в специфични среди като Flatpak + gamescope, нещо ключово за потребителите на Парна палуба или настолни компютри, които използват този стек.
Статус на проекта: първа официална версия и реална цел
Версията е маркирана 1.1.1 като първо официално издание на Unified Linux Wine Game Launcher от Thomas "GloriousEggroll" Crider и общността Open Wine Components. Те подчертават, че Не е графичен стартер като Steam/Heroic/Lutris., но един общ слой че тези лаунчери могат да използват, за да стартират игри на Proton извън Steam с същата вярност това в Steam.
Те посочват, че трябва да работи във Flatpak и Snapи предоставят инструкции за опаковане за двата формата в хранилището си. Целта е, че всяко приложение може да пуска заглавия от магазини като Epic, GOG или Amazon с същото качество че в Steam, възползвайки се от protonfixes и унифицираната база данни за все по-добра съвместимост.
Връзки и препоръчителна документация
За да се задълбочим, документацията препраща към ресурси като Бележки за изданието на Steam Runtime Sniper, известни проблеми от времето на изпълнение и как да докладвате грешки, в допълнение към документа за среда за изпълнение на контейнерСтрува си да проверите и:
- Winetricks: https://github.com/Winetricks/winetricks
- Протон: https://github.com/ValveSoftware/Proton
- umu-protonfixes: https://github.com/Open-Wine-Components/umu-protonfixes
- umu-база данни: https://github.com/Open-Wine-Components/umu-database
- Време за изпълнение на контейнера: официална документация
Проектът е поддържа се от Open Wine Components с помощта на повече сътрудници. Ако искате да си сътрудничите, те препоръчват да инсталирате грива от вашата дистрибуция и активирайте сървър за ръф във вашия редактор, за да поддържате последователен стил в кода си.
UMU се позиционира като техническо лепило между Proton и лаунчерите, със стандартизирана среда за изпълнение и споделена база от корекции; това позволява на общността да се движи напред по-бързо и с по-малко триене, а потребителите получават стабилност и простота, като стартират игрите си извън Steam със същото качество.