
Peluncur UMU Ini telah menjadi salah satu alat yang, tanpa banyak menimbulkan kegaduhan, mengubah cara Anda bermain di Linux. Jauh dari sekadar peluncur grafis biasa, misinya adalah Satukan cara menjalankan game Windows dengan Proton di luar Steam, sehingga klien atau skrip apa pun dapat memanfaatkan lingkungan yang sama yang digunakan Valve tanpa bergantung pada Steam itu sendiri.
Untuk memahaminya dengan cepat: UMU salin model kontainer Steam Runtime (yang sama yang digunakan oleh Proton dan Steam Linux Runtime) dengan beberapa penyesuaian, sehingga Proton bekerja secara identik sama seperti yang Anda lakukan di Steam, tetapi dari peluncur yang kompatibel seperti Lutris, Heroik atau Botol, dan bahkan dari perintah terminal sederhana. Dan ya, Anda tidak perlu menginstal Steam untuk menggunakannya.
Apa itu UMU Launcher dan dari mana namanya berasal?
UMU pada hakikatnya adalah adaptasi dari Steam Linux Runtime "sniper" dan Steam Runtime Tools, dengan titik masuknya sendiri dan utilitas bagi pihak ketiga untuk mengintegrasikannya. Nama "umu" bukanlah kebetulan: nama ini merujuk pada Oven batu vulkanik Polinesia dipanaskan, yang mana apa pun yang Anda taruh di atasnya akan "dimasak". Metafora ini sesuai dengan alat wadah Valve yang disebut "bejana tekan": UMU adalah "kompor" tempat bejana tekan tersebut diletakkan untuk menyiapkan lingkungan tempat Proton "memasak" gim Anda.
Ketika Steam memulai permainan dengan Proton, ia meluncurkan serangkaian proses di mana ia biasanya muncul pembungkus peluncuran uap (hanya pelari yang meneruskan variabel lingkungan) dan, yang terpenting, SteamLinuxRuntime_sniper dengan nya _v2-entry-point yang merakit kontainer dan memuat Proton. UMU meniru logika itu: naskahnya _v2-entry-point itu diganti namanya menjadi umu, itu menambahkan umu-run untuk menggantikan steam-launch-wrapper dan rincian yang diperlukan disesuaikan dengan Gunakan Proton di luar Steam mempertahankan harapan lingkungan yang dibutuhkan Proton (termasuk variabel lingkungan).
Cara kerjanya: variabel lingkungan, kontainer, dan umu-run
Kuncinya ada memulai permainan di dalam jenis wadah yang sama yang digunakan Steam, dengan variabel yang tepat untuk Proton. UMU memungkinkan Anda untuk memanggil umu-run menunjukkan eksekusi game, argumen dan, secara opsional, WINEPREFIX, versi Proton dan toko dari mana permainan tersebut datang untuk menerapkan perbaikan tertentu.
Parameter dan variabel utama umu-lari Apa yang harus Anda ketahui:
- PREFIX ANGGUR: Jalur awalan WINE. Jika Anda tidak menentukannya, UMU akan membuatnya secara default di
$HOME/Games/umu/GAMEID. Jika Anda tidak menentukan GAMEID, awalan default akan menjadi$HOME/Games/umu/umu-default. - ID PERMAINAN: bisa berupa nilai sembarangan atau ID yang valid di umu-database. Jika Anda tidak mendefinisikannya, digunakan
umu-default(tanpa perbaikan otomatis). - PROTONPATH: jalur lengkap ke versi Proton yang ingin Anda gunakan. Juga mendukung nilai GE-Proton ayat mengunduh versi terbaru secara otomatis dari GE-Proton. Jika Anda tidak mencantumkannya, UMU-Proton (versi stabil dari Valve dengan dukungan UMU) adalah opsi default.
- PENJUAL: toko permainan atau "etalase" (misalnya, egs, gog, dll.). UMU menggabungkan TOKO + GAMEID untuk mencari perbaikan tertentu dalam basis data Anda.
- PROTON_VERB: Kata kerja proton yang digunakan. Jika Anda tidak mengaturnya, gunakan "waitforexitandrun".
- UMU_LOG: Mengaktifkan log debug UMU. Berguna untuk mendiagnosis masalah.
- UMU_ZENITY: jika aktif, tampilkan pop-up dengan Zenity saat mengunduh berkas berukuran besar.
- UMU_RUNTIME_PEMBARUAN y UMU_TIDAK_ADA_PROTON: opsi tambahan untuk manajemen waktu proses atau skenario di mana Anda tidak ingin UMU mengelola Proton.
Selain itu, UMU secara otomatis mengunduh dan menggunakan Steam Runtime yang diperlukan untuk versi Proton yang dipilih, dan letakkan file-nya di $HOME/.local/share/umuDengan itu, kontainer runtime sudah siap dan Permainan ini berjalan seolah-olah asli dari Steam, tepat di luar Steam.
Keuntungan: Mengapa penyatuan ini penting
Pendekatan UMU memudahkan semua pitcher berbicara "bahasa" yang sama saat menjalankan game dengan Proton. Hal ini menawarkan beberapa keuntungan yang jelas bagi pengguna dan pengembang:
- Tidak ada persyaratan Steam:Anda tidak lagi memerlukan klien Steam atau biner untuk menggunakan Proton.
- Basis perbaikan terpadu- Perbaikan khusus permainan (protonfixes) dibagikan ke seluruh komunitas dan peluncur yang berbeda.
- Paritas dengan Uap:Permainan dimulai dengan Proton di dalam jenis wadah yang sama yang digunakan Steam, mereplikasi lingkungannya.
- Pemeliharaan terpusat:jika ada perubahan, maka akan diperbarui di Proton GE dan/atau protonfixes atau di Proton build terpadu, berdampak positif pada semua orang.
Hari ini protonfixes mengemas folder lokal "perbaikan permainan", tetapi proyek itu sendiri menunjukkan bahwa bisa berkembang menjadi unduhan online sehingga alat apa pun yang Anda gunakan umu-run dapatkan perbaikan yang Anda butuhkan secara terpusat.
ProtonFixes dan Basis Data UMU: Bagaimana Perbaikan Diterapkan
UMU mengusulkan aliran sederhana sehingga peluncur mengidentifikasi permainan, tokonya, dan perbaikannya yang sesuai, dan menerapkannya secara otomatis sebelum menjalankannya dengan Proton. Prosesnya, sebagaimana dijelaskan, terdiri dari langkah-langkah berikut:
- Buat database dengan judul game, ID mereka di berbagai toko dan umu-ID berkorelasi.
- Pitcher mencari basis untuk data permainan dan mengambilnya umu-ID, yang terjadi pada
umu-runbersama dengan STORE, Proton, WINEPREFIX, dapat dieksekusi dan argumen. - Saat memulai permainan dengan
umu-run, protonfixes mendeteksi STORE + umu-ID, menemukan skrip perbaikan yang sesuai dan menerapkannya sebelum dieksekusi. - protonfixes mengatur skrip menjadi folder per toko. Game yang sama mempertahankan umu-ID yang sama di beberapa toko; mungkin memiliki skrip khusus toko atau tautan ke perbaikan yang ada jika Anda berbagi kebutuhan.
Contoh yang mereka berikan adalah Borderlands 3 di Epic Games Store (EGS)EGS menggunakan "nama kode" seperti "Catnip". Peluncur mendeteksi bahwa toko tersebut egs dan nama kodenya adalah Catnip, berkonsultasi dengan database, mengaitkannya dengan "Borderlands 3" dan umu-ID sesuai (misalnya, umu-12345), dan ID tersebut diteruskan ke umu-run. Beginilah cara perbaikan yang benar dijamin bahkan ketika toko tersebut tidak menggunakan nama merek game tersebut.
Referensi penggunaan: pilihan dan contoh
UMU mencakup dokumentasi standar halaman manual ayat umu-run, dengan bentuk penggunaan seperti umu-run , umu-run ] o umu-run winetricks , Plus --config <FILE> y --helpDi antara contoh-contoh yang mereka usulkan, kasus-kasus praktis sebagai:
- Jalankan permainan secara langsung.
- Jalankan permainan dengan protonfix tertentu.
- Menggunakan file konfigurasi untuk membuat parameterisasi eksekusi.
- Buat WINEPREFIX UMU dan meluncurkannya dengan Proton.
- Pilih Proton secara otomatis (dan buat awalan jika perlu).
- Tentukan kata kerja Proton yang valid secara eksplisit.
- Aktifkan log debug untuk mendiagnosis kesalahan.
- Paksa versi Proton tertentu berdasarkan nama.
- Gunakan GE-Proton versi terbaru secara otomatis.
- Jalankan kata kerja winetricks dari
umu-run. - Nonaktifkan aplikasi protonfixes jika kamu memerlukannya.
Sebagai utilitas terkait, dokumentasi referensi winetricks, ketenangan, Memiliki umu(5) dan dokumentasi dari waktu kerja kontainer dari Steam. Ini juga terhubung ke repo dari Proton, umu-protonfixes dan umu-database, bagi siapa saja yang ingin mendalami atau berkontribusi.
Membangun dan menginstal: dari make hingga nixpkgs
Bagi mereka yang lebih suka mengkompilasi atau mengemas, UMU mendokumentasikan bahwa build memerlukan menampar, membuat, scdoc dan alat Ular sanca (membangun, menetas, memasang, pip). Selain itu, mereka meminta muatan dengan MSRV minimum sama dengan versi stabil terbaru dari dependensi langsungnya.
Alur yang disarankan adalah: unduh kodenya, masuk ke direktori, jalankan configure.sh --prefix untuk mengatur awalan instalasi (misalnya /usr/local o /app jika Anda akan mengemas dalam Flatpak), jalankan make dan jika semuanya berjalan dengan baik, Anda akan memiliki artefak di ./builddir. Kemudian Anda bisa menjalankannya make install untuk menginstal.
Untuk instalasi pengguna, UMU menempatkan file yang dapat dieksekusi di $HOME/.local/bin. Pastikan untuk tambahkan direktori itu ke PATH Anda (misalnya, mengekspornya dalam $HOME/.bash_profile) jika Anda ingin memanggilnya tanpa path lengkap.
Atau, mereka mengusulkan penggunaan uv untuk menciptakan lingkungan virtual dan konfigurasikan UMU dengan cepatPanduan ini menyarankan hasilkan skrip di direktori proyek, buat virtualenv dengan uv, instal dependensi dan jalankan skrip melalui uv.
En NixOS/nixpkgsUMU tersedia sebagai pkgs.umu-launcher sejak 25.05 (cabang tidak stabil pada waktu yang ditunjukkan). Mereka juga merinci cara menggunakan serpih jika Anda memerlukan snapshot yang lebih baru daripada saluran, dan mereka bahkan menyediakan Contoh untuk NixOS dan Home-ManagerJika Anda bekerja dengan saluran lama (seperti nixos-24.11), menyarankan menggabungkan beberapa saluran atau tarik serpihanmu.
Parameter pengemasan yang dapat Anda timpa dalam nixpkgs:
- Paket Ekstra: menambahkan paket tambahan ke lingkungan FHS (default)
pkgs: []). - perpustakaan tambahan: menambahkan pustaka tambahan ke lingkungan FHS (secara default)
pkgs: []). - denganMultiArch: Sertakan pustaka 32-bit di lingkungan FHS (secara default) benar).
Jika Anda menggunakan flake, Anda dapat mengonfigurasi dependensi opsional seperti:
- dengan Truststore: memungkinkan penggunaan penyimpanan kepercayaan sistem (default benar).
- denganDeltaUpdates: mengaktifkan dependensi untuk "Pembaruan delta" Proton (default benar).
Mereka juga menunjukkan cara menerapkannya overlay melalui specialArgs atau langsung ke flake.nix, ditambah contoh penggantian argumen paket.
Steam Runtime, Log, dan Debugging
UMU mengandalkan Steam Runtime Berbasis Kontainer (yang sama yang mereka gunakan game Linux asli y Proton 8.0+). Untuk mendiagnosis masalah di lingkungan tersebut, runtime itu sendiri mendukung variabel lingkungan yang berguna saat diluncurkan dengan klien Steam, yang juga berfungsi sebagai referensi saat bekerja dengan kontainer:
- LOG_WAKTU_JALAN_LINUX_STEAM=1: mengaktifkan log yang muncul di
SteamLinuxRuntime_sniper/var/slr-*.log(dengan AppID dalam nama).slr-latest.logadalah tautan simbolik hingga yang terakhir dihasilkan. - STEAM_LINUX_RUNTIME_VERBOSE=1: lebih banyak verbositas dalam output (ke file jika ada LOG=1 atau ke tempat yang sama dengan output
steamTetapi). - PRESSURE_VESSEL_SHELL=sebagai gantinya:daripada memulai permainan, membuka shell interaktif di dalam kontainer untuk pemeriksaan.
Valve mendokumentasikan asumsi tentang distribusi yang didukung, tips debugging, dan memelihara catatan rilis serta masalah runtime yang diketahui. Jika Anda mengembangkan game dan tertarik targetkan lingkungan itu, lihat SDK dan informasi teknisnya untuk pengembang. Seluruh runtime terintegrasi perangkat lunak pihak ketiga dengan lisensi terbuka dan kode sumber tersedia di direktori versi (lihat VERSIONS.txt untuk melihat korespondensi).
Pembaruan dan perbaikan terbaru
Dalam perubahan baru-baru ini, pengelola merilis HOTFIX yang mengembalikan perubahan ke reaper karena Mereka memecahkan UMU dalam sesi GameScope di FlatpakDaftar ini menunjukkan:
- Pengembalian dari "umu_run: selesaikan implementasi reaper di umu".
- Pengembalian dari "umu_run: jalankan solusi steammode pada proses utama".
- Pengembalian dari "umu_run: gunakan nilai tampilan hardcoded untuk saat ini".
- Catatan rilis yang diperbarui (catatan rilis benturan).
Jenis perbaikan terbaru ini menunjukkan bahwa proyek bereaksi cepat terhadap regresi di lingkungan tertentu seperti Flatpak + gamescope, sesuatu yang penting bagi pengguna Dek Uap atau desktop yang menggunakan tumpukan itu.
Status proyek: versi resmi pertama dan tujuan sebenarnya
Versi telah disorot 1.1.1 sebagai rilis resmi pertama Peluncur Game Unified Linux Wine oleh Thomas "GloriousEggroll" Crider dan komunitas Open Wine Components. Mereka menekankan bahwa Ini bukan peluncur grafis seperti Steam/Heroic/Lutris, tapi satu lapisan umum bahwa peluncur tersebut dapat digunakan untuk menjalankan game Proton di luar Steam dengan kesetiaan yang sama yang ada di dalam Steam.
Mereka menunjukkan bahwa harus bekerja di Flatpak dan Snap, dan menyediakan petunjuk pengemasan untuk kedua format di repositorinya. Tujuannya adalah aplikasi apa pun dapat meluncurkan judul dari toko seperti Epic, GOG atau Amazon dengan kualitas yang sama yang di Steam, mendapat manfaat dari protonfixes dan database terpadu untuk kompatibilitas yang lebih baik.
Tautan dan dokumentasi yang direkomendasikan
Untuk mempelajari lebih lanjut, dokumentasi tersebut terhubung ke sumber daya seperti Catatan rilis Steam Runtime Sniper, masalah yang diketahui dari runtime dan cara melaporkan bug, selain dokumen tentang waktu proses kontainer. Perlu juga diperiksa:
- Winetricks: https://github.com/Winetricks/winetricks
- Proton: https://github.com/ValveSoftware/Proton
- umu-protonfixes: https://github.com/Open-Wine-Components/umu-protonfixes
- umu-database: https://github.com/Open-Wine-Components/umu-database
- Waktu proses kontainer: dokumentasi resmi
Proyeknya adalah dikelola oleh Open Wine Components dengan bantuan lebih banyak kontributor. Jika Anda ingin berkolaborasi, mereka merekomendasikan untuk menginstal ruff dari distribusi Anda dan aktifkan server kasar di editor Anda untuk mempertahankan gaya yang konsisten dalam kode Anda.
UMU memposisikan dirinya sebagai perekat teknis antara Proton dan peluncur, dengan waktu proses standar dan basis perbaikan bersama; hal ini memungkinkan komunitas untuk maju lebih cepat dan dengan lebih sedikit hambatan, dan pengguna memperoleh stabilitas dan kesederhanaan dengan menjalankan game mereka di luar Steam dengan kualitas yang sama.