Valve tso tawm Proton 4.11, suite rau khiav Windows games ntawm Linux

Valve tuam txhab luam tawm tshiab project ceg PIB 4.11, raws li kev txhim kho ntawm Wine project thiab tsom mus rau kev ua kom muaj kev sib tw ntawm cov ntawv thov kev ua si tsim rau Windows thiab nthuav tawm hauv Chav catalog ntawm Linux. Kev tsim kho qhov project kis mus nyob rau hauv BSD daim ntawv tso cai. Thaum lawv npaj txhij, cov kev hloov pauv tsim hauv Proton raug xa mus rau thawj Wine thiab lwm yam haujlwm, xws li DXVK thiab vkd3d.

Proton tso cai rau koj ncaj qha khiav Windows nkaus xwb gaming daim ntawv thov hauv Steam Linux tus thov kev pab. Cov pob suav nrog kev siv DirectX 10/11 (raws li DXVK) thiab 12 (raws li vk3d ua), ua haujlwm los ntawm kev txhais lus ntawm DirectX hu rau Vulkan API, muab kev txhawb nqa zoo dua rau cov tswj hwm kev ua si thiab muaj peev xwm siv hom puv npo tsis hais lub vijtsam daws teeb meem txhawb nqa hauv kev ua si. Piv nrog rau thawj Wine, qhov kev ua tau zoo ntawm ntau txoj xov ua si tau nce ntxiv ua tsaug rau kev siv thaj ua rau thaj "esync"(Eventfd Synchronization) lossis "futex/fsync".

ntsiab Kev hloov pauv hauv Proton 4.11:

  • Synchronization nrog Wine 4.11 codebase tau ua tiav, los ntawm kev hloov pauv ntau dua 3300 (cov ceg yav dhau los yog raws li cawv 4.2). 154 thaj ua rau thaj ntawm Proton 4.2 tau txav mus rau sab saud thiab tam sim no suav nrog hauv pob Wine loj;
  • Ntxiv kev sim txhawb rau synchronization primitives raws li futex() system hu, uas txo cov CPU load piv rau esync. Tsis tas li ntawd, qhov kev siv tshiab daws teeb meem nrog kev xav tau siv tshwj xeeb chaw rau esync thiab ua tau qaug zog ntawm cov ntaub ntawv piav qhia.

    Lub ntsiab lus ntawm kev ua haujlwm tau ua tiav yog txhawm rau nthuav dav kev ua haujlwm ntawm tus qauv futex() system hu hauv Linux ntsiav nrog lub peev xwm tsim nyog rau kev pom zoo synchronization ntawm xov pas dej. Patches nrog kev txhawb nqa rau FUTEX_WAIT_MULTIPLE chij tsim nyog rau Proton twb lawm pauv rau suav nrog hauv lub ntsiab Linux kernel thiab glibc ua. Cov kev hloov pauv tau npaj tseem tsis tau suav nrog hauv cov ntsiav tseem ceeb, yog li tam sim no nws yog qhov tsim nyog tsim lub kernel tshwj xeeb nrog kev txhawb nqa rau cov primitives no;

    Valve tso tawm Proton 4.11, suite rau khiav Windows games ntawm Linux

  • Interlayer DXVK (Kev nqis tes ua ntawm DXGI, Direct3D 10 thiab Direct3D 11 nyob rau sab saum toj ntawm Vulkan API) hloov kho rau version 1.3thiab D9 VK (ib qho kev sim ntawm Direct3D 9 saum Vulkan) mus txog rau version 0.13f. Txhawm rau pab txhawb D9VK hauv Proton, siv tus chij PROTON_USE_D9VK;
  • Tam sim no saib xyuas refresh npaum li cas yog kis mus rau kev ua si;
  • Kev kho tau ua los tswj cov nas tsom thiab tswj qhov rais;
  • Txhim kho cov tswv yim lag thiab teeb meem nrog kev vibration txhawb nqa rau joysticks uas tshwm sim hauv qee qhov kev ua si, tshwj xeeb tshaj yog hauv kev ua si raws li Unity cav;
  • Ntxiv kev txhawb nqa rau qhov tseeb version ntawm OpenVR SDK;
  • FAudio Cheebtsam nrog kev siv ntawm DirectX lub tsev qiv ntawv suab (API XAudio2, X3DAudio, XAPO thiab XACT3) tau hloov kho kom tso tawm 19.07;
  • Teeb meem nrog lub network subsystem hauv kev ua si ntawm GameMaker tau raug daws;
  • Ntau Wine modules tam sim no tau tsim ua Windows PE cov ntaub ntawv tsis yog Linux cov tsev qiv ntawv. Raws li kev ua haujlwm nce qib hauv cheeb tsam no, kev siv PE yuav pab qee qhov DRM thiab kev tiv thaiv kev dag ntxias. Yog tias koj siv kev cai Proton tsim, koj yuav xav tau rov tsim Vagrant virtual tshuab los tsim cov ntaub ntawv PE.

Ua ntej Valve cov thaj ua rau thaj tau raug coj mus rau hauv lub ntsiab Linux ntsiav, siv futex() es tsis yog esync yuav tsum tau txhim kho cov ntsiav tshwj xeeb nrog kev txhawb nqa rau cov xov synchronization pas dej ua ke siv nyob rau hauv ib pawg thaj ua rau thaj. fsync. Rau Arch Linux hauv AUR twb luam tawm cov pob khoom npaj tau muab tso ua ke nrog fsync thaj ua rau thaj. Ntawm Ubuntu 18.04 thiab 19.04, koj tuaj yeem siv linux-mfutex-valve sim kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-tau nruab linux-mfutex-valve);

Yog tias koj muaj cov ntsiav nrog fsync txhawb nqa, thaum koj khiav Proton 4.11, lub console yuav tso tawm cov lus "fsync: nce thiab khiav". Koj tuaj yeem yuam kom fsync muab tua siv PROTON_NO_FSYNC=1 chij.

Tau qhov twg los: opennet.ru

Ntxiv ib saib