A Valve kiadta a Proton 4.11-et, csomagot Windows játékok Linux alatt történő futtatásához.

A Valve kiadta a projekt új ágát Proton 4.11, amely a Wine projekt eredményeire épül, és célja, hogy biztosítsa a Windows-ra készült, a Steam katalógusában szereplő játékalkalmazások Linux alatt történő futtatását. A projekt eredményei szabadon terjeszthetők BSD-licenc alatt. A Protonban kifejlesztett módosítások a Wine-ba és a kapcsolódó projektekba, mint például a DXVK és a vkd3d, készülve kerülnek átadásra.

A Proton lehetővé teszi a Linux kliensek Steam-játékalkalmazásainak közvetlen futtatását, amelyek csak Windows-ra készültek. A csomag tartalmazza a DirectX 10/11 (a DXVK) és 12 (a vkd3d) megvalósításait, amelyek a DirectX hívások Vulkan API-ra történő átírásán keresztül működnek, javítva a játékkontrollerek támogatását és lehetőséget adva a teljes képernyős mód használatára, függetlenül a játékok által támogatott képernyőfelbontásoktól. A hagyományos Wines-hez képest jelentősen megnövekedett a több szálon futó játékok teljesítménye az "esync" (Eventfd Synchronization) vagy "futex/fsync" alkalmazásának köszönhetően.

Fő változások Proton 4.11-ben:

  • A Wine 4.11 kódbázisához való szinkronizálás történt, ahonnan több mint 3300 módosítást átvittek (a korábbi ág a wine 4.2-re épült). A Proton 4.2-ből 154 javítást vittek upstream, és most már a Wine fő összetevőjébe tartoznak;
  • Kísérleti támogatás került bevezetésre a futex() rendszerhívás alapú szinkronizálási primitívekhez, amely csökkenti a CPU terhelést az esync-hez képest. Ezen kívül az új megvalósítás megoldja azt a problémát, hogy különböző beállításokat kell használni az esync-hez és a rendelkezésre álló fájl leírók kimerülésének lehetőségével.

    A végzett munka célja a Linux kernelben található futex() alapvető rendszerhívás funkcionalitásának kiterjesztése olyan funkciókkal, amelyek szükségesek a szálak optimalizált szinkronizálásához. A Protonhoz szükséges patch-ek, amelyek támogatják a FUTEX_WAIT_MULTIPLE jelzőt, már átadásra kerültek a Linux kernel fő összetevőjébe való felvételre, és Glibc. Az elkészített változtatások jelenleg még nem kerültek be a fő kernel összetevőjébe, ezért most szükséges egy olyan speciális kernel telepítése, amely támogatja ezeket a primitíveket; A réteg

    A Valve kiadta a Proton 4.11-et, csomagot Windows játékok Linux alatt történő futtatásához.
  • (DXGI, Direct3D 10 és Direct3D 11 Vulkan API-ra történő megvalósítása) frissítve lett a DXVK verzióra, míg 1.3, és D9VK (Direct3D 9 előzetes megvalósítása Vulkan fölött) 0.13f verzióig. A D9VK támogatás aktiválásához használja a PROTON_USE_D9VK zászlót;
  • Biztosítva van a játékok számára a monitor jelenlegi frissítési frekvenciájának átvitele;
  • Javításokat végeztek az egérkurzor fókuszálásának és az ablakkezelésnek a kezelésében;
  • Megszüntették a bemeneti késleltetéseket és a rezgéstámogatással kapcsolatos problémákat a joystickok számára, amelyek bizonyos játékokban, különösen az Unity motorral készült játékokban jelentkeztek;
  • Hozzáadva az OpenVR SDK legújabb verziójának támogatása;
  • Az FAudio összetevők a DirectX hangkönyvtárak (XAudio2, X3DAudio, XAPO és XACT3 API) megvalósításával frissítve lettek a 19.07 kiadásra;
  • Hálózati alrendszerrel kapcsolatos problémák megoldva a GameMaker játékokban;
  • Sok Wine modul most Windows PE fájlokká van összegyűjtve, a Linux könyvtárak helyett. A munkálatok előrehaladtával a PE használata segíthet egyes DRM rendszerek és csalásellenes szoftverek esetében. Ha saját Protonu összeállításokat alkalmaz, valószínűleg újra kell generálni a Vagrant virtuális gépet a PE fájlok összeállításához.

A Valve cég által a futex() helyett az esync használatához átvett kernelpatch-ek fő kernelbe való integrálásához speciális kernel telepítése szükséges, amely támogatja a szálak szinkronizáló medencéjét a patch-gyűjteményben. fsync. Az Arch Linuxhoz az AUR-ban már megjelent a fsync patch-ekkel összeállított kernel csomag.

Fsync támogatással rendelkező kernel esetén a Proton 4.11 indításakor a konzolban megjelenik az üzenet: «fsync: up and running». A fsync kikapcsolható a PROTON_NO_FSYNC=1 zászló használatával.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster