
UMUランチャー これは、大した音を立てずにLinuxでのプレイ方法を変えるツールの一つとなっています。典型的なグラフィカルランチャーとは程遠く、その使命は Steam 外での Windows ゲームの実行方法を Proton で統一これにより、どのクライアントやスクリプトでも、Steam 自体に依存せずに Valve が使用するのと同じ環境を利用できるようになります。
すぐに理解するには:UMU Steamランタイムコンテナモデルをコピーする (ProtonとSteam Linux Runtimeで使用されているものと同じもの)にいくつかの調整を加えたもので、 プロトンも同様に機能する Steam内と同じように、Lutrisのような互換性のあるランチャーからでも、 ヒロイック またはBottles、あるいは簡単なターミナルコマンドからでも。そして、はい。 Steamをインストールする必要はない それを使用します。
UMU ランチャーとは何ですか?その名前の由来はどこから来たのですか?
UMUは本質的には Steam Linux ランタイム「スナイパー」と Steam ランタイムツールの適応独自のエントリポイントとサードパーティが統合するためのユーティリティを備えています。「umu」という名前は偶然ではありません。 ポリネシアの火山石窯 加熱され、その上に載せたものが「調理」されます。この比喩はValveの「圧力容器」と呼ばれるコンテナツールによく当てはまります。UMUは、Protonがゲームを「調理」する環境を整えるために圧力容器が置かれる「ストーブ」と言えるでしょう。
SteamがProtonでゲームを起動すると、通常は次のような一連のプロセスが起動されます。 Steam 起動ラッパー (ほんの ランナー 環境変数を転送する)そして、重要なのは、 SteamLinuxRuntime_sniper そのと _v2-entry-point コンテナを組み立ててProtonを積み込みます。 UMUはその論理を再現する:スクリプト _v2-entry-point 名前が変更されます umu、追加します umu-run 交換する steam-launch-wrapper 必要な詳細が調整され、 Steam以外でProtonを使用する Proton が必要とする環境の期待値 (環境変数を含む) を維持します。
仕組み: 環境変数、コンテナ、umu-run
キーはにあります Steamが使用するのと同じタイプのコンテナ内でゲームを起動しますをProtonの正しい変数で呼び出します。UMUを使用すると、 umu-run ゲームの実行ファイル、引数、およびオプションで、 WINEPREFIX、Protonバージョン、ストア ゲームに特定の修正を適用するようになります。
主なパラメータと変数 ウムラン 知っておくべきこと:
- ワインプレフィックス: WINEプレフィックスパス。指定しない場合は、UMUはデフォルトで以下のパスを作成します。
$HOME/Games/umu/GAMEID. GAMEIDを定義しない場合デフォルトのプレフィックスは$HOME/Games/umu/umu-default. - ゲームID: 任意の値または有効なIDを指定できます。 umuデータベース. 定義しなければ、使用される
umu-default(自動修正なし)。 - プロトンパス: 使用したいProtonバージョンへのフルパス。以下の値もサポートしています。 GE-プロトン パラ 最新のビルドを自動的にダウンロードする GE-Protonより。ご指定がない場合は、 UMU-プロトン (UMU をサポートする Valve の安定したビルド) がデフォルトのオプションです。
- STORE: ゲームのストアまたは「ストアフロント」(例: EGS, ゴッグなど)。UMUは 特定の修正を検索するにはSTORE + GAMEIDを入力してください あなたのデータベースに。
- プロトン動詞: 使用するプロトン動詞。設定しない場合は 「waitforexitandrun」を使用する.
- UMU_ログ: UMUデバッグログを有効にします。 問題を診断する.
- ウムゼニティ: アクティブな場合、 Zenityでポップアップを表示する 大きなファイルをダウンロードするとき。
- UMU_RUNTIME_UPDATE y UMU_NO_PROTON: 追加オプション ランタイム管理 または、UMU に Proton を管理させたくないシナリオ。
さらに、 UMUは必要なSteamランタイムを自動的にダウンロードして使用します 選択したProtonバージョン用のファイルを作成し、そのファイルを $HOME/.local/share/umuこれでランタイムコンテナの準備が整い、 ゲームはSteamネイティブのように動作しますSteam のすぐ外側にあります。
利点:この統合が重要な理由
UMUのアプローチにより、 すべての投手は同じ「言語」を話す Protonでゲームを実行する場合。これはユーザーと開発者にとっていくつかの明確な利点をもたらします。
- Steam要件なし: Proton を使用するために Steam クライアントやバイナリは不要になりました。
- 統合修正ベース- ゲーム固有の修正 (protonfixes) は、コミュニティ全体およびさまざまなランチャー間で共有されます。
- Steamとの同等性ゲームはSteamが使用するのと同じタイプのコンテナ内のProtonで始まります。 環境を再現する.
- 集中メンテナンス: 何か変更があった場合、Proton GE および/または protonfixes または統合 Proton ビルドで更新されます。 すべての人に良い影響を与える.
今日、protonfixesはローカルフォルダをパッケージ化します 「ゲームフィックス」しかし、このプロジェクト自体が オンラインダウンロードに進化する可能性がある 使用するツールは umu-run 必要な修正を一元的に取得します。
ProtonFixesとUMUデータベース:修正の適用方法
UMUはシンプルなフローを提案し、 ランチャーはゲーム、そのストア、修正プログラムを識別する 対応するものがあり、Protonで実行する前に自動的に適用されます。このプロセスは、説明されているように、以下のステップで構成されます。
- データベースを作成する ゲームタイトル、異なるストアのID、そして umu-ID 相関関係にある。
- 投手はベースで試合データを検索し、 umu-ID、これは
umu-runとともに STORE、Proton、WINEPREFIX、実行ファイルと引数. - ゲームを開始すると
umu-run, プロトン固定 STORE + umu-IDを検出し、適切な修正スクリプトを見つけて それを適用する 実行前に。 - protonfixesはスクリプトを整理します ストアごとのフォルダ同じゲームが複数のストアで同じumu-IDを維持する場合、ストア固有のスクリプトや 既存の修正へのリンク ニーズを共有する場合。
彼らが挙げている例は Epic Games Store (EGS) の『ボーダーランズ 3』EGSは 「コードネーム」 「キャットニップ」のような。ランチャーはストアが EGS コードネームは キャットニップはデータベースを参照し、「ボーダーランズ3」と関連付け、 umu-ID 対応する(例えば、 umu-12345)に渡され、そのIDは umu-run. これにより、正しい修正が保証されます 店舗がゲームのブランド名を使用していない場合でも同様です。
使用上の参考資料:オプションと例
UMUには標準ドキュメントが含まれています マニュアルページ パラ umu-run、使用形態としては、 umu-run , umu-run ] o umu-run winetricks 、プラス --config <FILE> y --help彼らが提案する例の中には 実際の事例 として:
- ゲームを実行する 直接。
- 特定のプロトンフィックスでゲームを実行する.
- 設定ファイルの使用 実行をパラメータ化します。
- WINEPREFIX UMUを作成する そしてProtonで打ち上げます。
- プロトンを自動的に選択 (必要に応じてプレフィックスを作成します)。
- 有効なProton動詞を定義する 明示的に。
- デバッグログを有効にする 障害を診断します。
- 名前で特定の Proton バージョンを強制する.
- GE-Protonの最新ビルドを使用する 自動的に。
- WineTricks動詞を実行する から
umu-run. - protonfixesアプリケーションを無効にする あなたがそれを必要とするならば。
関連ユーティリティとして、リファレンスドキュメント winetricks, 天頂、 自分の ウム(5) および文書化 コンテナ ランタイム Steamから。また、 Proton, umu-プロトン固定 と umuデータベースもっと深く知りたい人や貢献したい人向け。
ビルドとインストール: make から nixpkgs まで
コンパイルやパッケージ化を好む人のために、UMUはビルドに必要なものを文書化している。 bash, make, SCドキュメント とツール Python (ビルド、ハッチリング、インストーラー、pip)。さらに、 貨物 最小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/nixpkgsUMUは、 pkgs.umu-launcher 25.05以降(表示時点では不安定なブランチ)です。また、使用方法についても詳しく説明しています。 フレーク チャンネルのスナップショットよりも新しいスナップショットが必要な場合は、 NixOSとHome-Managerの例古いチャンネル( nixos-24.11)、複数のチャネルを組み合わせることを提案したり、 気を抜く.
nixpkgs で上書きできるパッケージ パラメータ:
- 追加パッケージ: FHS 環境に追加パッケージを追加する (デフォルト)
pkgs: []). - 追加ライブラリ: FHS 環境にライブラリを追加します (デフォルト)
pkgs: []). - MultiArch搭載: FHS環境に32ビットライブラリを含める(デフォルト) true).
flake を使用する場合は、次のようなオプションの依存関係を設定できます。
- Truststore付き: の使用を可能にします システム信頼ストア (デフォルト true).
- デルタアップデート付き: 依存関係を有効にする プロトンの「デルタアップデート」 (デフォルト true).
また、 specialArgs によるオーバーレイ または直接 flake.nixさらに、パッケージ引数をオーバーライドする例も示します。
Steam ランタイム、ログ、デバッグ
UMUは コンテナベースのSteamランタイム (彼らが使っているのと同じもの ネイティブ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 対応関係を確認するには)。
最近のアップデートとホットフィックス
最近の変更で、メンテナーは リーパーの変更を元に戻すホットフィックス なぜなら FlatpakのGameScopeセッション内でUMUが壊れましたリストには次の内容が記載されています:
- リバーシオン 「umu_run: umu での reaper の実装を完了する」の
- リバーシオン 「umu_run: メインプロセスで steammode の回避策を実行する」
- リバーシオン 「umu_run: 今のところハードコードされた表示値を使用する」
- リリースノートを更新しました (リリースノートをバンプします)。
このタイプの修正プログラムは、プロジェクトが 回帰に素早く反応する Flatpak + gamescopeのような特定の環境では、 スチームデッキ またはそのスタックを使用するデスクトップ。
プロジェクトのステータス: 最初の公式バージョンと真の目的
バージョンが強調表示されました 1.1.1 として 最初の公式リリース Thomas "GloriousEggroll" CriderとOpen Wine ComponentsコミュニティによるUnified Linux Wine Game Launcherの開発者。彼らは、 Steam/Heroic/Lutrisのようなグラフィカルランチャーではありません、 しかし、XNUMXつ 共通層 これらのランチャーはSteam外でProtonゲームを実行するために使用できる。 同じ忠実度 Steam 内のもの。
これらは、 FlatpakとSnap内で動作するはずです、そして提供する 梱包手順 リポジトリに両方のフォーマットを格納しています。目標は 任意のアプリ Epic、GOG、Amazonなどのストアからタイトルをリリースできます 同じ品質 Steamで、 プロトンフィックスと統合データベース 互換性をさらに向上させます。
リンクと推奨ドキュメント
さらに詳しく知るには、ドキュメントには次のようなリソースへのリンクがあります。 Steam ランタイム スナイパー リリースノート, 既知の問題 ランタイムから バグの報告方法、文書に加えて コンテナランタイム以下もチェックする価値があります:
- Winetricks: https://github.com/Winetricks/winetricks
- Proton: https://github.com/ValveSoftware/Proton
- umu-プロトン固定: https://github.com/Open-Wine-Components/umu-protonfixes
- umuデータベース: https://github.com/Open-Wine-Components/umu-database
- コンテナランタイム: 公式ドキュメント
プロジェクトは Open Wine Componentsによって管理されています より多くの貢献者の助けを借りて。共同作業を行う場合は、インストールすることをお勧めします。 ラフ 配布から有効にする ラフサーバー コードのスタイルの一貫性を保つために、エディターでこれを使用します。
UMUは技術的な接着剤として位置づけている Proton とランチャーの間で、標準化されたランタイムと共有された修正ベースが提供されます。これにより、コミュニティはより速く、より少ない摩擦で前進することができ、ユーザーは Steam 外で同じ品質でゲームを実行することで安定性とシンプルさを獲得できます。