Ivalve ikhupha iProton 4.11, isuti yokuqhuba imidlalo yeWindows kwiLinux

Inkampani yeValve ipapashiwe isebe elitsha leprojekthi Iproton 4.11, ngokusekelwe kuphuhliso lweprojekthi yeWayini kwaye ijolise ekuqinisekiseni ukuqaliswa kwezicelo zemidlalo ezenzelwe iWindows kwaye zinikezelwe kwikhathalogu yeSteam kwiLinux. Uphuhliso lweprojekthi usasazeko phantsi kwelayisensi ye-BSD. Njengoko zilungile, utshintsho oluphuhliswe kwiProton lugqithiselwa kwiWayini yokuqala kunye neeprojekthi ezinxulumene nazo, ezifana neDXVK kunye ne-vkd3d.

IProton ikuvumela ukuba uqhube ngokuthe ngqo usetyenziso lwemidlalo yeWindows kuphela kumxhasi weSteam Linux. Iphakheji ibandakanya ukuphunyezwa kweDirectX 10/11 (esekelwe kwi I-DXVK) kunye ne-12 (esekelwe kwi vkd3d), esebenza ngokuguqulelwa kweefowuni zeDirectX kwiVulkan API, ibonelela ngenkxaso ephuculweyo kubalawuli bemidlalo kunye nokukwazi ukusebenzisa imodi yesikrini esigcweleyo kungakhathaliseki ukuba izigqibo zesikrini ezixhaswa kwimidlalo. Xa kuthelekiswa neWayini yasekuqaleni, ukusebenza kwemidlalo enemisonto emininzi kuye kwandiswa kakhulu ngenxa yokusetyenziswa kweepetshi "esync"(Eventfd Ungqamaniso) okanye "futex/fsync".

Siseko utshintsho kwiProton 4.11:

  • Ungqamaniso kunye ne-Wine 4.11 codebase yenziwa, apho ngaphezulu kwe-3300 yeenguqu zaye zatshintshelwa (isebe langaphambili lalisekelwe kwiwayini 4.2). Iipetshi ezili-154 ezisuka kwiProton 4.2 ziye zasiwa phezulu kwaye ngoku zibandakanyiwe kwiphakheji ephambili yeWayini;
  • Inkxaso yovavanyo eyongeziweyo yongqamaniso lwamandulo olusekwe kwi-futex() inkqubo yokufowuna, eyehlisa umthwalo we-CPU xa kuthelekiswa nokuvumelanisa. Ukongeza, ukuphunyezwa okutsha kusombulula iingxaki ngesidingo sokusebenzisa izicwangciso ezikhethekileyo ukwenzela ulungelelwaniso kunye nokudinwa okunokwenzeka kwezichazi zefayile ezikhoyo.

    Undoqo womsebenzi owenziwayo kukwandisa umsebenzi womgangatho wefutex() umnxeba wenkqubo kwiLinux kernel ngezakhono eziyimfuneko zongqamaniso olulolona luphezulu lwequla lomsonto. Iipetshi ezinenkxaso yeFUTEX_WAIT_MULTIPLE iflegi efunekayo kwiProton sele ikhona idluliselwe yokufakwa kwi-Linux kernel engundoqo kunye I-Glibc. Utshintsho olulungisiweyo alukabandakanywa kwi-kernel ephambili, ngoko okwangoku kuyimfuneko ukuseka ukhozo olukhethekileyo olunenkxaso yezi zinto zamandulo;

    Ivalve ikhupha iProton 4.11, isuti yokuqhuba imidlalo yeWindows kwiLinux

  • Interlayer I-DXVK (ukuphunyezwa kweDXGI, Direct3D 10 kunye neDirect3D 11 phezu kweVulkan API) ihlaziywe kuguqulelo 1.3, kwaye I-D9VK (ukuphunyezwa kovavanyo lweDirect3D 9 phezu kweVulkan) ukuya kuthi ga kwinguqulo 0.13f. Ukwenza inkxaso ye-D9VK isebenze kwiProton, sebenzisa i-PROTON_USE_D9VK iflegi;
  • Izinga lokuhlaziya iliso langoku ligqithiselwa kwimidlalo;
  • Ulungiso lwenziwe ukujongana nokugxilwa kwemouse kunye nolawulo lwefestile;
  • I-lag yegalelo elungisiweyo kunye neengxaki kunye nenkxaso ye-vibration ye-joystick eyenzeka kweminye imidlalo, ngakumbi kwimidlalo esekwe kwi-injini yoBumbano;
  • Inkxaso eyongeziweyo yoguqulelo lwamva nje lwe-OpenVR SDK;
  • Amacandelo e-FAudio ngokuphunyezwa kweelayibrari zesandi ze-DirectX (API XAudio2, X3DAudio, XAPO kunye ne-XACT3) zihlaziywe ukukhulula i-19.07;
  • Iingxaki nge-subsystem yenethiwekhi kwimidlalo kwi-GameMaker ziye zasonjululwa;
  • Iimodyuli ezininzi zeWayini ngoku zakhiwe njengeefayile zeWindows PE endaweni yeelayibrari zeLinux. Njengoko umsebenzi uqhubeka kule ndawo, ukusetyenziswa kwe-PE kuya kunceda ezinye iinkqubo ze-DRM kunye ne-anti-cheat. Ukuba usebenzisa iProton yesiko lokwakha, kuya kufuneka wenze kwakhona umatshini weVagrant wenyani ukwakha iifayile zePE.

Phambi kokuba iipetshi zeValve zamkelwe kwi-Linux kernel engundoqo, usebenzisa i-futex() endaweni ye-esync ifuna ukufakela i-kernel ekhethekileyo ngenkxaso yephuli yongqamaniso lwentambo oluphunyeziweyo kwiseti yeepetshi. fsync. KwiArch Linux kwi-AUR sele ipapashiwe Iphakheji yekernel esele yenziwe ihlanganiswe kunye neepatches ze-fsync. Kwi-Ubuntu 18.04 kunye ne-19.04, ungasebenzisa i-linux-mfutex-valve yovavanyo lwe-kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Ukuba une-kernel enenkxaso ye-fsync, xa uqhuba iProton 4.11, i-console iya kubonisa umyalezo othi "fsync: up and running". Unganyanzela i-fsync ukuba icinywe usebenzisa i-PROTON_NO_FSYNC=1 iflegi.

umthombo: opennet.ru

Yongeza izimvo