Valve wuxuu siidaayaa Proton 4.11, oo ah suudh loogu talagalay socodsiinta ciyaaraha Windows Linux

Shirkadda Valve la daabacay laan mashruuc cusub Proton 4.11, oo ku salaysan horumarka mashruuca Wine oo loogu talagalay in lagu hubiyo bilaabista codsiyada ciyaaraha ee loo sameeyay Windows oo lagu soo bandhigay buugga Steam ee Linux. Horumarinta mashruuca faafin hoos yimaada shatiga BSD. Isla markii ay diyaar garoobaan, isbeddelada lagu sameeyay Proton waxaa loo wareejiyaa khamrigii asalka ahaa iyo mashaariicda la xidhiidha, sida DXVK iyo vkd3d.

Proton wuxuu kuu ogolaanayaa inaad si toos ah ugu socodsiiso codsiyada ciyaaraha Windows-kaliya ee macmiilka Steam Linux. Xirmada waxaa ku jira hirgelinta DirectX 10/11 (oo ku saleysan DXVK) iyo 12 (oo ku salaysan vkd3d), ka shaqaynta tarjumaadda wicitaanada DirectX ee Vulkan API, waxay siisaa taageero la wanaajiyey oo loogu talagalay kontaroolayaasha ciyaarta iyo awoodda loo isticmaalo qaabka shaashadda oo dhan iyada oo aan loo eegin xallinta shaashadda ee lagu taageeray ciyaaraha. Marka la barbar dhigo khamrigii asalka ahaa, waxqabadka ciyaaraha iskuxiran ee badan ayaa si weyn loo kordhiyay iyadoo ay ugu wacan tahay isticmaalka balastarrada "esync"(Eventfd Synchronization) ama "futex/fsync".

Main isbeddelada Proton 4.11:

  • Isku-dubbarid la leh Wine 4.11 codebase ayaa la fuliyay, kaas oo in ka badan 3300 isbeddel lagu wareejiyay (laanta hore waxay ku salaysan tahay khamriga 4.2). 154 balastar oo ka yimid Proton 4.2 ayaa kor loo qaaday waxaana hadda lagu daray xirmada khamriga ee ugu weyn;
  • Taageero tijaabo ah oo lagu daray oo loogu talagalay is-waafajinta asaasiga ah ee ku salaysan nidaamka futex() wicitaanka, kaas oo yareynaya culeyska CPU marka la barbar dhigo esync. Intaa waxaa dheer, hirgelinta cusubi waxay xallisaa dhibaatooyinka baahida loo qabo isticmaalka goobaha gaarka ah ee esync iyo daalka suurtagalka ah ee sharraxayaasha faylka la heli karo.

    Nuxurka shaqada la qabanayo waa in la balaadhiyo shaqeynta nidaamka futex() caadiga ah ee wicida kernel Linux oo leh awoodaha lagama maarmaanka u ah wada-shaqeynta ugu wanaagsan ee barkada dunta. Xirmooyinka taageerada FUTEX_WAIT_MULTIPLE calanka lagama maarmaanka u ah Proton waa horeba wareejin si loogu daro kernel-ka Linux ugu weyn iyo glibc. Isbeddellada la diyaariyey weli laguma darin kernel-ka ugu weyn, markaa hadda waa lagama maarmaan samee kernel gaar ah oo taageero u ah kuwan asaasiga ah;

    Valve wuxuu siidaayaa Proton 4.11, oo ah suudh loogu talagalay socodsiinta ciyaaraha Windows Linux

  • Interlayer DXVK (fulinta DXGI, Direct3D 10 iyo Direct3D 11 ee korka Vulkan API) la cusboonaysiiyay nooca 1.3iyo D9VK (fulinta tijaabada ah ee Direct3D 9 ee dusha sare ee Vulkan) ilaa nooca 0.13f. Si aad awood ugu siiso taageerada D9VK gudaha Proton, isticmaal calanka PROTON_USE_D9VK;
  • Heerka soo cusboonaysiinta kormeeraha hadda waxa lagu kala qaadaa ciyaaraha;
  • Hagaajin ayaa la sameeyay si loo xakameeyo diiradda jiirka iyo maamulka daaqadaha;
  • Soo gelinta go'an iyo dhibaatooyinka taageerada gariir ee joysticks ee ka dhaca ciyaaraha qaarkood, gaar ahaan ciyaaraha ku saleysan matoorka Midnimada;
  • Taageero lagu daray nooca ugu dambeeyay ee OpenVR SDK;
  • Qaybaha FAudio ee leh hirgelinta maktabadaha dhawaaqa DirectX (API XAudio2, X3DAudio, XAPO iyo XACT3) waa la cusboonaysiiyay si loo sii daayo 19.07;
  • Dhibaatooyinka nidaamka hoose ee shabakada ee ciyaaraha GameMaker waa la xalliyay;
  • Qaybo badan oo khamri ah ayaa hadda loo dhisay sidii faylasha Windows PE halkii ay ka ahaan lahaayeen maktabadaha Linux. Sida shaqadu uga sii socoto aaggan, isticmaalka PE wuxuu caawin doonaa qaar ka mid ah hababka DRM iyo ka hortagga khiyaanada. Haddii aad isticmaasho wax-dhisyada Proton-ka caadiga ah, waxay u badan tahay inaad u baahan doonto inaad dib u abuurto mashiinka farsamada ee Vagrant si aad u dhisto faylasha PE.

Kahor inta aan balastarrada Valve la gelin kernel-ka Linux ee ugu weyn, iyadoo la adeegsanayo futex() halkii esync laga isticmaali lahaa waxay u baahan tahay rakibida kernel gaar ah oo taageero u ah barkada isku xirka dunta oo lagu hirgeliyay xirmo xirmo ah. fsync. Loogu talagalay Arch Linux gudaha AUR horeba la daabacay xirmo kernel diyaarsan oo lagu soo ururiyay balastar fsync. Ubuntu 18.04 iyo 19.04, waxaad isticmaali kartaa linux-mfutex-valve experimental kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Haddii aad leedahay kernel leh taageerada fsync, marka aad maamusho Proton 4.11, console wuxuu soo bandhigi doonaa fariinta "fsync: kor iyo socodsiin". Waxaad ku qasbi kartaa fsync in la damiyo adoo isticmaalaya calanka PROTON_NO_FSYNC=1

Source: opennet.ru

Add a comment