Steam propone cambios en el kernel de Linux para mejorar el rendimiento de los videojuegos
Ayer nos hicimos eco de la noticia de que Valve sigue mejorando Proton, una implementación que se basa en Wine para poder llevar los videojuegos nativos de Microsoft Windows al cliente Stream Play para Linux. Valve no es como otras compañías y no se centra solo en todo lo que rodea a Microsoft, y por eso su plataforma de videojuegos Steam ha propuesto que se hagan unos cambios en el kernel que mejorarían la experiencia de usuario al jugar en Linux.
La nueva versión de Proton, entre otras cosas, incluye una función que reduce el consumo general de la CPU para juegos multi-thread. Los desarrolladores de Steam dicen que han forzado “un escenario vinculado a la CPU en una máquina de gama alta al reducir los detalles gráficos al mínimo” para ver la diferencia entre la versión existente de Proton y una que incluye la mejora multi-thread. Tal y como vemos en la siguiente imagen, la carga de la CPU se reduce en un 10% en el juego Tomb Raider.
Los juegos en Linux funcionarían mejor si el kernel adopta los cambios propuestos por Steam
La nueva versión de Proton también incluye una sustitución experimental para esync, una función más antigua de WINE que podría aumentar el rendimiento multi-thread en algunos juegos. Pero los desarrolladores de Steam dicen que esta función llega con una parte a compensar: confía en la funcionalidad del kernel de Linux efentfd(). El uso de esta funcionalidad puede causar cierto agotamiento del descriptor de archivos en aplicaciones que requieren muchos recursos y puede dar lugar a un giro extraño en el núcleo. Fue entonces cuando Steam ideó algunos cambios en el kernel de Linux para extender la llamada al sistema futex() para exponer la funcionalidad central adicional que podría usarse para admitir la sincronización óptima del grupo de subprocesos.