El código base de Wine, que se utilizará para compilar la versión 10.15 en una semana, ahora incluye compatibilidad con el controlador ntsync, que puede mejorar significativamente el rendimiento de los juegos de Windows ejecutados con Wine. Este controlador forma parte del kernel de Linux desde la versión 6.14 e implementa el dispositivo de caracteres /dev/ntsync y un conjunto de primitivas de sincronización utilizadas en el kernel de Windows NT.
Se logran mejoras significativas de rendimiento al eliminar la sobrecarga asociada con las implementaciones de RPC en el espacio de usuario. Por ejemplo, al usar el controlador ntsync en comparación con la implementación en el espacio de usuario de las primitivas de sincronización NT, los FPS máximos en Dirt 3 aumentaron un 678%, en Resident Evil 2 un 196%, en Tiny Tina's Wonderlands un 177%, en Lara Croft: Temple of Osiris un 131%, en Call of Juarez un 125%, en The Crew un 96%, en Forza Horizon 5 un 48% y en Anger Foot un 43%.
Para usar primitivas de sincronización optimizadas en Wine, debe habilitar el módulo de kernel ntsync, que está deshabilitado por defecto. Para activarlo, puede agregar el archivo de configuración /etc/modules-load.d/ntsync.conf que contiene la línea "ntsync" y reiniciar el sistema, o cargar el módulo manualmente con el comando "sudo modprobe ntsync". Se requiere al menos el kernel de Linux 6.14 para su funcionamiento.
Para asegurarse de que ntsync funcione correctamente, necesita ejecutar algo en Wine. Por ejemplo, simplemente ejecute "winecfg" y luego "lsof /dev/ntsync" y asegúrese de que la salida muestre los procesos de Wine que usan ntsync. Por ejemplo: $ lsof /dev/ntsync COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME start.exe 658466 user 12r CHR 10,260 0t0 630 /dev/ntsync services. 658474 user 11r CHR 10,260 0t0 630 /dev/ntsync explorer. /dev/ntsync plugplay /dev/ntsync winecfg.e 658484 user 11r CHR 10,260 0t0 630 /dev/ntsync
Fuente: opennet.ru
