„Valve“ išleido „Proton 4.11“ – „Windows“ žaidimų rinkinį „Linux“ sistemoje

Vožtuvų įmonė опубликовала nauja projekto šaka Protonas 4.11, pagrįsta Vyno projekto raida ir skirta užtikrinti žaidimų programų, sukurtų Windows ir pateiktų Steam kataloge Linux sistemoje, paleidimą. Projektų plėtra skleisti pagal BSD licenciją. Kai jie yra paruošti, „Proton“ sukurti pakeitimai perkeliami į originalius „Wine“ ir susijusius projektus, tokius kaip DXVK ir vkd3d.

„Proton“ leidžia tiesiogiai paleisti „Windows“ žaidimų programas „Steam Linux“ kliente. Į paketą įtrauktas „DirectX 10/11“ diegimas (pagrįstas DXVK) ir 12 (remiantis vkd3d), veikianti per „DirectX“ skambučių vertimą į „Vulkan“ API, suteikia patobulintą žaidimų valdiklių palaikymą ir galimybę naudoti viso ekrano režimą, neatsižvelgiant į žaidimuose palaikomą ekrano skiriamąją gebą. Palyginti su originaliu Wine, kelių gijų žaidimų našumas buvo žymiai padidintas dėl pataisų naudojimo.esync„(Eventfd Synchronization) arba „futex/fsync“.

pagrindinis Protono 4.11 pokyčiai:

  • Buvo atlikta sinchronizacija su Wine 4.11 kodų baze, iš kurios buvo perkelta daugiau nei 3300 pakeitimų (ankstesnė atšaka buvo pagrįsta vynu 4.2). 154 „Proton 4.2“ pataisos buvo perkeltos prieš srovę ir dabar yra įtrauktos į pagrindinį „Wine“ paketą;
  • Pridėtas eksperimentinis sinchronizavimo primityvų palaikymas, pagrįstas futex() sistemos iškvietimu, kuris sumažina procesoriaus apkrovą, palyginti su esync. Be to, naujasis diegimas išsprendžia problemas, susijusias su poreikiu naudoti specialius nustatymus esync ir galimų failų deskriptorių išnaudojimui.

    Atliekamo darbo esmė – išplėsti standartinio futex() sistemos iškvietimo funkcionalumą Linux branduolyje su galimybėmis, būtinomis optimaliam gijų telkinio sinchronizavimui. Jau yra pataisos, palaikančios FUTEX_WAIT_MULTIPLE vėliavėlę, reikalingą Protonui perkeltas įtraukimui į pagrindinį Linux branduolį ir glibc. Parengti pakeitimai dar neįtraukti į pagrindinį branduolį, todėl šiuo metu tai būtina nustatyti specialus branduolys, palaikantis šiuos primityvus;

    „Valve“ išleido „Proton 4.11“ – „Windows“ žaidimų rinkinį „Linux“ sistemoje

  • Tarpsluoksnis DXVK (DXGI, Direct3D 10 ir Direct3D 11 įdiegimas Vulkan API viršuje) atnaujinta į versiją 1.3Ir D9VK (eksperimentinis „Direct3D 9“ diegimas „Vulkan“ viršuje) iki 0.13f versijos. Norėdami įjungti D9VK palaikymą Proton, naudokite PROTON_USE_D9VK vėliavėlę;
  • Dabartinis monitoriaus atnaujinimo dažnis perduodamas žaidimams;
  • Pataisyta, kad būtų galima valdyti pelės fokusavimą ir langų valdymą;
  • Ištaisyta įvesties delsa ir vairasvirčių vibracijos palaikymo problemos, atsirandančios kai kuriuose žaidimuose, ypač žaidimuose, pagrįstuose Unity varikliu;
  • Pridėtas naujausios OpenVR SDK versijos palaikymas;
  • FAudio komponentai su DirectX garso bibliotekų diegimu (API XAudio2, X3DAudio, XAPO ir XACT3) buvo atnaujinti iki 19.07;
  • Išspręstos „GameMaker“ žaidimų tinklo posistemio problemos;
  • Daugelis „Wine“ modulių dabar yra sukurti kaip „Windows PE“ failai, o ne „Linux“ bibliotekos. Vykstant darbui šioje srityje, PE naudojimas padės kai kurioms DRM ir apsaugos nuo sukčiavimo sistemoms. Jei naudojate pasirinktines „Proton“ versijas, greičiausiai turėsite iš naujo sukurti „Vagrant“ virtualią mašiną, kad sukurtumėte PE failus.

Prieš įtraukiant Valve pataisas į pagrindinį Linux branduolį, naudojant futex() vietoj esync reikia įdiegti specialų branduolį, palaikantį gijų sinchronizavimo telkinį, įdiegtą pataisų rinkinyje fsync. „Arch Linux“ jau AUR paskelbti paruoštas branduolio paketas, sudarytas su fsync pataisomis. Ubuntu 18.04 ir 19.04 versijose galite naudoti linux-mfutex-valve eksperimentinį branduolį PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Jei turite „fsync“ įgalintą branduolį, paleisdami Proton 4.11 konsolėje bus rodomas pranešimas „fsync: up and running“. Galite priverstinai išjungti fsync naudodami žymą PROTON_NO_FSYNC=1.

Šaltinis: opennet.ru

Добавить комментарий