Valve releases Proton 4.11, in suite foar it ΓΊtfieren fan Windows-spultsjes op Linux

Valve Company publisearre Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Proton 4.11, basearre op 'e Γ»ntwikkelingen fan it Wine-projekt en rjochte op it garandearjen fan de lansearring fan gaming-applikaasjes makke foar Windows en presintearre yn' e Steam-katalogus op Linux. Project Γ»ntwikkelings fersprieding Γ»nder BSD lisinsje. As se klear binne, wurde de wizigingen Γ»ntwikkele yn Proton oerbrocht nei de orizjinele Wine en relatearre projekten, lykas DXVK en vkd3d.

Proton lit jo direkt Windows-spielapplikaasjes ΓΊtfiere yn 'e Steam Linux-kliΓ―nt. It pakket omfettet in ymplemintaasje fan DirectX 10/11 (basearre op DXVK) en 12 (basearre op vkd3d), wurkje fia oersetting fan DirectX-oproppen nei de Vulkan API, biedt ferbettere stipe foar spielkontrΓ΄lers en de mooglikheid om folslein skermmodus te brΓ»ken, nettsjinsteande de skermresolΓΊsjes dy't wurde stipe yn spultsjes. Yn ferliking mei de orizjinele Wine binne de prestaasjes fan spultsjes mei meardere threaden signifikant ferhege troch it brΓ»ken fan patches "esyncΒ» (Eventfd Synchronization) ΠΈΠ»ΠΈ Β«futex/fsyncΒ».

haad измСнСния в 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 ΡƒΠΆΠ΅ oerdroegen для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основной состав ядра Linux ΠΈ glibc. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² основной состав ядра, поэтому Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ fΓͺstigje ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ядро с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²;

    Valve releases Proton 4.11, in suite foar it ΓΊtfieren fan Windows-spultsjes op Linux

  • Interlayer DXVK (рСализация DXGI, Direct3D 10 ΠΈ Direct3D 11 ΠΏΠΎΠ²Π΅Ρ€Ρ… API Vulkan) ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π΄ΠΎ вСрсии 1.3en 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 ΡƒΠΆΠ΅ publisearre Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ядра, собранный с ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ 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.

Boarne: opennet.ru

Add a comment