Valve propone cambios faciles de usar en el kernel de Linux

linux

Linux nunca ha sido una plataforma de juegos de moda. Valve creador del motor y la red de juegos Steam siempre ha querido que Linux reemplace a Windows como la plataforma de juegos para PC

De hecho, Gabe Newell, CEO de Valve, dijo una vez: " Linux es el futuro de los juegos ". Eso no sucedió, pero Valve no se rindió con Linux . Ahora, Valve se está duplicando en Linux, al proponer cambios en el kernel de Linux para que sea más amigable con los juegos.

Para darle algunos antecedentes, Newell se volvió amargo con Windows, con el lanzamiento de Windows 8, declarando, " Windows 8 es una catástrofe para todos en el espacio de la PC " . Al año siguiente, Newell dijo: "Linux es el futuro de los juegos para los jugadores en el cliente también, porque, además de que Microsoft se está moviendo hacia un estilo de computación más cerrado ... Los sistemas cerrados están en desacuerdo con la evolución de los juegos ".

Entonces, Valve, bajo su liderazgo, comenzó a construir " Steam Machines " . Estas eran PC y consolas para juegos Linux. Pero estos nunca despegaron. Tardaron en llegar al mercado. Y, como dijo Frank Azor, cofundador de Alienware , la división de juegos de Dell y uno de los primeros partidarios de Steam Machine, " Microsoft aprendió una lección muy valiosa , muchas lecciones valiosas, con Windows 8 e intentó corregirlas con Windows 10. Está más centrado en el jugador ".

Mientras que las máquinas Steam se quedaron sin vapor, Valve cambió su curso de juego Linux. En lugar de portar juegos a Linux, usan Wine para permitir a los jugadores ejecutar juegos de Windows en Linux. Wine es un proyecto de código abierto que implementa la interfaz de programación de aplicaciones (API) de Windows sobre la familia de sistemas operativos Unix y Linux. Funciona traduciendo llamadas API de Windows a llamadas POSIX sobre la marcha. Con Wine, puede ejecutar muchas aplicaciones de Windows en Linux o macOS.

Pero los juegos, que exigen mucho del hardware, son difíciles de ejecutar en Wine. Valve abordó esto lanzando una versión beta de Steam Play que incluye una versión amigable para los jugadores de Wine: Proton . También se implementó DXVK . Esto traduce las llamadas de Windows Direct3D 10/11 en llamadas POSIX. Todo esto se combina para permitirle ejecutar aplicaciones 3D, no solo juegos, en Linux con Proton.

Si bien esto ayudó mucho, todavía había problemas de rendimiento. Entonces, en las notas de lanzamiento de la última edición de Proton, Valve anunció que proponía cambios en el kernel de Linux para que Linux sea más amigable con el juego.

Esto incluye un reemplazo experimental para esync , que mejora el rendimiento con juegos multiproceso o cualquier aplicación que empuje la CPU. Pero esync vino con problemas potenciales. Debido a que se basa en la funcionalidad eventfd () del kernel, esync necesita una configuración especial y puede causar problemas de agotamiento del descriptor de archivos en aplicaciones que requieren mucho evento.

Entonces, Valve propone cambios en el kernel de Linux . Esto extenderá la llamada al sistema futex () (bloqueo rápido del espacio del usuario) para exponer el bit adicional de la funcionalidad central necesaria para admitir la sincronización óptima del grupo de subprocesos. Proton 4.11 incluye el parche fsync, que aprovechará esta nueva funcionalidad del kernel de Linux para reemplazar esync cuando sea compatible.

En la solicitud de parche, Gabriel Krisman Bertazi, ingeniero de software de Collabora y desarrollador de kernel, agregó: "También estamos proponiendo modificaciones a glibc y libpthread para que esta característica esté disponible para aplicaciones multiproceso nativas de Linux que usan libpthread, que pueden beneficiarse del comportamiento de esperar en cualquiera de un grupo de futexes ".

¿Cuánto impulso recibirías? Según Bertazi, el uso de "futexes en nuestro caso de uso de Wine redujo la utilización de la CPU en un 4% para el juego Beat Saber y en un 1,5% para el juego Shadow of Tomb Raider, ambos corriendo sobre Proton (una solución basada en el vino para la emulación de Windows) , en comparación con la interfaz eventfd ".

Hasta ahora, la comunidad del kernel de Linux parece aceptar esta propuesta. Los únicos comentarios hasta ahora han sido limpiar el parche propuesto.

Valve está publicando parches glibc de prueba de concepto para su revisión y discusión aguas arriba. Estos exponen la funcionalidad del kernel correspondiente como parte de la biblioteca pthread . Valve cree que si esta característica (o un equivalente) se adoptara en sentido ascendente, "lograríamos ganancias de eficiencia al adoptarla en aplicaciones nativas de subprocesos masivos como Steam y el motor Source 2".

Fecha actualización el 2021-08-02. Fecha publicación el 2019-08-02. Categoría: linux Autor: Oscar olg Mapa del sitio Fuente: zdnet Version movil