Valve hutoa Proton 4.11, safu ya kuendesha michezo ya Windows kwenye Linux

Kampuni ya Valve ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° tawi jipya la mradi Protoni 4.11, kulingana na maendeleo ya mradi wa Mvinyo na unaolenga kuhakikisha uzinduzi wa programu za michezo ya kubahatisha iliyoundwa kwa Windows na kuwasilishwa katika katalogi ya Steam kwenye Linux. Maendeleo ya mradi kuenea chini ya leseni ya BSD. Wakati ziko tayari, mabadiliko yaliyotengenezwa katika Protoni huhamishiwa kwa Mvinyo asilia na miradi inayohusiana, kama vile DXVK na vkd3d.

Proton hukuruhusu kuendesha moja kwa moja programu za michezo ya Windows-pekee katika mteja wa Steam Linux. Kifurushi ni pamoja na utekelezaji wa DirectX 10/11 (kulingana na DXVK.) na 12 (kulingana na vkd3d), inayofanya kazi kupitia tafsiri ya simu za DirectX kwa API ya Vulkan, hutoa usaidizi ulioboreshwa kwa vidhibiti vya mchezo na uwezo wa kutumia hali ya skrini nzima bila kujali maazimio ya skrini yanayotumika katika michezo. Ikilinganishwa na Mvinyo wa asili, utendaji wa michezo yenye nyuzi nyingi umeongezeka kwa kiasi kikubwa kutokana na matumizi ya viraka "usawazishaji"(Usawazishaji wa Eventfd) au "futex/fsync".

kuu mabadiliko katika Protoni 4.11:

  • Usawazishaji na Wine 4.11 codebase ulifanyika, ambayo zaidi ya mabadiliko 3300 yalihamishwa (tawi la awali lilitokana na divai 4.2). Viraka 154 kutoka Proton 4.2 vimesogezwa juu na sasa vimejumuishwa kwenye kifurushi kikuu cha Mvinyo;
  • Umeongeza usaidizi wa majaribio wa viasili vya ulandanishi kulingana na simu ya mfumo futex(), ambayo hupunguza mzigo wa CPU ikilinganishwa na usawazishaji. Kwa kuongeza, utekelezaji mpya hutatua matatizo na haja ya kutumia mipangilio maalum kwa usawazishaji na uwezekano wa uchovu wa vifafanuzi vya faili vinavyopatikana.

    Kiini cha kazi inayofanywa ni kupanua utendakazi wa simu ya kawaida ya futex() katika kernel ya Linux yenye uwezo unaohitajika kwa ulandanishi bora zaidi wa dimbwi la nyuzi. Viraka vinavyoauni alama ya FUTEX_WAIT_MULTIPLE vinavyohitajika kwa Proton tayari viko kuhamishwa kwa kuingizwa kwenye kernel kuu ya Linux na glibc. Mabadiliko yaliyotayarishwa bado hayajajumuishwa kwenye kernel kuu, kwa hivyo kwa sasa ni muhimu toa kernel maalum na msaada kwa primitives haya;

    Valve hutoa Proton 4.11, safu ya kuendesha michezo ya Windows kwenye Linux

  • Kiingiliano DXVK. (utekelezaji wa DXGI, Direct3D 10 na Direct3D 11 juu ya API ya Vulkan) imesasishwa hadi toleo 1.3Na D9VK (utekelezaji wa majaribio wa Direct3D 9 juu ya Vulkan) hadi toleo la 0.13f. Ili kuwezesha usaidizi wa D9VK katika Protoni, tumia bendera ya PROTON_USE_D9VK;
  • Kiwango cha sasa cha kuonyesha upya kifuatiliaji kinapitishwa kwa michezo;
  • Marekebisho yamefanywa kushughulikia umakini wa panya na usimamizi wa dirisha;
  • Kuchelewa kwa pembejeo na matatizo na usaidizi wa mtetemo kwa vijiti vya shangwe vinavyotokea katika baadhi ya michezo, hasa katika michezo inayotegemea injini ya Unity;
  • Usaidizi ulioongezwa kwa toleo jipya zaidi la OpenVR SDK;
  • Vipengele vya FAudio vilivyo na utekelezaji wa maktaba za sauti za DirectX (API XAudio2, X3DAudio, XAPO na XACT3) vimesasishwa ili kutolewa 19.07;
  • Matatizo na mfumo mdogo wa mtandao katika michezo kwenye GameMaker yametatuliwa;
  • Moduli nyingi za Mvinyo sasa zimeundwa kama faili za Windows PE badala ya maktaba za Linux. Kazi inavyoendelea katika eneo hili, matumizi ya PE itasaidia mifumo fulani ya DRM na ya kupambana na udanganyifu. Ukitumia miundo maalum ya Proton, kuna uwezekano mkubwa utahitaji kuunda upya mashine pepe ya Vagrant ili kuunda faili za PE.

Kabla ya viraka vya Valve kupitishwa kwenye kinu kuu cha Linux, kutumia futex() badala ya kusawazisha kunahitaji kusanikisha kernel maalum na usaidizi wa dimbwi la upatanishi wa nyuzi zinazotekelezwa katika seti ya viraka. fsync. Kwa Arch Linux katika AUR tayari iliyochapishwa kifurushi cha kernel kilichotengenezwa tayari kilichoundwa na viraka vya fsync. Kwenye Ubuntu 18.04 na 19.04, unaweza kutumia kernel ya majaribio ya linux-mfutex-valve PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Ikiwa una kernel yenye usaidizi wa fsync, unapoendesha Proton 4.11, console itaonyesha ujumbe "fsync: up and running". Unaweza kulazimisha fsync kuzimwa kwa kutumia PROTON_NO_FSYNC=1 bendera.

Chanzo: opennet.ru

Kuongeza maoni