أطلقت Valve الإصدار Proton 4.11 ، وهو مجموعة لتشغيل ألعاب Windows على نظام Linux

شركة الصمامات опубликовала فرع المشروع الجديد بروتون 4.11، بناءً على تطورات مشروع Wine ويهدف إلى ضمان إطلاق تطبيقات الألعاب التي تم إنشاؤها لنظام Windows والمقدمة في كتالوج Steam على Linux. تطورات المشروع الانتشار بموجب ترخيص BSD. بمجرد أن تصبح جاهزة، يتم نقل التغييرات التي تم تطويرها في Proton إلى Wine الأصلي والمشاريع ذات الصلة، مثل DXVK وvkd3d.

يتيح لك Proton تشغيل تطبيقات الألعاب التي تعمل بنظام Windows فقط مباشرةً في عميل Steam Linux. تتضمن الحزمة تطبيق DirectX 10/11 (استنادًا إلى دكسفك) و 12 (على أساس vkd3d) التي تعمل عن طريق ترجمة استدعاءات DirectX إلى Vulkan API توفر دعمًا محسنًا لوحدات التحكم في اللعبة والقدرة على استخدام وضع ملء الشاشة بغض النظر عن دقة الشاشة المدعومة في الألعاب. مقارنةً بـ Wine الأصلي ، تم زيادة أداء الألعاب متعددة الخيوط بشكل كبير بفضل تطبيق التصحيحات "إسينك"(مزامنة Eventfd) أو "futex/fsync".

رئيسي التغييرات في بروتون 4.11:

  • تم إجراء المزامنة مع قاعدة بيانات Wine 4.11، والتي تم نقل أكثر من 3300 تغيير منها (كان الفرع السابق يعتمد على Wine 4.2). تم نقل 154 تصحيحًا من Proton 4.2 إلى المنبع وتم تضمينها الآن في حزمة Wine الرئيسية؛
  • تمت إضافة دعم تجريبي لبدائل المزامنة بناءً على استدعاء النظام futex()، مما يقلل من حمل وحدة المعالجة المركزية مقارنةً بـ esync. وبالإضافة إلى ذلك، فإن التنفيذ الجديد يحل المشاكل المتعلقة بالحاجة إلى الاستخدام إعدادات خاصة من أجل المزامنة واحتمال استنفاد واصفات الملفات المتاحة.

    جوهر العمل الذي يتم إنجازه هو توسيع وظيفة استدعاء نظام futex() القياسي في Linux kernel مع الإمكانات اللازمة للمزامنة المثلى لتجمع الخيوط. التصحيحات التي تدعم علامة FUTEX_WAIT_MULTIPLE اللازمة لـ Proton موجودة بالفعل نقل لإدراجها في نواة لينكس الرئيسية و غليبك. لم يتم تضمين التغييرات المعدة بعد في النواة الرئيسية، لذا فهي ضرورية في الوقت الحالي إنشاء نواة خاصة تدعم هذه البدائيات؛

    أطلقت Valve الإصدار Proton 4.11 ، وهو مجموعة لتشغيل ألعاب Windows على نظام Linux

  • البينية دكسفك (تنفيذ DXGI وDirect3D 10 وDirect3D 11 أعلى Vulkan API) تم تحديثه إلى الإصدار 1.3و D9VK (تطبيق تجريبي لـ Direct3D 9 أعلى Vulkan) حتى الإصدار 0.13f. لتمكين دعم D9VK في Proton، استخدم علامة PROTON_USE_D9VK؛
  • يتم نقل معدل تحديث الشاشة الحالي إلى الألعاب؛
  • تم إجراء إصلاحات للتعامل مع تركيز الماوس وإدارة النوافذ؛
  • تم إصلاح تأخر الإدخال ومشاكل دعم الاهتزاز لعصا التحكم التي تحدث في بعض الألعاب، خاصة في الألعاب المبنية على محرك Unity؛
  • تمت إضافة الدعم لأحدث إصدار من OpenVR SDK؛
  • تم تحديث مكونات FAudio مع تنفيذ مكتبات الصوت DirectX (API XAudio2 وX3DAudio وXAPO وXACT3) إلى الإصدار 19.07؛
  • تم حل المشكلات المتعلقة بالنظام الفرعي للشبكة في الألعاب الموجودة على GameMaker؛
  • تم الآن إنشاء العديد من وحدات Wine كملفات Windows PE بدلاً من مكتبات Linux. مع تقدم العمل في هذا المجال، فإن استخدام PE سيساعد بعض أنظمة إدارة الحقوق الرقمية ومكافحة الغش. إذا كنت تستخدم إصدارات Proton مخصصة، فستحتاج على الأرجح إلى إعادة إنشاء جهاز Vagrant الظاهري لإنشاء ملفات PE.

قبل اعتماد تصحيحات Valve في نواة Linux الرئيسية، يتطلب استخدام futex() بدلاً من esync تثبيت نواة خاصة مع دعم مجمع مزامنة الخيوط المطبق في مجموعة من التصحيحات fsync. لـ Arch Linux في AUR بالفعل نشرت حزمة kernel جاهزة ومجمعة مع تصحيحات fsync. في Ubuntu 18.04 و19.04، يمكنك استخدام linux-mfutex-valve التجريبية kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve)؛

إذا كان لديك نواة تدعم fsync، فعند تشغيل Proton 4.11، ستعرض وحدة التحكم الرسالة "fsync: up and Running". يمكنك فرض إيقاف تشغيل fsync باستخدام العلامة PROTON_NO_FSYNC=1.

المصدر: opennet.ru

إضافة تعليق