Valve annab välja Proton 4.11, komplekti Windowsi mängude käitamiseks Linuxis

Ventiili ettevõte опубликовала uus projekti haru Prooton 4.11, mis põhineb projekti Wine arendustel ja mille eesmärk on tagada Windowsi jaoks loodud ja Steami kataloogis Linuxi jaoks esitatud mängurakenduste käivitamine. Projektide arendused levima BSD litsentsi alusel. Kui need on valmis, kantakse Protonis arendatud muudatused üle algsesse Wine'i ja sellega seotud projektidesse, nagu DXVK ja vkd3d.

Proton võimaldab teil Steam Linuxi kliendis otse käivitada ainult Windowsi mängurakendusi. Pakett sisaldab DirectX 10/11 juurutamist (põhineb DXVK) ja 12 (põhineb vkd3d), mis töötab DirectX-i kõnede tõlkimise kaudu Vulkani API-le, pakub paremat tuge mängukontrolleritele ja võimalust kasutada täisekraanirežiimi sõltumata mängude toetatud ekraani eraldusvõimest. Võrreldes algse Wine'iga on mitme lõimega mängude jõudlus tänu plaastrite kasutamisele oluliselt suurenenud.esync"(Eventfd Synchronization) või "futex/fsync".

Kõik muutused prootonis 4.11:

  • Teostati sünkroniseerimine Wine 4.11 koodibaasiga, millest kanti üle üle 3300 muudatuse (eelmine haru põhines veinil 4.2). 154 plaastrit Proton 4.2-st on teisaldatud ülesvoolu ja on nüüd lisatud põhipaketti Wine;
  • Lisatud on futex() süsteemikutsel põhinevate sünkroonimisprimitiivide eksperimentaalne tugi, mis vähendab protsessori koormust võrreldes esynciga. Lisaks lahendab uus teostus kasutusvajadusega seotud probleemid eriseaded sünkroonimiseks ja saadaolevate failideskriptorite võimalikuks ammendumiseks.

    Tehtava töö olemus on laiendada standardse futex() süsteemikutse funktsionaalsust Linuxi tuumas niidikogumi optimaalseks sünkroonimiseks vajalike võimalustega. Protoni jaoks vajalikud lipu FUTEX_WAIT_MULTIPLE toega paigad on juba olemas üle kantud Linuxi põhikernelisse lisamiseks ja glibc. Ettevalmistatud muudatused pole veel põhituumasse kaasatud, seega on see hetkel vajalik looma spetsiaalne tuum, mis toetab neid primitiive;

    Valve annab välja Proton 4.11, komplekti Windowsi mängude käitamiseks Linuxis

  • Vahekiht DXVK (DXGI, Direct3D 10 ja Direct3D 11 juurutamine Vulkan API peal) värskendatud versioonile 1.3Ja D9VK (Direct3D 9 eksperimentaalne teostus Vulkani peal) kuni versioonini 0.13f. Protonis D9VK toe lubamiseks kasutage lippu PROTON_USE_D9VK;
  • Praegune monitori värskendussagedus edastatakse mängudele;
  • Hiire teravustamise ja aknahalduse käsitlemiseks on tehtud parandusi;
  • Fikseeritud sisendi viivitus ja juhtkangide vibratsioonitoega seotud probleemid, mis esinevad mõnes mängus, eriti Unity mootoril põhinevates mängudes;
  • Lisatud tugi OpenVR SDK uusimale versioonile;
  • DirectX-i heliteekide juurutusega FAudio komponente (API XAudio2, X3DAudio, XAPO ja XACT3) on värskendatud versioonile 19.07;
  • GameMakeri mängude võrgu alamsüsteemi probleemid on lahendatud;
  • Paljud Wine'i moodulid on nüüd loodud Windowsi PE-failidena, mitte Linuxi teekidena. Kuna töö selles valdkonnas edeneb, aitab PE kasutamine mõningaid DRM-i ja pettusevastaseid süsteeme. Kui kasutate kohandatud Protoni järge, peate PE-failide koostamiseks tõenäoliselt uuesti looma Vagranti virtuaalmasina.

Enne kui Valve'i paigad võetakse Linuxi põhikernelisse, nõuab futex() kasutamine esynci asemel spetsiaalse kerneli installimist, mis toetab lõime sünkroonimiskogumit, mis on realiseeritud paikade komplektis fsync. Arch Linuxi jaoks juba AUR-is avaldatud valmis kerneli pakett, mis on koostatud fsynci paikadega. Ubuntu versioonides 18.04 ja 19.04 saate kasutada linux-mfutex-valve eksperimentaalset tuuma PPA-d (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Kui teil on fsynci toega kernel, kuvatakse Proton 4.11 käivitamisel konsool teade "fsync: up and running". Saate sundida fsynci välja lülitama lipu PROTON_NO_FSYNC=1 abil.

Allikas: opennet.ru

Lisa kommentaar