Valve ืžืฉื—ืจืจืช ืืช Proton 4.11, ื—ื‘ื™ืœื” ืœื”ืคืขืœืช ืžืฉื—ืงื™ Windows ืขืœ ืœื™ื ื•ืงืก

ื—ื‘ืจืช Valve ะพะฟัƒะฑะปะธะบะพะฒะฐะปะฐ ืกื ื™ืฃ ืคืจื•ื™ืงื˜ ื—ื“ืฉ ืคืจื•ื˜ื•ืŸ 4.11, ื”ืžื‘ื•ืกืก ืขืœ ื”ืคื™ืชื•ื—ื™ื ืฉืœ ืคืจื•ื™ืงื˜ Wine ื•ืžื˜ืจืชื• ืœื”ื‘ื˜ื™ื— ื”ืฉืงืช ืืคืœื™ืงืฆื™ื•ืช ืžืฉื—ืง ืฉื ื•ืฆืจื• ืขื‘ื•ืจ Windows ื•ื”ื•ืฆื’ื• ื‘ืงื˜ืœื•ื’ Steam ืขืœ ืœื™ื ื•ืงืก. ืคื™ืชื•ื—ื™ ืคืจื•ื™ืงื˜ื™ื ื”ืชืคืฉื˜ื•ืช ืชื—ืช ืจื™ืฉื™ื•ืŸ BSD. ื›ืฉื”ื ืžื•ื›ื ื™ื, ื”ืฉื™ื ื•ื™ื™ื ืฉืคื•ืชื—ื• ื‘-Proton ืžื•ืขื‘ืจื™ื ืœ-Wine ื”ืžืงื•ืจื™ ื•ืœืคืจื•ื™ืงื˜ื™ื ื ืœื•ื•ื™ื, ื›ื’ื•ืŸ DXVK ื•-vkd3d.

ืคืจื•ื˜ื•ืŸ ืžืืคืฉืจ ืœืš ืœื”ืจื™ืฅ ื™ืฉื™ืจื•ืช ื™ื™ืฉื•ืžื™ ืžืฉื—ืงื™ื ืœ-Windows ื‘ืœื‘ื“ ื‘ืœืงื•ื— Steam Linux. ื”ื—ื‘ื™ืœื” ื›ื•ืœืœืช ื™ื™ืฉื•ื ืฉืœ DirectX 10/11 (ืžื‘ื•ืกืก ืขืœ DXVK) ื•-12 (ืžื‘ื•ืกืก ืขืœ vkd3d), ื”ืคื•ืขืœืช ื‘ืืžืฆืขื•ืช ืชืจื’ื•ื ืฉืœ ืงืจื™ืื•ืช DirectX ืœ-Vulkan API, ืžืกืคืงืช ืชืžื™ื›ื” ืžืฉื•ืคืจืช ืขื‘ื•ืจ ื‘ืงืจื™ ืžืฉื—ืง ื•ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืžืฆื‘ ืžืกืš ืžืœื ืœืœื ืงืฉืจ ืœืจื–ื•ืœื•ืฆื™ื•ืช ื”ืžืกืš ื”ื ืชืžื›ื•ืช ื‘ืžืฉื—ืงื™ื. ื‘ื”ืฉื•ื•ืื” ืœ-Wine ื”ืžืงื•ืจื™, ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžืฉื—ืงื™ื ืžืจื•ื‘ื™ ื”ืœื™ื›ื™ ืขืœื• ืžืฉืžืขื•ืชื™ืช ื”ื•ื“ื•ืช ืœืฉื™ืžื•ืฉ ื‘ืชื™ืงื•ื ื™ื "esync"(Synchronization Eventfd) ืื• "futex/fsync".

