Liberada la nueva versión de Proton 4.11, el proyecto para ejecutar juegos de Windows en Linux de Steam
Valve ha publicado una nueva rama del proyecto Proton 4.11, la cual esta basada en los desarrollos del proyecto Wine y dirigida a garantizar el lanzamiento en Linux de aplicaciones de juegos creadas para Windows y presentadas en el catálogo de Steam. Los desarrollos del proyecto se distribuyen bajo la licencia BSD. Tan pronto como estén listos, los cambios desarrollados en Proton se transfieren al Wine original y proyectos relacionados, como DXVK y vkd3d.
Proton permite ejecutar juegos que solo están disponibles para Windows directamente en el cliente de Steam para Linux . El paquete incluye la implementación de DirectX 10/11 (basado en DXVK ) y 12 (basado en vkd3d ), trabajando a través de la traducción de las llamadas de DirectX a la API de Vulkan, brinda un soporte mejorado para los controladores de juegos y la capacidad de usar el modo de pantalla completa.
Principales novedades de Proton 4.11
Con la liberación de esta nueva rama, Proton ha pasado a la sincronización con el código base Wine 4.11, desde el cual se transfirieron más de 3300 cambios (la rama anterior se basó en wine 4.2). Se han movido 154 parches de Proton 4.2 aguas arriba y ahora se incluyen en la parte principal de Wine.
Como principal novedad los desarrolladores destacan la adición del soporte experimental para primitivas de sincronización basadas en la llamada al sistema futex(), lo que reduce la carga de la CPU en comparación con esync.
Además, la nueva implementación resuelve problemas con la necesidad de usar configuraciones especiales para esync y el posible agotamiento de los descriptores de archivo disponibles.
Los parches con el soporte del indicador FUTEX_WAIT_MULTIPLE requerido para Proton ya se han transferido para su inclusión en el núcleo principal de Linux y Glibc .
Los cambios preparados aún no están incluidos en la composición principal del núcleo, por lo que en este momento es necesario instalar un núcleo especial con soporte para estas primitivas.
Ademas la capa DXVK (la implementación de DXGI, Direct3D 10 y Direct3D 11 sobre la API de Vulkan) se actualizó a la nueva versión 1.3.
Mientras que para D9VK (implementación experimental de Direct3D 9 sobre la Vulkan) a la versión 0.13f. Para habilitar el soporte D9VK en Proton, use el indicador PROTON_USE_D9VK.
Muchos módulos Wine ahora se crean como archivos de Windows PE, en lugar de bibliotecas de Linux. A medida que avanza el trabajo en esta área, el uso de PE ayudará a algunos sistemas DRM y anti-trampas.
De los demás cambios que se destacan de esta nueva rama:
- Se proporciona la transferencia de la frecuencia de actualización del monitor actual a los juegos
- Se realizaron las correcciones relacionadas con el procesamiento del cursor del mouse y la administración de ventanas
- Se corrigieron retrasos de entrada y problemas con el soporte de vibración para joysticks, manifestado en algunos juegos, especialmente en juegos en el motor de Unity
- Se agregó soporte para la última versión de OpenVR SDK
- Componentes de FAudio con implementación de la biblioteca de sonido DirectX (API XAudio2, X3DAudio, XAPO y XACT3) actualizados a la versión 19.07
- Problemas resueltos con el subsistema de red en juegos en GameMaker
Antes de adoptar los parches de Valve en el núcleo principal de Linux, para usar futex () en lugar de esync, se debe instalar un núcleo especial que admita el grupo de sincronización de subprocesos implementado en el conjunto de parches fsync.
En Ubuntu 18.04 y 19.04, se puede usar un repositorio PPA con núcleos experimentales linux-mfutex-valve
El cual se puede añadir con los siguientes comandos:
sudo add-apt-repository ppa:valve-experimental/kernel-bionic -y sudo apt-get install linux-mfutex-valve
¿Como activar Proton en Steam?
Para ello deben abrir el cliente de Steam y haga clic en Steam en la esquina superior izquierda y luego en Configuración.
En la sección de “Cuenta” encontraran la opción de registrarse para la versión beta. Al hacer esto y aceptar se cerrará el cliente de Steam y descargará la versión beta (una nueva instalación).
Al finalizar y después de acceder a su cuenta vuelven a la misma ruta para comprobar que están utilizando ya Proton.