Valve stel Proton 4.11 vry, 'n suite om Windows-speletjies op Linux te laat loop

Valve Maatskappy gepubliseer Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Proton 4.11, основанного Π½Π° Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Wine ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° обСспСчСниС запуска Π² Linux ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданных для Windows ΠΈ прСдставлСнных Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Steam. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° versprei onder BSD-lisensie. Sodra hulle gereed is, word veranderinge wat in Proton ontwikkel is, oorgedra na die oorspronklike Wine en verwante projekte, soos DXVK en vkd3d.

Met Proton kan jy direk met Windows-speletjietoepassings in die Steam Linux-kliΓ«nt hardloop. Die pakket bevat 'n implementering van DirectX 10/11 (gebaseer op DXVK) en 12 (gebaseer op vkd3d) wat werk deur DirectX-oproepe na die Vulkan API te vertaal, bied verbeterde ondersteuning vir speletjiebeheerders en die vermoΓ« om volskermmodus te gebruik, ongeag die skermresolusies wat in speletjies ondersteun word. In vergelyking met die oorspronklike Wyn, is die prestasie van multi-threaded speletjies aansienlik verhoog danksy die toepassing van pleisters "esyncΒ» (Eventfd Synchronization) ΠΈΠ»ΠΈ Β«futex/fsyncΒ».

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

    Valve stel Proton 4.11 vry, 'n suite om Windows-speletjies op Linux te laat loop

  • Tussenlaag 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 трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ядро с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΡƒΠ»Π° синхронизации ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ fsinc. Для Arch Linux Π² AUR ΡƒΠΆΠ΅ gepubliseer Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ядра, собранный с ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ 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.

Bron: opennet.ru

Voeg 'n opmerking