Valve Proton 4.11 را منتشر کرد، مجموعه ای برای اجرای بازی های ویندوز در لینوکس

شرکت شیر опубликовала شعبه پروژه جدید پروتون 4.11، بر اساس پیشرفت های پروژه Wine و با هدف اطمینان از راه اندازی برنامه های بازی ایجاد شده برای ویندوز و ارائه شده در کاتالوگ Steam در لینوکس. تحولات پروژه گسترش تحت مجوز BSD همانطور که آنها آماده هستند، تغییرات ایجاد شده در Proton به Wine اصلی و پروژه های مرتبط مانند DXVK و vkd3d منتقل می شوند.

Proton به شما اجازه می دهد تا مستقیماً برنامه های بازی فقط ویندوز را در سرویس گیرنده Steam Linux اجرا کنید. این بسته شامل اجرای DirectX 10/11 (بر اساس DXVK) و 12 (بر اساس vkd3d)، کار از طریق ترجمه تماس های DirectX به Vulkan API، پشتیبانی بهبود یافته ای از کنترلرهای بازی و توانایی استفاده از حالت تمام صفحه بدون توجه به وضوح صفحه نمایش پشتیبانی شده در بازی ها را فراهم می کند. در مقایسه با Wine اصلی، عملکرد بازی های چند رشته ای به لطف استفاده از پچ ها به طور قابل توجهی افزایش یافته است.esync"(Eventfd Synchronization) یا "futex/fsync".

اصلی تغییرات در پروتون 4.11:

  • همگام سازی با پایگاه کد Wine 4.11 انجام شد که از آن بیش از 3300 تغییر منتقل شد (شاخه قبلی بر اساس wine 4.2 بود). 154 وصله از Proton 4.2 به بالادست منتقل شده اند و اکنون در بسته اصلی Wine گنجانده شده اند.
  • پشتیبانی آزمایشی برای همگام سازی اولیه بر اساس فراخوانی سیستم futex() اضافه شده است که بار CPU را در مقایسه با esync کاهش می دهد. علاوه بر این، پیاده سازی جدید مشکلات نیاز به استفاده را حل می کند تنظیمات خاص برای esync و اتمام احتمالی توصیفگرهای فایل موجود.

    ماهیت کاری که انجام می شود گسترش عملکرد فراخوانی سیستم استاندارد futex() در هسته لینوکس با قابلیت های لازم برای همگام سازی بهینه thread pool است. وصله هایی با پشتیبانی از پرچم FUTEX_WAIT_MULTIPLE که برای Proton ضروری است، قبلاً وجود دارد منتقل شده برای گنجاندن در هسته اصلی لینوکس و glibc. تغییرات آماده شده هنوز در هسته اصلی گنجانده نشده است، بنابراین در حال حاضر ضروری است برای ایجاد یک هسته ویژه با پشتیبانی از این موارد اولیه.

    Valve Proton 4.11 را منتشر کرد، مجموعه ای برای اجرای بازی های ویندوز در لینوکس

  • بین لایه DXVK (اجرای DXGI، Direct3D 10 و Direct3D 11 در بالای Vulkan API) به نسخه به روز شد 1.3و D9VK (پیاده سازی آزمایشی Direct3D 9 در بالای Vulkan) تا نسخه 0.13f. برای فعال کردن پشتیبانی از D9VK در پروتون، از پرچم PROTON_USE_D9VK استفاده کنید.
  • نرخ تازه سازی مانیتور فعلی به بازی ها منتقل می شود.
  • اصلاحاتی برای مدیریت فوکوس ماوس و مدیریت پنجره ایجاد شده است.
  • رفع تاخیر ورودی و مشکلات پشتیبانی از لرزش جوی استیک‌ها که در برخی بازی‌ها به خصوص در بازی‌های مبتنی بر موتور Unity رخ می‌دهد.
  • پشتیبانی از آخرین نسخه OpenVR SDK اضافه شده است.
  • اجزای FAudio با اجرای کتابخانه های صوتی DirectX (API XAudio2، X3DAudio، XAPO و XACT3) برای انتشار 19.07 به روز شده اند.
  • مشکلات زیرسیستم شبکه در بازی های GameMaker حل شده است.
  • بسیاری از ماژول های Wine اکنون به عنوان فایل های Windows PE به جای کتابخانه های لینوکس ساخته شده اند. با پیشرفت کار در این زمینه، استفاده از PE به برخی از سیستم های DRM و ضد تقلب کمک می کند. اگر از ساخت‌های سفارشی پروتون استفاده می‌کنید، به احتمال زیاد باید ماشین مجازی Vagrant را برای ساخت فایل‌های PE بازسازی کنید.

قبل از استفاده از وصله‌های Valve در هسته اصلی لینوکس، استفاده از futex() به جای esync نیاز به نصب یک هسته ویژه با پشتیبانی از استخر همگام‌سازی thread پیاده‌سازی شده در مجموعه‌ای از وصله‌ها دارد. fsync. برای Arch Linux در AUR در حال حاضر منتشر شد بسته هسته آماده کامپایل شده با پچ های fsync. در اوبونتو 18.04 و 19.04، می توانید از PPA هسته آزمایشی linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve) استفاده کنید.

اگر هسته ای با پشتیبانی از fsync دارید، وقتی پروتون 4.11 را اجرا می کنید، کنسول پیام "fsync: در حال اجرا و در حال اجرا" را نمایش می دهد. می‌توانید با استفاده از پرچم PROTON_NO_FSYNC=1، fsync را مجبور کنید خاموش شود.

منبع: opennet.ru

اضافه کردن نظر