Valve teatas Proton 4.11 väljaandmisest, mis on pakett Windowsi mängude käitamiseks Linuxis

Valve Corporation avalikustasin uue projekti haru Proton 4.11, mis põhineb projekti Wine arengutel ja mille eesmärk on võimaldada Linuxis käivitada Windowsile loodud mängurakendusi, mis on saadaval Steamis. Projekti arengud jaotatakse BSD litsentsi alusel. Valmimise käigus kantakse originaalsesse Wine'i ja seotud projektidesse, nagu DXVK ja vkd3d, edasi Protonis arendatud muudatused.

Proton võimaldab otse Linuxi Steam kliendis käivitada ainult Windowsile mõeldud mängurakendusi. Pakett sisaldab DirectX 10/11 rakendust (põhinev DXVK) ja 12 (põhinev vkd3d), mis töötab DirectX-i kõnede tõlkimise kaudu Vulkan API-dele, pakkudes paremat mängukontrollerite tuge ja võimalust kasutada täisekraanirežiimi sõltumatult mängus toetatavatest ekraani eraldusvõimetest. Originaalsest Wine'ist on oluliselt paranenud mitme lõimega mängude jõudlus tänu „esync“ (Eventfd Synchronization) või „futex/fsync“ muudatustele.

Peamised muudatused Proton 4.11:

  • Sünkroonitud on kodibaasi Wine 4.11, kust on üle viidud rohkem kui 3300 muudatust (eelmine haru põhines Wine 4.2-l). 154 patši Proton 4.2-st on viidud upstream ja nüüd kuuluvad need põhikoosseisu Wine;
  • Lisatud on eksperimentaalne tugi süsteemi kutse futex() põhinevatele sünkroonimisprimitivoille, mis vähendab CPU koormust võrreldes esynciga. Lisaks lahendab uus rakendusprobleeme, mis on seotud spetsiaalsete seadistustega esynci ja võimaliku saadaval olevate failide deskriptorite ammendumisega.

    Tegevuse eesmärk on laiendada Linuxi tuuma tavapärase süsteemi kutse futex() funktsionaalsust vajalike omadustega, mis on vajalikud optimaalsele niidistamisele. Patšid, mis on vajalikud Protoni FUTEX_WAIT_MULTIPLE lippu toetamiseks, on juba on edastatud informeeritud peamise Linuxi tuuma koosseisu ja Glibc. Valmistatud muudatused pole veel peamisse tuuma koosseisu lisatud, seega on praegu hädavajalik installida eriline tuum, mis toetab neid primitiive;

    Valve teatas Proton 4.11 väljaandmisest, mis on pakett Windowsi mängude käitamiseks Linuxis
  • Läbiviijaim DXVK (DXGI, Direct3D 10 ja Direct3D 11 rakendamine Vulkan API peal) on uuendatud versiooniks 1.3, ja D9VK (eksperimentaalne rakendus Direct3D 9 üle Vulkan) kuni versioonini 0.13f. D9VK toe aktiveerimiseks Protonis tuleb kasutada lippu PROTON_USE_D9VK;
  • Tagatud on mängudele praeguse monitori värskendussageduse edastamine;
  • Parandatud on hiirekursorite fookuse töötlemise ja akende juhtimisega seotud vead;
  • Kaugjuhtimisseadmete sisendi viivitused ja vibratsiooni toe probleemid on kõrvaldatud, mis ilmneb mõnedes mängudes, eriti Unity mootoriga mängudes;
  • Lisatud on tugi viimase versiooni OpenVR SDK jaoks;
  • FAudio komponendid, mis rakendavad DirectX heli raamatukogusid (API XAudio2, X3DAudio, XAPO ja XACT3) on uuendatud versioonini 19.07;
  • Lahendatud on probleemid GameMaker mängude võrgusüsteemiga;
  • Paljud Wine moodulid koostatakse nüüd Windows PE-failidena, mitte Linuxi raamatukogudena. Selle valdkonna töö edenedes aitab PE kasutamine mõnede DRM ja anticheat süsteemide korral. Kui kasutatakse isiklikult loodud Proton kogusid, on tõenäoliselt vajalik Vagrant virtuaalmasina uuesti loomine PE failide koostamiseks.

Enne Linuxi põhituuma vastuvõtmist peab Valve'i ettevõtte patšide kasutamiseks futex() asemel esync installima spetsiaalse tuuma, mis toetab lõimede sünkroniseerimise paiku, implementeritud patšide komplektis. fsync. Arch Linuxi AURis on juba avaldatud valmis tuumapake, mis on kogutud fsync patšidega. Ubuntu 18.04 ja 19.04 jaoks saab kasutada PPA-reposiiti eksperimenteerivate linux-mfutex-valve tuumade jaoks (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Kui tuum toetab fsync'i, kuvatakse Proton 4.11 käivitamisel konsoolis sõnum «fsync: up and running». Fsync'i saab sundida välja lülitama, kasutades lippu PROTON_NO_FSYNC=1.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster