Valve ha rilasciato Proton 4.11, un pacchetto per eseguire giochi Windows su Linux

Azienda Valve ha pubblicato un nuovo ramo del progetto Proton 4.11, basato sui progressi del progetto Wine e rivolto a garantire l'esecuzione su Linux di applicazioni di gioco create per Windows e presentate nel catalogo Steam. I progressi del progetto sono distribuiti sono sotto licenza BSD. Man mano che diventano disponibili, le modifiche sviluppate in Proton vengono trasferite nel Wine originale e nei progetti correlati, come DXVK e vkd3d.

Proton consente di avviare direttamente nel client Steam di Linux applicazioni di gioco fornite solo per Windows. Il pacchetto include un'implementazione di DirectX 10/11 (basata su DXVK) e 12 (basata su vkd3d), funzionano tramite la traduzione delle chiamate DirectX in API Vulkan, offre un miglior supporto per i controller di gioco e la possibilità di utilizzare la modalità schermo intero indipendentemente dalle risoluzioni dello schermo supportate nei giochi. Rispetto a Wine originale, è stata significativamente aumentata la performance dei giochi multithreading grazie all'uso di patch "esync» (Eventfd Synchronization) o «futex/fsync».

Principali modifiche in Proton 4.11:

  • È stata effettuata la sincronizzazione con la base di codice Wine 4.11, dalla quale sono stati trasferiti oltre 3300 cambiamenti (il ramo precedente era basato su wine 4.2). 154 patch di Proton 4.2 sono state trasferite upstream e ora fanno parte del core di Wine;
  • È stata aggiunta il supporto sperimentale per primitive di sincronizzazione basate sulla chiamata di sistema futex(), che consente di ridurre il carico sulla CPU rispetto a esync. Inoltre, la nuova implementazione risolve problemi legati alla necessità di utilizzare impostazioni speciali per esync e la possibile esaurimento dei descrittori di file disponibili.

    L'obiettivo del lavoro svolto è ampliare la funzionalità della chiamata di sistema futex() nel kernel Linux con caratteristiche necessarie per la sincronizzazione ottimale di un pool di thread. Le patch con il supporto necessario per Proton del flag FUTEX_WAIT_MULTIPLE sono già sono state trasferite per essere incluse nel core del kernel Linux e Glibc. Le modifiche preparate non sono ancora incluse nel core, quindi al momento è necessario installare un kernel speciale con supporto per queste primitive;

    Valve ha rilasciato Proton 4.11, un pacchetto per eseguire giochi Windows su Linux
  • Il layer DXVK (implementazione DXGI, Direct3D 10 e Direct3D 11 sopra API Vulkan) è stato aggiornato alla versione 1.3, ma D9VK (implementazione sperimentale di Direct3D 9 sopra Vulkan) alla versione 0.13f. Per abilitare il supporto D9VK in Proton è necessario utilizzare il flag PROTON_USE_D9VK;
  • È stata garantita la trasmissione agli giochi della frequenza di aggiornamento corrente del monitor;
  • Sono state apportate correzioni relative alla gestione della messa a fuoco del cursore del mouse e alla gestione delle finestre;
  • Sono stati risolti ritardi nell'input e problemi di supporto per la vibrazione dei controller, che si verificano in alcuni giochi, specialmente in quelli sviluppati con il motore Unity;
  • È stato aggiunto il supporto per l'ultima versione dell'OpenVR SDK;
  • I componenti FAudio con l'implementazione delle librerie sonore DirectX (API XAudio2, X3DAudio, XAPO e XACT3) sono stati aggiornati alla versione 19.07;
  • Risolti problemi con il sottosistema di rete nei giochi su GameMaker;
  • Molti moduli Wine ora vengono compilati come file PE di Windows, invece di librerie Linux. Con l'avanzare dei lavori in quest'area, l'uso di PE aiuterà alcuni sistemi DRM e anti-cheat. Se si utilizzano compilazioni personalizzate di Proton, è probabile che sia necessario ricreare la macchina virtuale Vagrant per compilare i file PE.

Prima dell'inclusione nel kernel Linux dei patch di Valve per utilizzare futex() anziché esync, è necessario installare un kernel speciale con supporto per il pool di sincronizzazione dei thread, implementato nel set di patch. fsync. Per Arch Linux è già disponibile pubblicato un pacchetto kernel pronto, compilato con patch fsync. Su Ubuntu 18.04 e 19.04 è possibile utilizzare il repository PPA con i kernel sperimentali linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Se si dispone di un kernel con supporto fsync, all'avvio di Proton 4.11 verrà visualizzato un messaggio in console "fsync: up and running". È possibile disabilitare fsync forzatamente utilizzando il flag PROTON_NO_FSYNC=1.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster