Valve lanza Proton 4.11, unha suite para executar xogos de Windows en Linux

Compañía de válvulas publicado nova rama do proxecto Protón 4.11, baseada nos desenvolvementos do proxecto Wine e dirixida a garantir o lanzamento de aplicacións de xogo creadas para Windows e presentadas no catálogo de Steam en Linux. Desenvolvemento do proxecto espallamento baixo licenza BSD. A medida que están listos, os cambios desenvolvidos en Proton transfírense ao Wine orixinal e proxectos relacionados, como DXVK e vkd3d.

Proton permítelle executar directamente aplicacións de xogos só para Windows no cliente Steam Linux. O paquete inclúe unha implementación de DirectX 10/11 (baseada en DXVK) e 12 (baseado en vkd3d), que traballa mediante a tradución de chamadas de DirectX á API de Vulkan, ofrece un soporte mellorado para os controladores de xogos e a capacidade de usar o modo de pantalla completa independentemente das resolucións de pantalla admitidas nos xogos. En comparación co Wine orixinal, o rendemento dos xogos multifíos aumentou significativamente grazas ao uso de parches ".sincronizar"(Sincronización de Eventfd) ou "futex/fsync".

O principal cambios en Proton 4.11:

  • Realizouse a sincronización coa base de código Wine 4.11, da que se trasladaron máis de 3300 cambios (a rama anterior baseábase en wine 4.2). Movéronse 154 parches de Proton 4.2 e agora están incluídos no paquete principal de Wine;
  • Engadiuse soporte experimental para as primitivas de sincronización baseadas na chamada ao sistema futex(), o que reduce a carga da CPU en comparación co esync. Ademais, a nova implementación resolve problemas coa necesidade de utilizar configuracións especiais para a sincronización e o posible esgotamento dos descritores de ficheiros dispoñibles.

    A esencia do traballo que se está a facer é ampliar a funcionalidade da chamada ao sistema futex() estándar no núcleo de Linux coas capacidades necesarias para a sincronización óptima do grupo de fíos. Xa están os parches compatibles coa marca FUTEX_WAIT_MULTIPLE necesarios para Proton transferido para a súa inclusión no núcleo principal de Linux e glibc. Os cambios preparados aínda non están incluídos no núcleo principal, polo que de momento é necesario establecer un núcleo especial con soporte para estes primitivos;

    Valve lanza Proton 4.11, unha suite para executar xogos de Windows en Linux

  • Capa intermedia DXVK (implementación de DXGI, Direct3D 10 e Direct3D 11 enriba da API Vulkan) actualizada á versión 1.3E D9VK (unha implementación experimental de Direct3D 9 enriba de Vulkan) ata a versión 0.13f. Para activar a compatibilidade con D9VK en Proton, use a marca PROTON_USE_D9VK;
  • A frecuencia de actualización do monitor actual transmítese aos xogos;
  • Fixéronse correccións para xestionar o foco do rato e a xestión de ventás;
  • Corrixiuse o atraso de entrada e os problemas coa compatibilidade de vibración para os joysticks que se producían nalgúns xogos, especialmente nos xogos baseados no motor Unity;
  • Engadido soporte para a última versión de OpenVR SDK;
  • Actualizáronse os compoñentes de FAudio con implementación de bibliotecas de sons DirectX (API XAudio2, X3DAudio, XAPO e XACT3) para a versión 19.07;
  • Resolvéronse os problemas co subsistema de rede nos xogos de GameMaker;
  • Moitos módulos Wine constrúense agora como ficheiros Windows PE en lugar de bibliotecas de Linux. A medida que avanza o traballo nesta área, o uso de PE axudará a algúns sistemas DRM e anti-trampas. Se usas compilacións personalizadas de Proton, probablemente necesites recrear a máquina virtual Vagrant para construír os ficheiros PE.

Antes de que os parches de Valve sexan adoptados no núcleo principal de Linux, usar futex() en lugar de esync require a instalación dun núcleo especial con soporte para o grupo de sincronización de fíos implementado nun conxunto de parches. fsync. Xa para Arch Linux en AUR publicado paquete do núcleo preparado con parches fsync. En Ubuntu 18.04 e 19.04, pode usar o PPA do núcleo experimental linux-mfutex-valve (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Se tes un núcleo con soporte para fsync, cando executes Proton 4.11, a consola mostrará a mensaxe "fsync: up and running". Podes forzar a desactivación de fsync usando a marca PROTON_NO_FSYNC=1.

Fonte: opennet.ru

Engadir un comentario