
مشغل UMU لقد أصبح من تلك الأدوات التي تُغيّر طريقة لعبك على لينكس دون إحداث ضجة كبيرة. فهو أبعد ما يكون عن كونه مُشغّلاً رسوميًا تقليديًا، فمهمته هي توحيد كيفية تشغيل ألعاب Windows باستخدام Proton خارج Steam، بحيث يمكن لأي عميل أو برنامج نصي الاستفادة من نفس البيئة التي تستخدمها Valve دون الاعتماد على Steam نفسه.
لفهم ذلك بسرعة: UMU نسخ نموذج حاوية Steam Runtime (نفس الذي يستخدمه Proton وSteam Linux Runtime) مع بعض التعديلات، بحيث البروتون يعمل بنفس الطريقة تمامًا كما تفعل داخل Steam، ولكن من أي مشغل متوافق مثل Lutris، بطولي أو زجاجات، وحتى من خلال أمر طرفية بسيط. ونعم، لا تحتاج إلى تثبيت Steam لتستخدمها.
ما هو UMU Launcher ومن أين جاء اسمه؟
إن اتحاد الموحدين هو في جوهره تعديل لبرنامج "sniper" الخاص بـ Steam Linux Runtime وأدوات Steam Runtime Toolsمع نقطة دخول خاصة به وأدوات مساعدة لدمجه مع جهات خارجية. اسم "umu" ليس صدفة: فهو يشير إلى فرن حجري بركاني بولينيزي مُسخّن، حيث يُطهى عليه كل ما تضعه فوقه. يتوافق هذا التشبيه مع أداة فالف للحاوية المسماة "وعاء الضغط": UMU هو ذلك "الموقد" الذي يوضع عليه وعاء الضغط لتحضير البيئة التي "يُطهى" فيها بروتون ألعابك.
عندما يبدأ Steam لعبة باستخدام Proton، فإنه يطلق سلسلة من العمليات حيث يظهر عادةً غلاف الإطلاق البخاري (مجرد عداء الذي يقوم بإرسال متغيرات البيئة) والأهم من ذلك، SteamLinuxRuntime_sniper مع به _v2-entry-point الذي يقوم بتجميع الحاوية وتحميل البروتون. UMU يكرر هذا المنطق: النص _v2-entry-point تمت إعادة تسميته إلى umu، وتضيف umu-run ليحل محل steam-launch-wrapper ويتم تعديل التفاصيل اللازمة استخدم Proton خارج Steam الحفاظ على توقعات البيئة التي تحتاجها شركة بروتون (بما في ذلك المتغيرات البيئية).
كيفية عملها: متغيرات البيئة، والحاوية، وumu-run
المفتاح في ابدأ اللعبة داخل نفس نوع الحاوية التي يستخدمها Steam، مع المتغيرات الصحيحة لبروتون. يسمح لك UMU باستدعاء umu-run يشير إلى ملف اللعبة القابل للتنفيذ، والحجج، وبشكل اختياري، WINEPREFIX، إصدار Proton والمتجر ومن هنا تأتي اللعبة لتطبيق إصلاحات محددة.
المعاملات والمتغيرات الرئيسية أومو-ران ما يستحق المعرفة:
- نبيذ مسبق: مسار بادئة WINE. إذا لم تُحدده، فسيُنشئه UMU افتراضيًا في
$HOME/Games/umu/GAMEID. إذا لم تقم بتعريف GAMEID، البادئة الافتراضية ستكون$HOME/Games/umu/umu-default. - معرف اللعبة: يمكن أن تكون قيمة عشوائية أو معرف صالح في قاعدة بيانات umu. إذا لم تحدده، يتم استخدامه
umu-default(بدون إصلاحات تلقائية). - مسار البروتون: المسار الكامل لإصدار بروتون الذي ترغب باستخدامه. يدعم أيضًا القيمة جي إي-بروتون إلى تنزيل الإصدار الأحدث تلقائيًا من شركة GE-Proton. إذا لم تُشر إلى ذلك، UMU-بروتون (إصدار مستقر من Valve مع دعم UMU) هو الخيار الافتراضي.
- المتجر: متجر اللعبة أو "واجهة المتجر" (على سبيل المثال، السلع والخدمات البيئية, يأجوج، إلخ). تجمع UMU STORE + GAMEID للبحث عن إصلاحات محددة في قاعدة البيانات الخاصة بك.
- بروتون_فعل: فعل بروتوني للاستخدام. إذا لم تُضبطه، استخدم "waitforexitandrun".
- سجل UMU: يُفعّل سجلات تصحيح أخطاء UMU. مفيد لـ تشخيص المشاكل.
- UMU_ZENITY: إذا كان نشطًا، عرض النوافذ المنبثقة باستخدام Zenity عند تنزيل الملفات الكبيرة.
- تحديث وقت تشغيل UMU y UMU_NO_PROTON:خيارات إضافية لـ إدارة وقت التشغيل أو السيناريوهات التي لا تريد فيها أن تدير UMU شركة Proton.
وبالإضافة إلى ذلك، يقوم UMU تلقائيًا بتنزيل واستخدام وقت تشغيل Steam الضروري للإصدار Proton المختار، ووضع ملفاته فيه $HOME/.local/share/umu. وبهذا، تكون حاوية وقت التشغيل جاهزة تعمل اللعبة كما لو كانت أصلية على Steam، خارج Steam مباشرةً.
المزايا: لماذا هذا التوحيد مهم؟
نهج UMU يجعل الأمر أسهل بالنسبة لـ جميع الرامين يتحدثون نفس "اللغة" عند تشغيل الألعاب باستخدام بروتون، يُقدم هذا مزايا واضحة للمستخدمين والمطورين:
- لا توجد متطلبات Steam:لم تعد بحاجة إلى عميل Steam أو الثنائيات لاستخدام Proton.
- قاعدة الإصلاحات الموحدة- تتم مشاركة الإصلاحات الخاصة باللعبة (protonfixes) عبر المجتمع وعبر مشغلات مختلفة.
- التكافؤ مع Steam:تبدأ الألعاب باستخدام Proton داخل نفس نوع الحاوية التي يستخدمها Steam، تكرار بيئتها.
- الصيانة المركزية:إذا تغير شيء ما، يتم تحديثه في Proton GE و/أو protonfixes أو في إصدار Proton موحد، يؤثر بشكل إيجابي على الجميع.
اليوم تقوم protonfixes بحزم مجلد محلي من «إصلاحات اللعبة»ولكن المشروع نفسه يشير إلى ذلك قد تتطور إلى التنزيل عبر الإنترنت حتى تتمكن من استخدام أي أداة umu-run احصل على الإصلاحات التي تحتاجها مركزيًا.
ProtonFixes وقاعدة بيانات UMU: كيفية تطبيق الإصلاحات
يقترح UMU تدفقًا بسيطًا بحيث يقوم المشغل بتحديد اللعبة ومتجرها والإصلاح الذي يتوافق، ويُطبّق تلقائيًا قبل تشغيله مع بروتون. تتكون العملية، كما هو موضح، من الخطوات التالية:
- إنشاء قاعدة بيانات مع عناوين الألعاب ومعرفاتهم في المتاجر المختلفة و معرف umu مترابطة.
- يقوم الرامي بالبحث في القاعدة عن بيانات اللعبة واسترجاعها معرف umu، والذي يحدث ل
umu-runمع STORE، Proton، WINEPREFIX، الملف القابل للتنفيذ والحجج. - عند بدء اللعبة مع
umu-run, بروتونفيكس يكتشف STORE + umu-ID، ويجد البرنامج النصي المناسب للإصلاح و يطبقها قبل التنفيذ. - ينظم protonfixes البرامج النصية في مجلدات لكل متجرتحتفظ اللعبة نفسها بنفس معرف umu-ID عبر متاجر متعددة؛ وقد تحتوي على نصوص خاصة بالمتجر أو رابط لإصلاح موجود إذا كنت تشارك الاحتياجات.
ومن الأمثلة التي يقدمونها: Borderlands 3 على متجر Epic Games (EGS). يستخدم EGS «الأسماء الرمزية» مثل "كاتنيب". يكتشف المُشغِّل أن المتجر السلع والخدمات البيئية والاسم الرمزي هو النعناع البري، يستشير قاعدة البيانات، ويربطها بـ "Borderlands 3" و معرف umu المقابلة (على سبيل المثال، umu-12345)، ويتم تمرير هذا المعرف إلى umu-run. هكذا يتم ضمان الإصلاحات الصحيحة حتى عندما لا يستخدم المتجر اسم العلامة التجارية للعبة.
المراجع للاستخدام: الخيارات والأمثلة
يتضمن UMU وثائق قياسية صفحة رجل إلى umu-run، مع أشكال الاستخدام مثل umu-run , umu-run ] o umu-run winetricks ، بالإضافة إلى --config <FILE> y --helpومن بين الأمثلة التي يقترحونها حالات عملية على النحو التالي:
- تشغيل لعبة مباشرة.
- تشغيل لعبة باستخدام بروتونفيكس محدد.
- استخدام ملف التكوين لتحديد معلمات التنفيذ.
- إنشاء WINEPREFIX UMU وأطلقه مع بروتون.
- حدد البروتون تلقائيًا (وإنشاء البادئة إذا لزم الأمر).
- تعريف الفعل البروتوني الصحيح صراحة.
- تمكين سجلات التصحيح لتشخيص الأخطاء.
- فرض إصدار بروتون محدد حسب الاسم.
- استخدم أحدث إصدار من GE-Proton تلقائيا.
- تنفيذ أفعال winetricks من
umu-run. - تعطيل تطبيق protonfixes إذا إحتجت إلى ذلك.
باعتبارها أدوات مساعدة ذات صلة، وثائق مرجعية winetricks, سخاء، خاصة أومو(5) وتوثيقها وقت تشغيل الحاوية من Steam. كما أنه يربط بمستودعات من بروتون, أومو-بروتونفيكس و قاعدة بيانات umu، لأي شخص يريد التعمق أو المساهمة.
البناء والتركيب: من التصنيع إلى nixpkgs
بالنسبة لأولئك الذين يفضلون التجميع أو التعبئة، مستندات UMU التي يتطلبها البناء سحق, جعل, دكتور في العلوم والأدوات Python (بناء، فقس، تركيب، نقطة). بالإضافة إلى ذلك، يطلبون حمولة مع الحد الأدنى من 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: يتيح استخدام مخزن ثقة النظام (إفتراضي صحيح).
- مع تحديثات دلتا:تفعيل التبعيات لـ "تحديثات دلتا" من بروتون (إفتراضي صحيح).
كما أنها تظهر طرق تطبيق تراكب عبر specialArgs أو مباشرة إلى flake.nix، بالإضافة إلى مثال لتجاوز حجج الحزمة.
وقت تشغيل Steam والسجلات وتصحيح الأخطاء
تعتمد UMU على وقت تشغيل Steam المستند إلى الحاويات (نفس الذي يستخدمونه ألعاب لينكس الأصلية y بروتون 8.0+لتشخيص المشكلات في هذه البيئة، يدعم وقت التشغيل نفسه متغيرات البيئة المفيدة عند تشغيله باستخدام عميل Steam، والتي تعمل أيضًا كمرجع عند العمل مع الحاوية:
- سجل وقت تشغيل STEAM_LINUX=1: يمكّن السجلات التي تظهر في
SteamLinuxRuntime_sniper/var/slr-*.log(مع معرف التطبيق في الاسم).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: استخدم قيم العرض المبرمجة في الوقت الحالي".
- ملاحظات الإصدار المحدثة (ملاحظات الإصدار).
يُظهر هذا النوع من الإصلاحات السريعة أن المشروع يتفاعل بسرعة مع الانحدارات في بيئات محددة مثل Flatpak + gamescope، وهو أمر أساسي لمستخدمي سطح البخار أو أجهزة سطح المكتب التي تستخدم تلك المجموعة.
حالة المشروع: النسخة الرسمية الأولى والهدف الحقيقي
تم تسليط الضوء على الإصدار 1.1.1 كما الإصدار الرسمي الأول من مُشغِّل ألعاب لينكس واين المُوحَّد الذي أنشأه توماس "جلوريوس إيجرول" كريدر ومجتمع مكونات واين المفتوحة. يُؤكِّدون على أن إنه ليس مشغل رسومي مثل Steam/Heroic/Lutris، ولكن واحد الطبقة المشتركة يمكن استخدام هذه المشغلات لتشغيل ألعاب Proton خارج Steam باستخدام نفس الإخلاص ذلك داخل Steam.
وهم يشيرون إلى ذلك يجب أن تعمل داخل Flatpak و Snap، وتوفير تعليمات التعبئة والتغليف لكلا التنسيقين في مستودعها. الهدف هو أي تطبيق يمكنك إطلاق عناوين من متاجر مثل Epic أو GOG أو Amazon باستخدام بنفس الجودة على Steam، الاستفادة من بروتونفيكس وقاعدة البيانات الموحدة من أجل توافق أفضل إلى الأبد.
الروابط والوثائق الموصى بها
للتعمق أكثر، تتضمن الوثائق روابط لموارد مثل ملاحظات إصدار Steam Runtime Sniper, المشاكل المعروفة من وقت التشغيل و كيفية الإبلاغ عن الأخطاء، بالإضافة إلى الوثيقة المتعلقة بـ وقت تشغيل الحاوية. ومن الجدير أيضًا التحقق من:
- Winetricks: https://github.com/Winetricks/winetricks
- بروتون: https://github.com/ValveSoftware/Proton
- أومو-بروتونفيكس: https://github.com/Open-Wine-Components/umu-protonfixes
- قاعدة بيانات umu: https://github.com/Open-Wine-Components/umu-database
- وقت تشغيل الحاوية: الوثائق الرسمية
المشروع هو صيانتها بواسطة Open Wine Components بمساعدة المزيد من المساهمين. إذا كنت ترغب في التعاون، يُنصح بتثبيت قبة من التوزيع الخاص بك وتمكين خادم راف في محرر النصوص الخاص بك للحفاظ على نمط متسق في الكود الخاص بك.
تضع UMU نفسها كغراء تقني بين Proton ومشغلات الألعاب، مع وقت تشغيل موحد وقاعدة إصلاحات مشتركة؛ وهذا يسمح للمجتمع بالمضي قدمًا بشكل أسرع وبأقل احتكاك، ويكتسب المستخدمون الاستقرار والبساطة من خلال تشغيل ألعابهم خارج Steam بنفس الجودة.