Valve dia namoaka Proton 4.11, suite ho an'ny lalao Windows amin'ny Linux

Valve Company namoaka Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Proton 4.11, mifototra amin'ny fivoaran'ny tetikasa Wine ary mikendry ny hiantohana ny fanombohana ny fampiharana lalao noforonina ho an'ny Windows ary aseho ao amin'ny katalaogin'ny Steam amin'ny Linux. Fampandrosoana ny tetikasa mihanaka eo ambanin'ny lisansa BSD. Raha vantany vao vonona izy ireo, ny fanovana novolavolaina tao amin'ny Proton dia nafindra tany amin'ny Divay tany am-boalohany sy ireo tetikasa mifandraika amin'izany, toy ny DXVK sy vkd3d.

Ny Proton dia ahafahanao mitantana mivantana ny rindranasa lalao Windows irery ao amin'ny mpanjifa Steam Linux. Ny fonosana dia misy fampiharana DirectX 10/11 (miorina amin'ny DXVKary 12 (miaraka amin'ny vkd3d), miasa amin'ny alΓ lan'ny fandikana ny antso DirectX mankany amin'ny Vulkan API, manome fanohanana nohatsaraina ho an'ny mpanara-maso ny lalao sy ny fahafahana mampiasa ny maodely ecran manontolo na inona na inona fanapahan-kevitry ny efijery tohanana amin'ny lalao. Raha ampitahaina amin'ny divay tany am-boalohany dia nitombo be ny fahombiazan'ny lalao misy kofehy maro noho ny fampiasana patch "esyncΒ» (Eventfd Synchronization) ΠΈΠ»ΠΈ Β«futex/fsyncΒ».

tena измСнСния в Proton 4.11:

  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° синхронизация с ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Wine 4.11, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСнСсСно Π±ΠΎΠ»Π΅Π΅ 3300 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΏΡ€ΠΎΡˆΠ»Π°Ρ Π²Π΅Ρ‚ΠΊΠ° ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ Π½Π° wine 4.2). 154 ΠΏΠ°Ρ‚Ρ‡Π° ΠΈΠ· Proton 4.2 Π±Ρ‹Π»ΠΈ пСрСнСсСны upstream ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ входят Π² основной состав Wine;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² синхронизации Π½Π° основС систСмного Π²Ρ‹Π·ΠΎΠ²Π° futex(), которая позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° CPU ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с esync. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, новая рСализация Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ использования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… настроСк для esync ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ исчСрпаниСм доступных Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскрипторов.

    Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ систСмного Π²Ρ‹Π·ΠΎΠ²Π° futex() Π² ядрС Linux возмоТностями, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ синхронизации ΠΏΡƒΠ»Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ΠŸΠ°Ρ‚Ρ‡ΠΈ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для Proton ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ„Π»Π°Π³Π° FUTEX_WAIT_MULTIPLE ΡƒΠΆΠ΅ nafindra для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основной состав ядра Linux ΠΈ glibc. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² основной состав ядра, поэтому Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ mametraka ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ядро с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²;

    Valve dia namoaka Proton 4.11, suite ho an'ny lalao Windows amin'ny Linux

  • Interlayer DXVK (рСализация DXGI, Direct3D 10 ΠΈ Direct3D 11 ΠΏΠΎΠ²Π΅Ρ€Ρ… API Vulkan) ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π΄ΠΎ вСрсии 1.3ary D9VK (ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ рСализация Direct3D 9 ΠΏΠΎΠ²Π΅Ρ€Ρ… Vulkan) Π΄ΠΎ вСрсии 0.13f. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ D9VK Π² Proton слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ PROTON_USE_D9VK;
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ³Ρ€Π°ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ частоты обновлСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°;
  • ВнСсСны исправлСния, связанныС с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ фокуса курсора ΠΌΡ‹ΡˆΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π°ΠΌΠΈ;
  • УстранСны Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ для дТойстиков, ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…, особСнно Π² ΠΈΠ³Ρ€Π°Ρ… Π½Π° Π΄Π²ΠΈΠΆΠΊΠ΅ Unity;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° послСднСй вСрсии OpenVR SDK;
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ FAudio с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ DirectX (API XAudio2, X3DAudio, XAPO ΠΈ XACT3) ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄ΠΎ выпуска 19.07;
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с сСтСвой подсистСмой Π² ΠΈΠ³Ρ€Π°Ρ… Π½Π° GameMaker;
  • МногиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Wine Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Windows PE-Ρ„Π°ΠΉΠ»Ρ‹, вмСсто Linux-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. По ΠΌΠ΅Ρ€Π΅ продвиТСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² этой области использованиС PE ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ систСмам DRM ΠΈ Π°Π½Ρ‚ΠΈΡ‡ΠΈΡ‚Π°ΠΌ. Π’ случаС примСнСния собствСнноручных сборок Proton, скорСС всСго понадобится ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Vagrant, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ PE Ρ„Π°ΠΉΠ»Ρ‹.

Π”ΠΎ принятия Π² основной состав ядра Linux ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Valve для использования futex() вмСсто esync трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ядро с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΡƒΠ»Π° синхронизации ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ fsync. Для Arch Linux Π² AUR ΡƒΠΆΠ΅ namoaka Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ядра, собранный с ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ 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.

Source: opennet.ru

Add a comment