Vavu imatulutsa Proton 4.11, suite yoyendetsa masewera a Windows pa Linux

Kampani ya Valve losindikizidwa nthambi yatsopano ya polojekiti Protoni 4.11, kutengera momwe polojekiti ya Vinyo ikuyendera komanso cholinga chake ndikuwonetsetsa kukhazikitsidwa kwa mapulogalamu amasewera opangidwa a Windows ndikuperekedwa mu kabukhu la Steam pa Linux. Zotukuka za polojekiti kufalitsa pansi pa layisensi ya BSD. Pamene ali okonzeka, zosintha zomwe zapangidwa mu Proton zimasamutsidwa ku Vinyo woyambirira ndi mapulojekiti okhudzana nawo, monga DXVK ndi vkd3d.

Proton imakulolani kuyendetsa mwachindunji mapulogalamu amasewera a Windows-okha mu kasitomala wa Steam Linux. Phukusili limaphatikizapo kukhazikitsa kwa DirectX 10/11 (kutengera Zamgululi) ndi 12 (kutengera vkd3d), ikugwira ntchito pomasulira mafoni a DirectX ku Vulkan API, imapereka chithandizo chowongolera kwa owongolera masewera komanso kuthekera kogwiritsa ntchito mawonekedwe azithunzi zonse mosasamala kanthu zakusintha kwazenera komwe kumathandizidwa pamasewera. Poyerekeza ndi Vinyo woyambirira, machitidwe amasewera amitundu yambiri awonjezeka kwambiri chifukwa chogwiritsa ntchito zigamba "esync"(Eventfd Synchronization) kapena" futex/fsync".

waukulu kusintha kwa Proton 4.11:

  • Kulunzanitsa ndi Wine 4.11 codebase kunachitika, pomwe zosintha zopitilira 3300 zidasamutsidwa (nthambi yapitayi idakhazikitsidwa ndi vinyo 4.2). Zigamba 154 zochokera ku Proton 4.2 zasunthidwa kumtunda ndipo tsopano zikuphatikizidwa mu phukusi lalikulu la Vinyo;
  • Onjezani zoyeserera zamalumikizidwe oyambilira kutengera foni ya futex() system, yomwe imachepetsa kuchuluka kwa CPU poyerekeza ndi esync. Kuphatikiza apo, kukhazikitsa kwatsopano kumathetsa mavuto ndikufunika kogwiritsa ntchito makonda apadera kwa esync komanso kutopa kwa mafayilo omwe alipo.

    Chofunikira cha ntchito yomwe ikuchitika ndikukulitsa magwiridwe antchito a foni yamtundu wa futex() mu Linux kernel ndi kuthekera kofunikira kuti mulunzanitsidwe bwino kwambiri ndi dziwe la ulusi. Zigamba zokhala ndi mbendera ya FUTEX_WAIT_MULTIPLE zofunika ku Proton zilipo kale kusamutsidwa kuti muphatikizidwe mu Linux kernel ndi glibc. Kusintha kokonzekera sikunaphatikizidwe mu kernel yayikulu, kotero pakali pano ndikofunikira kukhazikitsa kernel yapadera yothandizidwa ndi zoyamba izi;

    Vavu imatulutsa Proton 4.11, suite yoyendetsa masewera a Windows pa Linux

  • Interlayer Zamgululi (kukhazikitsidwa kwa DXGI, Direct3D 10 ndi Direct3D 11 pamwamba pa Vulkan API) zasinthidwa kuti zisinthe 1.3ndi D9VK (kuyesa koyeserera kwa Direct3D 9 pamwamba pa Vulkan) mpaka mtundu wa 0.13f. Kuti mulole chithandizo cha D9VK mu Proton, gwiritsani ntchito mbendera ya PROTON_USE_D9VK;
  • Mlingo waposachedwa wotsitsimutsa wowunika umaperekedwa kumasewera;
  • Zokonza zapangidwa kuti zigwirizane ndi kuyang'ana kwa mbewa ndi kuyang'anira zenera;
  • Kukhazikika kolowera ndi zovuta zothandizidwa ndi kugwedezeka kwa zisangalalo zomwe zimachitika m'masewera ena, makamaka pamasewera otengera injini ya Unity;
  • Thandizo lowonjezera la mtundu waposachedwa wa OpenVR SDK;
  • Zida za FAudio zokhala ndi kukhazikitsidwa kwa malaibulale omveka a DirectX (API XAudio2, X3DAudio, XAPO ndi XACT3) zasinthidwa kuti zitulutse 19.07;
  • Mavuto ndi ma network subsystem mumasewera pa GameMaker athetsedwa;
  • Ma module ambiri a Vinyo tsopano amamangidwa ngati mafayilo a Windows PE m'malo mwa malaibulale a Linux. Pamene ntchito ikupita kuderali, kugwiritsa ntchito PE kudzathandiza machitidwe ena a DRM ndi anti-cheat. Ngati mugwiritsa ntchito zomanga za Proton, mudzafunikanso kukonzanso makina a Vagrant kuti mupange mafayilo a PE.

Zigamba za Valve zisanalowetsedwe mu kernel yayikulu ya Linux, kugwiritsa ntchito futex() m'malo mwa esync kumafuna kuyika kernel yapadera ndi chithandizo cha dziwe lolumikizira ulusi lomwe limakhazikitsidwa mumagulu angapo. fsync. Kwa Arch Linux mu AUR kale losindikizidwa phukusi la kernel lokonzekera lopangidwa ndi ma fsync zigamba. Pa Ubuntu 18.04 ndi 19.04, mutha kugwiritsa ntchito linux-mfutex-valve experimental kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Ngati muli ndi kernel yothandizidwa ndi fsync, mukamayendetsa Proton 4.11, console idzawonetsa uthenga "fsync: up and running". Mutha kukakamiza fsync kuzimitsidwa pogwiritsa ntchito mbendera ya PROTON_NO_FSYNC=1.

Source: opennet.ru

Kuwonjezera ndemanga