ื”ืขื™ืงืจื™ ืฉื™ื ื•ื™ื™ื ื‘ืคืจื•ื˜ื•ืŸ 4.11:

  • ื‘ื•ืฆืข ืกื ื›ืจื•ืŸ ืขื ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ Wine 4.11, ืžืžื ื• ื”ื•ืขื‘ืจื• ื™ื•ืชืจ ืž-3300 ืฉื™ื ื•ื™ื™ื (ื”ืขื ืฃ ื”ืงื•ื“ื ื”ืชื‘ืกืก ืขืœ ื™ื™ืŸ 4.2). 154 ืชื™ืงื•ื ื™ื ืž-Proton 4.2 ื”ื•ืขื‘ืจื• ื‘ืžืขืœื” ื”ื–ืจื ื•ื”ื ื›ืœื•ืœื™ื ื›ืขืช ื‘ื—ื‘ื™ืœืช ื”ื™ื™ืŸ ื”ืจืืฉื™ืช;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื ื™ืกื™ื•ื ื™ืช ืœืคืจื™ืžื™ื˜ื™ื‘ื™ื ืฉืœ ืกื ื›ืจื•ืŸ ื”ืžื‘ื•ืกืกื™ื ืขืœ ืงืจื™ืืช ื”ืžืขืจื›ืช futex(), ืžื” ืฉืžืคื—ื™ืช ืืช ืขื•ืžืก ื”ืžืขื‘ื“ ื‘ื”ืฉื•ื•ืื” ืœ-esync. ื‘ื ื•ืกืฃ, ื”ื™ื™ืฉื•ื ื”ื—ื“ืฉ ืคื•ืชืจ ื‘ืขื™ื•ืช ืขื ื”ืฆื•ืจืš ื‘ืฉื™ืžื•ืฉ ื”ื’ื“ืจื•ืช ืžื™ื•ื—ื“ื•ืช ืœืกื™ื ื›ืจื•ืŸ ื•ืœืžื™ืฆื•ื™ ืืคืฉืจื™ ืฉืœ ืžืชืืจื™ ืงื‘ืฆื™ื ื–ืžื™ื ื™ื.

    ืžื”ื•ืช ื”ืขื‘ื•ื“ื” ื”ื ืขืฉื™ืช ื”ื™ื ืœื”ืจื—ื™ื‘ ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืงืจื™ืืช ื”ืžืขืจื›ืช ื”ืกื˜ื ื“ืจื˜ื™ืช futex() ื‘ืงืจื ืœ ื”ืœื™ื ื•ืงืก ืขื ื”ื™ื›ื•ืœื•ืช ื”ื“ืจื•ืฉื•ืช ืœืกื ื›ืจื•ืŸ ืžื™ื˜ื‘ื™ ืฉืœ ืžืื’ืจ ื”-threads. ืชื™ืงื•ื ื™ื ืขื ืชืžื™ื›ื” ื‘ื“ื’ืœ FUTEX_WAIT_MULTIPLE ื”ื“ืจื•ืฉ ืขื‘ื•ืจ ืคืจื•ื˜ื•ืŸ ื›ื‘ืจ ื ืžืฆืื™ื ื”ื•ืขื‘ืจ ืœื”ื›ืœืœื” ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก ื”ืจืืฉื™ืช ื• ื’ืœื™ื‘ืง. ื”ืฉื™ื ื•ื™ื™ื ื”ืžื•ื›ื ื™ื ืขื“ื™ื™ืŸ ืื™ื ื ื›ืœื•ืœื™ื ื‘ืงืจื ืœ ื”ืจืืฉื™, ื›ืš ืฉื›ืจื’ืข ื–ื” ื”ื›ืจื—ื™ ืœื”ืงื™ื ื’ืจืขื™ืŸ ืžื™ื•ื—ื“ ืขื ืชืžื™ื›ื” ื‘ืคืจื™ืžื™ื˜ื™ื‘ื™ื ื”ืืœื”;

    Valve ืžืฉื—ืจืจืช ืืช Proton 4.11, ื—ื‘ื™ืœื” ืœื”ืคืขืœืช ืžืฉื—ืงื™ Windows ืขืœ ืœื™ื ื•ืงืก

  • ืฉื›ื‘ืช ื‘ื™ื ื™ื™ื DXVK (ื™ื™ืฉื•ื ืฉืœ DXGI, Direct3D 10 ื•-Direct3D 11 ืขืœ ื’ื‘ื™ ื”-Vulkan API) ืขื•ื“ื›ืŸ ืœื’ืจืกื” 1.3ื• - D9VK (ื™ื™ืฉื•ื ื ื™ืกื™ื•ื ื™ ืฉืœ Direct3D 9 ืขืœ ื’ื‘ื™ Vulkan) ืขื“ ื’ืจืกื” 0.13f. ื›ื“ื™ ืœืืคืฉืจ ืชืžื™ื›ื” ื‘-D9VK ื‘-Proton, ื”ืฉืชืžืฉ ื‘ื“ื’ืœ PROTON_USE_D9VK;
  • ืงืฆื‘ ื”ืจืขื ื•ืŸ ื”ื ื•ื›ื—ื™ ืฉืœ ื”ืฆื’ ืžื•ืขื‘ืจ ืœืžืฉื—ืงื™ื;
  • ื‘ื•ืฆืขื• ืชื™ืงื•ื ื™ื ืœื˜ื™ืคื•ืœ ื‘ืžื™ืงื•ื“ ืขื›ื‘ืจ ื•ื ื™ื”ื•ืœ ื—ืœื•ื ื•ืช;
  • ื”ืฉื”ื™ื™ืช ืงืœื˜ ืชื•ืงื ื” ื•ื‘ืขื™ื•ืช ื‘ืชืžื™ื›ื” ื‘ืจื˜ื˜ ืœื’'ื•ื™ืกื˜ื™ืงื™ื ื”ืžืชืจื—ืฉื™ื ื‘ื—ืœืง ืžื”ืžืฉื—ืงื™ื, ื‘ืžื™ื•ื—ื“ ื‘ืžืฉื—ืงื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ืžื ื•ืข ื”- Unity;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื’ืจืกื” ื”ืื—ืจื•ื ื” ืฉืœ OpenVR SDK;
  • ืจื›ื™ื‘ื™ FAudio ืขื ื”ื˜ืžืขืช ืกืคืจื™ื•ืช ืกืื•ื ื“ ืฉืœ DirectX (API XAudio2, X3DAudio, XAPO ื•-XACT3) ืขื•ื“ื›ื ื• ืœื’ืจืกื” 19.07;
  • ื‘ืขื™ื•ืช ื‘ืชืช-ืžืขืจื›ืช ื”ืจืฉืช ื‘ืžืฉื—ืงื™ื ื‘-GameMaker ื ืคืชืจื•;
  • ืžื•ื“ื•ืœื™ ื™ื™ืŸ ืจื‘ื™ื ื‘ื ื•ื™ื™ื ื›ืขืช ื›ืงื‘ืฆื™ Windows PE ื‘ืžืงื•ื ืกืคืจื™ื•ืช ืœื™ื ื•ืงืก. ื›ื›ืœ ืฉื”ืขื‘ื•ื“ื” ื‘ืชื—ื•ื ื–ื” ืžืชืงื“ืžืช, ื”ืฉื™ืžื•ืฉ ื‘-PE ื™ืขื–ื•ืจ ืœื›ืžื” ืžืขืจื›ื•ืช DRM ื•ืื ื˜ื™-ืฆ'ื™ื˜ื™ื. ืื ืืชื” ืžืฉืชืžืฉ ื‘-Proton builds ืžื•ืชืืžื™ื ืื™ืฉื™ืช, ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืชืฆื˜ืจืš ืœื™ืฆื•ืจ ืžื—ื“ืฉ ืืช ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช Vagrant ื›ื“ื™ ืœื‘ื ื•ืช ืืช ืงื‘ืฆื™ PE.

