Valve je objavio novu granu projekta Proton 4.11, koji se temelji na razvoju projekta Wine i ima za cilj garantovanje pokretanja na Linuxu aplikacija za igre stvorenih za Windows i predstavljenih u Steam katalogu. Razvoj projekta distribuira se pod BSD licencom. Čim budu spremni, promjene razvijene u Protonu prenose se na originalno vino i srodne projekte, poput DXVK i vkd3d.
Proton vam omogućava pokretanje igara koje su dostupne samo za Windows direktno na Steam Linux klijentu . Paket uključuje DirectX 10/11 (zasnovan na DXVK) i 12 (zasnovan na vkd3d) implementaciji, koji rade kroz prevođenje DirectX poziva na Vulkan API, pruža poboljšanu podršku za kontrolere igara i mogućnost korištenja punog ekrana.
Glavne novine Protona 4.11
Izlaskom ove nove grane, Proton je prešao na sinhronizaciju s osnovnim kodom Wine 4.11, s kojeg je prebačeno više od 3300 promjena (prethodna grana temeljila se na vinu 4.2). 154 flasteri Proton 4.2 premješteni su uzvodno i sada su uključeni u glavni dio vina.
Kao glavna novost programeri ističe dodavanje eksperimentalne podrške za primitive sinkronizacije na temelju sistemskog poziva futex (), što smanjuje opterećenje procesora u odnosu na esync.
Pored toga, nova implementacija rješava probleme s potrebom korištenja posebnih postavki za esync i mogućim iscrpljivanjem dostupnih deskriptora datoteka.
Flasteri sa držačem indikatora FUTEX_WAIT_MULTIPLE potrebni za Proton već su preneseni za uključivanje u glavni Linux kernel i Glibc.
Pripremljene promjene još nisu uključene u glavni sastav jezgre, pa je u ovom trenutku potrebno instalirati posebno jezgro s podrškom za ove primitive.
Takođe i DXVK sloj (implementacija DXGI, Direct3D 10 i Direct3D 11 povrh Vulkan API-ja) Ažurirano je na novu verziju 1.3.
Dok je za D9VK (eksperimentalna implementacija Direct3D 9 na Vulkanu) do verzije 0.13f. Da biste omogućili podršku za D9VK u Protonu, upotrijebite zastavicu PROTON_USE_D9VK.
Mnogi moduli Wine sada su stvoreni kao Windows PE datoteke, umjesto Linux biblioteka. Kako rad na ovom području napreduje, upotreba PE pomoći će nekim DRM i anti-cheats sistemima.
Od ostalih promjena koje se ističu u ovoj novoj grani:
- Omogućen je prijenos trenutne brzine osvježavanja monitora na igre
- Napravljeni su popravci vezani za obradu kursora miša i upravljanje prozorima
- Ispravljeni zaostaci u ulazu i problemi s podrškom za vibracije za džojstike, što se očituje u nekim igrama, posebno igrama na Unity engineu
- Dodata je podrška za najnoviju verziju OpenVR SDK-a
- FAudio komponente sa implementacijom DirectX biblioteke zvukova (API XAudio2, X3DAudio, XAPO i XACT3) ažurirane na verziju 19.07
- Ispravljeni problemi s mrežnim podsistemom u igrama u GameMakeru
Prije usvajanja zakrpa ventila u glavnom jezgru Linuxa, koristiti futex () umjesto esync, mora se instalirati poseban kernel koji podržava spremište sinhronizacije niti implementiran u fsync set zakrpa.
U Ubuntuu 18.04 i 19.04 može se koristiti PPA spremište s eksperimentalnim zrncima linux-mfutex-ventila
Što se može dodati pomoću sljedećih naredbi:
sudo add-apt-repository ppa:valve-experimental/kernel-bionic -y sudo apt-get install linux-mfutex-valve
Kako aktivirati Proton na Steamu?
Za ovo Trebali bi otvoriti Steam klijent i kliknuti na Steam u gornjem lijevom kutu, a zatim na Settings.
U odjeljku "Račun" pronaći ćete mogućnost registracije za beta verziju. Ako to učinite i prihvatite, zatvorit ćete Steam klijent i preuzeti beta verziju (nova instalacija).
Na kraju i nakon pristupa svom računu vraćaju se na istu rutu kako bi potvrdili da već koriste Proton.