Společnost Valve vydala Proton 4.11, balíček pro spuštění Windows her v Linuxu

Společnost Valve publikovala novou větev projektu Proton 4.11, který je založen na vývojových pracech projektu Wine a zaměřuje se na zajištění spuštění herních aplikací vytvořených pro Windows v Linuxu, přístupných v katalogu Steam. Vývojové práce projektu se distribují pod licencí BSD. Jakmile budou připraveny změny v původním Wine a souvisejících projektech, jako je DXVK a vkd3d, budou přeneseny vyvíjené změny v Proton.

Proton umožňuje přímo spouštět v Linuxovém klientovi Steam herní aplikace, které jsou dodávány pouze pro Windows. Balíček zahrnuje implementaci DirectX 10/11 (na základě DXVK) a 12 (na základě vkd3d), fungující prostřednictvím překladu volání DirectX do API Vulkan, poskytuje vylepšenou podporu pro herní ovladače a možnost plného zobrazení bez ohledu na podporovaná rozlišení obrazovky ve hrách. Pokud jde o výkon vícevláknových her, byl ve srovnání s originálním Wine výrazně zvýšen výkon díky aplikaci patchů „esync» (Eventfd Synchronization) nebo „futex/fsync“.

Hlavní změny v Proton 4.11:

  • Byla provedena synchronizace s kódovou základnou Wine 4.11, z níž bylo přeneseno více než 3300 změn (minulá větev vycházela z wine 4.2). 154 patchů z Proton 4.2 bylo přeneseno upstream a nyní jsou součástí hlavního složení Wine;
  • Byla přidána experimentální podpora synchronizačních primitiv založených na systémovém volání futex(), která umožňuje snížit zátěž CPU ve srovnání s esync. Kromě toho nový implementace řeší problémy s nutností použití speciálních nastavení pro esync a možným vyčerpáním dostupných souborových descriptorů.

    Podstatou prováděné práce je rozšířit funkčnost standardního systémového volání futex() v jádře Linux o schopnosti potřebné pro optimální synchronizaci bazénu vláken. Patche s potřebnou podporou pro Proton s flagem FUTEX_WAIT_MULTIPLE již byly předány byly navrženy pro zahrnutí do hlavního jádra Linuxu a Glibc. Připravené změny zatím nejsou zahrnuty do hlavního jádra, a proto je v tuto chvíli nutné nainstalovat speciální jádro s podporou těchto primitiv;

    Společnost Valve vydala Proton 4.11, balíček pro spuštění Windows her v Linuxu
  • Vrstva DXVK (implementace DXGI, Direct3D 10 a Direct3D 11 nad API Vulkan) byla aktualizována na verzi 1.3, a D9VK (experimentální implementace Direct3D 9 nad Vulkan) na verzi 0.13f. Pro zahrnutí podpory D9VK v Proton je třeba použít flag PROTON_USE_D9VK;
  • Bylo zajištěno předání aktuální frekvence obnovování monitoru hrám;
  • Byly provedeny opravy související se zpracováním zaměření kurzoru myši a správou oken;
  • Byly odstraněny zpoždění vstupu a problémy s podporou vibrací pro ovladače, které se projevují v některých hrách, zejména v hrách na enginu Unity;
  • Byla přidána podpora nejnovější verze OpenVR SDK;
  • Komponenty FAudio s implementací zvukových knihoven DirectX (API XAudio2, X3DAudio, XAPO a XACT3) byly aktualizovány na vydání 19.07;
  • Byly vyřešeny problémy se síťovým subsystémem v hrách na GameMaker;
  • Mnoho modulů Wine nyní staví jako Windows PE soubory místo Linux knihoven. S pokračováním práce v této oblasti využití PE pomůže některým systémům DRM a anti-cheatům. V případě použití vlastních sestavení Proton bude pravděpodobně potřeba znovu vytvořit virtuální stroj Vagrant, aby se sestavily PE soubory.

Před přijetím do hlavního jádra Linuxu patchů od společnosti Valve pro použití futex() místo esync je nutné nainstalovat speciální jádro s podporou synchronizačního vláknového poolu, implementovaného v sadě patchů. fsync. Pro Arch Linux je již v AUR byla vydána připravený balíček jádra, sestavený s patchemi fsync. V Ubuntu 18.04 a 19.04 lze použít PPA repozitář s experimentálními jádry linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Při použití jádra s podporou fsync se při spuštění Proton 4.11 v konzole zobrazí zpráva "fsync: up and running". Fsync lze vynuceně vypnout pomocí příznaku PROTON_NO_FSYNC=1.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster