Valve yana fitar da Proton 4.11, babban ɗakin don gudanar da wasannin Windows akan Linux

Kamfanin Valve aka buga sabon reshen aikin Farashin 4.11, dangane da ci gaban aikin Wine da nufin tabbatar da ƙaddamar da aikace-aikacen caca da aka ƙirƙira don Windows kuma an gabatar da su a cikin kasida ta Steam akan Linux. Ci gaban ayyukan yada ƙarƙashin lasisin BSD. Yayin da suke shirye, canje-canjen da aka haɓaka a cikin Proton ana canja su zuwa ainihin ruwan inabi da ayyukan da ke da alaƙa, kamar DXVK da vkd3d.

Proton yana ba ku damar gudanar da aikace-aikacen caca na Windows-kawai kai tsaye a cikin abokin ciniki na Steam Linux. Kunshin ya ƙunshi aiwatar da DirectX 10/11 (dangane da Rariya) da kuma 12 (bisa vkd3d), Yin aiki ta hanyar fassarar kiran DirectX zuwa Vulkan API, yana ba da ingantaccen tallafi ga masu kula da wasan da kuma ikon yin amfani da yanayin cikakken allo ba tare da la'akari da ƙudurin allon da aka goyan bayan wasanni ba. Idan aka kwatanta da ainihin ruwan inabi, wasan kwaikwayon wasanni masu zare da yawa ya karu sosai saboda amfani da faci "esync"(Eventfd Aiki tare) ko"futex/fsync".

Main Canje-canje a cikin Proton 4.11:

  • An gudanar da aiki tare da Wine 4.11 codebase, wanda aka canza fiye da 3300 canje-canje (reshe na baya ya dogara ne akan ruwan inabi 4.2). 154 faci daga Proton 4.2 an motsa su zuwa sama kuma yanzu an haɗa su cikin babban kunshin ruwan inabi;
  • Ƙara goyan bayan gwaji don abubuwan haɗin kai dangane da kiran tsarin futex(), wanda ke rage nauyin CPU idan aka kwatanta da esync. Bugu da ƙari, sabon aiwatarwa yana warware matsalolin tare da buƙatar amfani saituna na musamman don esync da yuwuwar gajiyar da ke akwai masu siffanta fayil.

    Mahimmancin aikin da ake yi shi ne faɗaɗa aikin daidaitaccen tsarin tsarin futex() a cikin Linux kernel tare da damar da ake bukata don aiki tare da mafi kyawun aiki na tafkin zaren. Faci tare da goyan bayan tutar FUTEX_WAIT_MULTIPLE da ake buƙata don Proton sun riga sun kasance canja wuri don haɗawa a cikin babban kwaya na Linux da glibc. Canje-canjen da aka shirya ba a haɗa su a cikin babban kwaya ba, don haka a yanzu ya zama dole kafa kwaya ta musamman tare da goyan baya ga waɗannan primitives;

    Valve yana fitar da Proton 4.11, babban ɗakin don gudanar da wasannin Windows akan Linux

  • Interlayer Rariya (aiwatar da DXGI, Direct3D 10 da Direct3D 11 akan Vulkan API) an sabunta su zuwa sigar 1.3da kuma D9VK (aikin gwaji na Direct3D 9 akan Vulkan) har zuwa sigar 0.13f. Don kunna goyan bayan D9VK a cikin Proton, yi amfani da tutar PROTON_USE_D9VK;
  • Adadin wartsakewar saka idanu na yanzu ana watsa shi zuwa wasanni;
  • An yi gyare-gyare don sarrafa mayar da hankali kan linzamin kwamfuta da sarrafa taga;
  • Kafaffen shigar da shigar da matsaloli tare da goyon bayan rawar jiki don joysticks da ke faruwa a wasu wasanni, musamman a cikin wasanni dangane da injin Unity;
  • Ƙara goyon baya don sabuwar sigar OpenVR SDK;
  • Abubuwan FAudio tare da aiwatar da ɗakunan karatu na sauti na DirectX (API XAudio2, X3DAudio, XAPO da XACT3) an sabunta su don sakin 19.07;
  • Matsaloli tare da tsarin cibiyar sadarwa a cikin wasanni akan GameMaker an warware su;
  • Yawancin samfuran Wine yanzu an gina su azaman fayilolin Windows PE maimakon ɗakunan karatu na Linux. Yayin da aikin ke ci gaba a wannan yanki, amfani da PE zai taimaka wa wasu DRM da tsarin hana yaudara. Idan kun yi amfani da ginin Proton na al'ada, kuna iya buƙatar sake ƙirƙira na'ura mai mahimmanci na Vagrant don gina fayilolin PE.

Kafin a karɓi facin Valve a cikin babban kwaya na Linux, ta amfani da futex() maimakon esync yana buƙatar shigar da kwaya ta musamman tare da goyan bayan tafkin daidaita zaren da aka aiwatar a cikin saitin faci. fsync. Don Arch Linux a cikin AUR riga buga fakitin kernel wanda aka shirya tare da facin fsync. A kan Ubuntu 18.04 da 19.04, zaku iya amfani da linux-mfutex-valve gwaji kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-samun shigar linux-mfutex-valve);

Idan kuna da kernel tare da tallafin fsync, lokacin da kuke gudanar da Proton 4.11, na'urar wasan bidiyo za ta nuna saƙon "fsync: sama da gudana". Kuna iya tilasta kashe fsync ta amfani da tutar PROTON_NO_FSYNC=1.

source: budenet.ru

Add a comment