Kompania Valve lëshoi Proton 4.11, një paketë për të ekzekutuar lojërat Windows në Linux

Kompania Valve publikoi projekti i ri Proton 4.11, i bazuar në zhvillimet e projektit Wine dhe i orientuar për të mundësuar ekzekutimin në Linux të aplikacioneve lojëra, të krijuara për Windows dhe të paraqitura në katalogun Steam. Zhvillimet e projektit distribuohen në licencën BSD. Së bashku me përgatitjet e Wine origjinal dhe projekte të tjera përkatëse si DXVK dhe vkd3d, ndryshimet e zhvilluara në Proton transferohen.

Proton lejon ekzekutimin direkt të aplikacioneve lojërash në klientin Linux të Steam, të dorëzuara vetëm për Windows. Paketa përfshin zbatimin e DirectX 10/11 (në bazë të DXVK) dhe 12 (në bazë të vkd3d), që funksionojnë përmes transformimit të thirrjeve DirectX në API Vulkan, ofron mbështetje të përmirësuar për kontrollorët e lojërave dhe mundësinë e përdorimit të modit të plotë ekranit pavarësisht nga rezolutat e mbështetura në lojëra. Krahasuar me Wine origjinale, performanca e lojërave me shumë procese është rritur ndjeshëm falë aplikimit të patch-eve "esync» (Sinkronizimi i Eventfd) ose «futex/fsync».

Main ndryshimet në Proton 4.11:

  • ËshtĂ« realizuar sinkronizimi me bazĂ«n e kodit Wine 4.11, nga e cila janĂ« transferuar mĂ« shumĂ« se 3300 ndryshime (dalia e kaluar ishte bazuar nĂ« wine 4.2). 154 patches nga Proton 4.2 janĂ« transferuar upstream dhe tani janĂ« pĂ«rfshirĂ« nĂ« pĂ«rbĂ«rjen kryesore tĂ« Wine;
  • ËshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r primitive sinkronizimi tĂ« bazuara nĂ« thirrjen e sistemit futex(), e cila lejon reduktimin e ngarkesĂ«s mbi CPU nĂ« krahasim me esync. PĂ«r mĂ« tepĂ«r, realizimi i ri zgjidh problemet me nevojĂ«n pĂ«r tĂ« pĂ«rdorur konfigurime speciale pĂ«r esync dhe shterimin e mundshĂ«m tĂ« descriptorĂ«ve tĂ« skedarĂ«ve tĂ« disponueshĂ«m.

    Qëllimi i punës së kryer është të zgjeroni funksionalitetin e thirrjes standarde të sistemit futex() në bërthamën Linux me mundësitë e nevojshme për sinkronizimin optimal të grupeve të shkallëve. Patch-et me mbështetje të nevojshme për Proton për flamurin FUTEX_WAIT_MULTIPLE tashmë Disponueshmëria e dokumentacionit të brendshëm gjithashtu do të lejojë arritjen e performancës maksimale, përputhshmërisë së plotë me specifikimet dhe mbulimin e të gjitha mundësive të disponueshme për GPU-në Midgard dhe Bifrost. për t'u përfshirë në përbërjen kryesore të bërthamës Linux dhe Glibc. Ndryshimet e përgatitura ende nuk janë përfshirë në përbërjen kryesore të bërthamës, prandaj për momentin është e nevojshme instalohet një bërthamë speciale me mbështetje për këto primitive;

    Kompania Valve lëshoi Proton 4.11, një paketë për të ekzekutuar lojërat Windows në Linux
  • Lidhja DXVK (implementimi i DXGI, Direct3D 10 dhe Direct3D 11 mbi API Vulkan) Ă«shtĂ« pĂ«rditĂ«suar nĂ« versionin 1.3, ndĂ«rsa D9VK (implementimi eksperimental i Direct3D 9 mbi Vulkan) nĂ« versionin 0.13f. PĂ«r tĂ« aktivizuar mbĂ«shtetje D9VK nĂ« Proton duhet tĂ« pĂ«rdoret flamuri PROTON_USE_D9VK;
  • Ă«shtĂ« siguruar transmetimi i ndjesisĂ« aktuale tĂ« rifreskimit tĂ« monitorit pĂ«r lojĂ«rat;
  • janĂ« kryer rregullime lidhur me trajtimin e fokusit tĂ« kursorit tĂ« miut dhe menaxhimit tĂ« dritareve;
  • janĂ« eliminuar vonesat e hyrjes dhe problemet me mbĂ«shtetje pĂ«r vibrimin pĂ«r joystick-et, qĂ« shfaqen nĂ« disa lojĂ«ra, veçanĂ«risht nĂ« lojĂ«rat me motorin Unity;
  • Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r versionin mĂ« tĂ« fundit tĂ« OpenVR SDK;
  • KomponentĂ«t FAudio me implementimin e bibliotekave tĂ« zĂ«rit DirectX (API XAudio2, X3DAudio, XAPO dhe XACT3) janĂ« pĂ«rditĂ«suar nĂ« versionin 19.07;
  • janĂ« zgjidhur problemet me sistemin e rrjetit nĂ« lojĂ«rat nĂ« GameMaker;
  • ShumĂ« module tĂ« Wine tani ndĂ«rtohen si skeda Windows PE, nĂ« vend tĂ« bibliotekave Linux. Me avancimin e punĂ«s nĂ« kĂ«tĂ« fushĂ«, pĂ«rdorimi i PE do t'i ndihmojĂ« disa sisteme DRM dhe anti-bashkim. NĂ« rastin e pĂ«rdorimit tĂ« ndĂ«rtimeve tĂ« vetĂ«- krijuara tĂ« Proton, Ă«shtĂ« shumĂ« e mundur qĂ« do tĂ« nevojitet tĂ« rinovohet makina virtuale Vagrant pĂ«r tĂ« ndĂ«rtuar skedarĂ«t PE.

Përpara se patch-et e kompanisë Valve të pranohen në bërthamën kryesore të Linux, për të përdorur futex() në vend të esync, kërkohet të instaloni një bërthamë speciale me mbështetje për grupin e sinkronizimit të thread-eve, të realizuar në paketën e patch-eve. fsync. Për Arch Linux në AUR tashmë u publikua ekziston një paketë bërthamë e gatshme, e ndërtuar me patch-e fsync. Në Ubuntu 18.04 dhe 19.04, mund të përdorni repositorin PPA me bërthamat eksperimentale linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Me një bërthamë që mbështet fsync, kur filloni Proton 4.11, do të shfaqet mesazhi "fsync: up and running" në konsolë. Mund ta çaktivizoni fsync duke përdorur flag-un PROTON_NO_FSYNC=1.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster