Valve izlaiž Proton 4.11 — komplektu Windows spēļu palaišanai operētājsistēmā Linux

Vārstu uzņēmums опубликовала jaunā projekta filiāle Protons 4.11, pamatojoties uz projekta Wine attīstību un kura mērķis ir nodrošināt Windows spēļu lietojumprogrammu palaišanu, kas tiek prezentētas Steam katalogā operētājsistēmā Linux. Projektu attīstība izplatīties saskaņā ar BSD licenci. Tiklīdz tās ir gatavas, Proton izstrādātās izmaiņas tiek pārnestas uz oriģinālajiem Wine un saistītajiem projektiem, piemēram, DXVK un vkd3d.

Proton ļauj Steam Linux klientā tieši palaist tikai Windows spēļu lietojumprogrammas. Paketē ir iekļauta DirectX 10/11 ieviešana (pamatojoties uz DXVK) un 12 (pamatojoties uz vkd3d), kas darbojas, tulkojot DirectX zvanus uz Vulkan API, nodrošina uzlabotu atbalstu spēļu kontrolleriem un iespēju izmantot pilnekrāna režīmu neatkarīgi no spēlēs atbalstītajām ekrāna izšķirtspējām. Salīdzinot ar oriģinālo Wine, daudzpavedienu spēļu veiktspēja ir ievērojami palielinājusies, pateicoties ielāpu izmantošanai.esync"(Eventfd sinhronizācija) vai "futex/fsync".

Galvenais izmaiņas Protonā 4.11:

  • Tika veikta sinhronizācija ar Wine 4.11 kodu bāzi, no kuras tika pārnestas vairāk nekā 3300 izmaiņas (iepriekšējā filiāle balstījās uz vīnu 4.2). 154 ielāpi no Proton 4.2 ir pārvietoti augšup un tagad ir iekļauti galvenajā Wine pakotnē;
  • Pievienots eksperimentāls atbalsts sinhronizācijas primitīviem, kuru pamatā ir futex() sistēmas izsaukums, kas samazina CPU slodzi salīdzinājumā ar esync. Turklāt jaunā ieviešana atrisina problēmas ar lietošanas nepieciešamību īpaši iestatījumi par esync un iespējamo pieejamo failu deskriptoru izsmelšanu.

    Veicamā darba būtība ir standarta futex() sistēmas izsaukuma funkcionalitātes paplašināšana Linux kodolā ar iespējām, kas nepieciešamas optimālai pavedienu pūla sinhronizācijai. Protonam nepieciešamie ielāpi ar karoga FUTEX_WAIT_MULTIPLE atbalstu jau ir nodots iekļaušanai galvenajā Linux kodolā un glibc. Sagatavotās izmaiņas vēl nav iekļautas galvenajā kodolā, tāpēc šobrīd tas ir nepieciešams izveidot īpašs kodols ar atbalstu šiem primitīviem;

    Valve izlaiž Proton 4.11 — komplektu Windows spēļu palaišanai operētājsistēmā Linux

  • Starpslānis DXVK (DXGI, Direct3D 10 un Direct3D 11 ieviešana papildus Vulkan API) atjaunināta uz versiju 1.3Un D9VK (eksperimentāla Direct3D 9 ieviešana Vulkan virspusē) līdz versijai 0.13f. Lai iespējotu D9VK atbalstu programmā Proton, izmantojiet karogu PROTON_USE_D9VK;
  • Pašreizējais monitora atsvaidzes intensitāte tiek pārsūtīta uz spēlēm;
  • Ir veikti labojumi, lai apstrādātu peles fokusu un logu pārvaldību;
  • Fiksēta ievades aizkave un problēmas ar kursorsviru vibrācijas atbalstu, kas rodas dažās spēlēs, īpaši spēlēs, kuru pamatā ir Unity dzinējs;
  • Pievienots atbalsts OpenVR SDK jaunākajai versijai;
  • FAudio komponenti ar DirectX skaņu bibliotēku ieviešanu (API XAudio2, X3DAudio, XAPO un XACT3) ir atjaunināti līdz 19.07.
  • Ir atrisinātas problēmas ar tīkla apakšsistēmu spēlēs GameMaker;
  • Daudzi Wine moduļi tagad ir veidoti kā Windows PE faili, nevis Linux bibliotēkas. Darbam šajā jomā virzoties uz priekšu, PE izmantošana palīdzēs dažām DRM un pretkrāpšanas sistēmām. Ja izmantojat pielāgotas Proton versijas, jums, visticamāk, būs atkārtoti jāizveido Vagrant virtuālā mašīna, lai izveidotu PE failus.

Pirms Valve ielāpu pārņemšanas galvenajā Linux kodolā, izmantojot futex() esync vietā, ir jāinstalē īpašs kodols ar atbalstu pavedienu sinhronizācijas pūlam, kas ieviests ielāpu komplektā. fsync. Arch Linux jau AUR publicēta gatava kodola pakotne, kas kompilēta ar fsync ielāpiem. Ubuntu versijā 18.04 un 19.04 varat izmantot linux-mfutex-valve eksperimentālo kodolu PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Ja jums ir kodols ar fsync atbalstu, palaižot Proton 4.11, konsole parādīs ziņojumu “fsync: up and running”. Varat piespiest fsync izslēgt, izmantojot karogu PROTON_NO_FSYNC=1.

Avots: opennet.ru

Pievieno komentāru