Valve julkaisee Proton 4.11:n, ohjelmistopaketin Windows-pelien pelaamiseen Linuxissa

Valve Company julkaistu uusi hankehaara Protoni 4.11, joka perustuu Wine-projektin kehitykseen ja jonka tarkoituksena on varmistaa Windowsille luotujen ja Steam-luettelossa esitettyjen pelisovellusten käynnistäminen Linuxissa. Projektien kehitystyöt levitän BSD-lisenssillä. Kun ne ovat valmiit, Protonissa kehitetyt muutokset siirretään alkuperäiseen Wineen ja siihen liittyviin projekteihin, kuten DXVK ja vkd3d.

Proton antaa sinun ajaa suoraan vain Windows-pelisovelluksia Steam Linux -asiakassovelluksessa. Paketti sisältää DirectX 10/11 -toteutuksen (perustuu Dxvk) ja 12 (perustuu vkd3d), joka toimii DirectX-kutsujen kääntämisen kautta Vulkan API:lle, tarjoaa paremman tuen peliohjaimille ja mahdollisuuden käyttää koko näytön tilaa riippumatta pelien tukemista näytön resoluutioista. Alkuperäiseen Wineen verrattuna monisäikeisten pelien suorituskyky on parantunut merkittävästi korjaustiedostojen käytön ansiosta.esync"(Eventfd Synchronization) tai "futex/fsync".

Pääasiallinen muutokset Protonissa 4.11:

  • Synkronointi Wine 4.11 -koodikannan kanssa suoritettiin, josta siirrettiin yli 3300 muutosta (edellinen haara perustui wine 4.2:een). 154 korjausta Proton 4.2:sta on siirretty ylävirtaan ja ne sisältyvät nyt pääviinipakettiin;
  • Lisätty kokeellinen tuki futex()-järjestelmäkutsuun perustuville synkronointiprimitiiveille, mikä vähentää suorittimen kuormitusta esynciin verrattuna. Lisäksi uusi toteutus ratkaisee käyttötarpeeseen liittyviä ongelmia erikoisasetukset esyncille ja käytettävissä olevien tiedostokuvainten mahdolliselle loppumiselle.

    Tehtävän työn ydin on laajentaa standardin futex()-järjestelmäkutsun toimintoja Linux-ytimessä niillä ominaisuuksilla, joita tarvitaan säiepoolin optimaaliseen synkronointiin. Protonille tarvittavat FUTEX_WAIT_MULTIPLE-lippua tukevat korjaustiedostot ovat jo olemassa siirretty sisällytettäväksi Linuxin pääytimeen ja glibc. Valmisteltuja muutoksia ei ole vielä sisällytetty pääytimeen, joten se on tällä hetkellä tarpeen perustaa erityinen ydin, joka tukee näitä primitiivisiä;

    Valve julkaisee Proton 4.11:n, ohjelmistopaketin Windows-pelien pelaamiseen Linuxissa

  • Välikerros Dxvk (DXGI, Direct3D 10 ja Direct3D 11 toteutus Vulkan API:n päällä) päivitetty versioon 1.3Ja D9VK (Direct3D 9:n kokeellinen toteutus Vulkanin päällä) versioon 0.13f asti. Ota D9VK-tuki käyttöön Protonissa käyttämällä PROTON_USE_D9VK-lippua;
  • Nykyinen näytön virkistystaajuus välitetään peleihin;
  • Korjauksia on tehty käsittelemään hiiren tarkennusta ja ikkunoiden hallintaa;
  • Korjattu tuloviive ja joystickien tärinätuen ongelmat, joita esiintyy joissakin peleissä, erityisesti Unity-moottoriin perustuvissa peleissä;
  • Lisätty tuki OpenVR SDK:n uusimmalle versiolle;
  • DirectX-äänikirjastoja (API XAudio2, X3DAudio, XAPO ja XACT3) sisältävät FAudio-komponentit on päivitetty julkaisuun 19.07;
  • GameMakerin pelien verkkoalijärjestelmän ongelmat on ratkaistu;
  • Monet Wine-moduulit on nyt rakennettu Windows PE-tiedostoiksi Linux-kirjastojen sijaan. Työn edetessä tällä alalla PE:n käyttö auttaa joitain DRM- ja huijauksenestojärjestelmiä. Jos käytät mukautettuja Proton-koontiversioita, sinun on todennäköisesti luotava uudelleen Vagrant-virtuaalikone PE-tiedostojen rakentamiseksi.

Ennen kuin Valven korjaustiedostot otetaan käyttöön Linuxin pääytimessä, futex():n käyttö esyncin sijasta vaatii erityisen ytimen asentamisen, joka tukee korjaustiedostojen sarjassa toteutettua säietynkronointipoolia. fsync. Arch Linuxille jo AUR:ssa julkaistu valmis ydinpaketti, joka on käännetty fsync-korjauksilla. Ubuntussa 18.04 ja 19.04 voit käyttää linux-mfutex-valve kokeellista ydintä PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Jos sinulla on fsync-tuella varustettu ydin, kun käytät Proton 4.11:tä, konsoli näyttää viestin "fsync: up and running". Voit pakottaa fsyncin sammumaan PROTON_NO_FSYNC=1-lipulla.

Lähde: opennet.ru

Lisää kommentti