Ka tukuna e Valve a Proton 4.11, he huinga mo te whakahaere i nga keemu Windows i runga Linux

Kamupene Valve whakaputaina peka kaupapa hou Proton 4.11, i runga i nga whanaketanga o te kaupapa Waina me te whai ki te whakarite i te whakarewatanga o nga tono petipeti i hangaia mo Windows me te whakaatu i roto i te putumōhio Steam i runga i Linux. Nga whanaketanga kaupapa horapa i raro i te raihana BSD. I te mea kua reri, ka whakawhitia nga huringa i whakawhanakehia i Proton ki te Waina taketake me nga kaupapa e pa ana, penei i te DXVK me te vkd3d.

Ka taea e Proton te whakahaere tika i nga tono petipeti Windows-anake i roto i te kiritaki Steam Linux. Kei roto i te kete he whakatinanatanga o DirectX 10/11 (i runga i DXVK) me te 12 (i runga i vkd3d), e mahi ana ma te whakamaoritanga o nga waea DirectX ki te Vulkan API, he pai ake te tautoko mo nga kaiwhakahaere keemu me te kaha ki te whakamahi i te aratau mata-katoa ahakoa nga whakataunga mata e tautokohia ana i nga keemu. Ka whakatauritea ki te Waina taketake, kua tino piki ake te mahi o nga keemu miro-maha na te whakamahi i nga papanga "tukutahi"(Eventfd Tukutahi) ranei "futex/fsync".

Main huringa i roto i Proton 4.11:

  • Ko te tukutahi me te Wine 4.11 codebase i whakahaerehia, i neke atu i te 3300 nga huringa i whakawhitihia (ko te peka o mua i runga i te waina 4.2). 154 nga pihi mai i te Proton 4.2 kua nekehia ki te awa, kua whakauruhia inaianei ki roto i te kete Waina matua;
  • Kua taapirihia he tautoko whakamatautau mo te tukutahitanga o mua i runga i te waea punaha futex(), e whakaiti ana i te uta CPU ka whakaritea ki te esync. I tua atu, ko te whakatinanatanga hou ka whakaoti rapanga me te hiahia ki te whakamahi tautuhinga motuhake mo te tukutahi me te ruha pea o nga kaiwhakaahua konae e waatea ana.

    Ko te ngako o te mahi e mahia ana ko te whakawhänui i te mahi o te waea pünaha futex() paerewa i roto i te kernel Linux me nga kaha e tika ana mo te tukutahitanga tino pai o te puna miro. Ko nga papanga me te tautoko mo te haki FUTEX_WAIT_MULTIPLE e tika ana mo Proton kua oti whakawhitia mo te whakauru ki roto i te kernel Linux matua me te glibc. Ko nga huringa kua oti te whakarite kaore ano kia whakauruhia ki roto i te kernel matua, na i tenei wa e tika ana whakapumautia he kakano motuhake me te tautoko mo enei taketake;

    Ka tukuna e Valve a Proton 4.11, he huinga mo te whakahaere i nga keemu Windows i runga Linux

  • Kaiwhangai DXVK (te whakatinanatanga o DXGI, Direct3D 10 me Direct3D 11 kei runga ake o te Vulkan API) kua whakahoutia ki te putanga 1.3a D9VK (he whakatinanatanga whakamatautau o Direct3D 9 ki runga ake o Vulkan) tae noa ki te putanga 0.13f. Kia taea ai te tautoko D9VK i Proton, whakamahia te haki PROTON_USE_D9VK;
  • Ka tukuna te reeti whakamau aroturuki o naianei ki nga keemu;
  • Kua whakatikahia ki te hapai i te arotahi kiore me te whakahaere matapihi;
  • Kua whakatikahia te takamuri whakauru me nga raru ki te tautoko wiri mo nga riipene ka puta i etahi keemu, ina koa i nga keemu i runga i te miihini Unity;
  • He tautoko taapiri mo te putanga hou o OpenVR SDK;
  • Ko nga waahanga FAudio me te whakatinanatanga o nga whare pukapuka oro DirectX (API XAudio2, X3DAudio, XAPO me XACT3) kua whakahoutia ki te tuku 19.07;
  • Kua whakatauhia nga raru mo te punaha iti whatunga i nga keemu i runga i te GameMaker;
  • He maha nga waahanga Waina kua hangaia inaianei hei konae Windows PE hei utu mo nga whare pukapuka Linux. I te wa e haere tonu ana nga mahi i tenei waahi, ka awhina te whakamahinga o te PE i etahi punaha DRM me te anti-tinihanga. Mena ka whakamahi koe i nga hangahanga a Proton, ka hiahia koe ki te hanga ano i te miihini mariko Vagrant hei hanga i nga konae PE.

I mua i te whakaurunga o nga papanga a Valve ki roto i te kakano Linux matua, ma te whakamahi i te futex() hei utu mo te esync me whakauru he kakano motuhake me te tautoko mo te puna tukutahi miro kua whakatinanahia i roto i te huinga o nga papa. fsync. Mo Arch Linux i AUR kua whakaputaina Ko te kete kakano kua rite kua whakahiatohia me nga papanga fsync. I runga i te Ubuntu 18.04 me te 19.04, ka taea e koe te whakamahi i te PPA whakamatautau linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Mena kei a koe he kakano me te tautoko fsync, ka whakahaere koe i te Proton 4.11, ka whakaatuhia e te papatohu te panui "fsync: ki runga me te rere". Ka taea e koe te whakaweto i te fsync ma te whakamahi i te haki PROTON_NO_FSYNC=1.

Source: opennet.ru

Tāpiri i te kōrero