A Valve kiadta a Proton 4.11 projekt új ágát, amely a Wine projekt fejlesztésein alapul, és célja a Windows számára létrehozott és a Steam katalógusban bemutatott játékalkalmazások Linuxon történő elindításának garantálása. A projekt fejlesztéseit BSD licenc alatt terjesztik. Amint készen állnak, a Protonban kifejlesztett változtatások átkerülnek az eredeti Wine és kapcsolódó projektekbe, mint például a DXVK és a vkd3d.
A Proton lehetővé teszi olyan játékok futtatását, amelyek csak a Windows számára érhetők el, közvetlenül a Steam Linux kliensen . A csomag tartalmazza a DirectX 10/11 (DXVK alapú) és 12 (vkd3d alapú) megvalósítást, amely a DirectX hívások Vulkan API-ra történő fordításával dolgozik, javított támogatást nyújt a játékvezérlők számára és a teljes képernyős mód használatának lehetőségét.
A Proton 4.11 főbb újdonságai
Ennek az új ágnak a kiadásával, A Proton szinkronba lépett a Wine 4.11 alapkóddal, ahonnan több mint 3300 változás került át (az előző ág a 4.2 borra épült). 154 Proton 4.2 tapaszt mozgattak az áramlási irányba, és most a Wine fő részébe tartoznak.
A fő újdonság a fejlesztők kiemeli a szinkronizációs primitívek kísérleti támogatásának hozzáadását a futex () rendszerhívás alapján, ami csökkenti a CPU terhelését az esync-hez képest.
Ezenkívül az új megvalósítás megoldja az esync speciális beállításainak használatával és a rendelkezésre álló fájlleírók esetleges kimerülésével kapcsolatos problémákat.
Javítások indikátortartóval FUTEX_WAIT_MULTIPLE szükségesek a Protonhoz, már átvitték a fő Linux kernelbe és a Glibc-be.
Az előkészített változtatások még nem szerepelnek a kernel fő összetételében, ezért ebben az időben szükség van egy speciális kernel telepítésére ezen primitívek támogatásával.
A DXVK réteg is (DXGI, Direct3D 10 és Direct3D 11 megvalósítása a Vulkan API tetején) Frissült az új 1.3-as verzióra.
Míg a D9VK-hoz (a Direct3D 9 kísérleti megvalósítása a Vulkan-on) a 0.13f verzióra. A D9VK támogatás engedélyezéséhez a Protonban használja a PROTON_USE_D9VK jelzőt.
Számos Wine modul most Windows PE fájlként jön létre, a Linux könyvtárak helyett. Az ezen a területen folytatott munka előrehaladtával a PE használata néhány DRM és csalásgátló rendszert segít.
Az új ágban kiemelkedő többi változás közül:
- A monitor aktuális frissítési gyakoriságának átvitele a játékokba biztosított
- Javításokat hajtott végre az egérkurzor feldolgozásával és az ablakkezeléssel kapcsolatban
- Javítva a bemeneti késések és a joystickok rezgéstámogatásával kapcsolatos problémák, amelyek bizonyos játékokban megnyilvánulnak, különösen a Unity motor játékaiban
- Hozzáadott támogatás az OpenVR SDK legújabb verziójához
- FAudio komponensek a DirectX hangkönyvtár (API XAudio2, X3DAudio, XAPO és XACT3) megvalósításával frissítve a 19.07 verzióra
- Javítva a GameMaker játékaiban a hálózati alrendszerrel kapcsolatos problémák
Mielőtt átvenné a Valve javításokat a Linux kernelben az esync helyett a futex () -t kell használni, egy speciális kernelt kell telepíteni, amely támogatja a szálak szinkronizálási készletét az fsync patch készletben implementálva.
Az Ubuntu 18.04-ben és 19.04-ben egy PPA adattár használható kísérleti linux-mfutex-szelep kernelekkel
Amely a következő parancsokkal adható hozzá:
sudo add-apt-repository ppa:valve-experimental/kernel-bionic -y sudo apt-get install linux-mfutex-valve
Hogyan lehet aktiválni a Protont a Steamen?
Ehhez Meg kell nyitniuk a Steam klienst, és a bal felső sarokban kattintson a Steam gombra, majd a Beállítások elemre.
A "Fiók" részben megtalálja a béta verzióra való regisztráció lehetőségét. Ha ezt megteszi és elfogadja, bezárja a Steam klienst és letölti a béta verziót (új telepítés).
Végül és miután hozzáférnek a fiókjukhoz, visszatérnek ugyanarra az útvonalra, hogy ellenőrizzék, hogy már használják-e a Protont.