ืœืคื ื™ ืื™ืžื•ืฅ ื”ืชื™ืงื•ื ื™ื ืฉืœ Valve ืœืชื•ืš ืœื™ื‘ืช ื”ืœื™ื ื•ืงืก ื”ืจืืฉื™ืช, ืฉื™ืžื•ืฉ ื‘-futex() ื‘ืžืงื•ื esync ืžืฆืจื™ืš ื”ืชืงื ืช ืœื™ื‘ื” ืžื™ื•ื—ื“ืช ืขื ืชืžื™ื›ื” ื‘ืžืื’ืจ ืกื ื›ืจื•ืŸ ื”ืฉืจืฉื•ืจื™ื ื”ืžื™ื•ืฉืžืช ื‘ืกื˜ ืฉืœ ืชื™ืงื•ื ื™ื fsync. ืขื‘ื•ืจ Arch Linux ื‘-AUR ื›ื‘ืจ ืคื•ืจืกื ื—ื‘ื™ืœืช ืœื™ื‘ื” ืžื•ื›ื ื” ื”ื™ื“ื•ืจื™ืช ืขื ืชื™ืงื•ื ื™ fsync. ื‘-Ubuntu 18.04 ื•-19.04, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-PPA ื”ื ื™ืกื™ื•ื ื™ ืฉืœ linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

ืื ื™ืฉ ืœืš ืœื™ื‘ื” ืขื ืชืžื™ื›ื” ื‘-fsync, ื›ืืฉืจ ืืชื” ืžืคืขื™ืœ ืืช Proton 4.11, ื”ืงื•ื ืกื•ืœื” ืชืฆื™ื’ ืืช ื”ื”ื•ื“ืขื” "fsync: up and running". ืืชื” ื™ื›ื•ืœ ืœื›ื‘ื•ืช ืืช fsync ื‘ืืžืฆืขื•ืช ื”ื“ื’ืœ PROTON_NO_FSYNC=1.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”