Nuevas versiones de Wine 9.2 y Winlator 5.0. Se ha propuesto un controlador ntsync para el kernel de Linux

Se llevó a cabo un lanzamiento experimental de una implementación abierta de la API Win32: Wine 9.2. Desde el lanzamiento de 9.1, se han cerrado 14 informes de errores y se han realizado 213 cambios.

Los cambios más importantes:

  • El motor Wine Mono con la implementación de la plataforma .NET ha sido actualizado a la versión 9.0.0.
  • Soporte mejorado para la bandeja del sistema.
  • Se ha mejorado el manejo de excepciones en las plataformas ARM.
  • La compilación utiliza la macro YEAR2038 para utilizar el tipo time_t de 64 bits.
  • El controlador Winewayland.drv ha mejorado el manejo del cursor.
  • Se cierran los informes de errores relacionados con el funcionamiento de los juegos: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
  • Informes de errores cerrados relacionados con el funcionamiento de las aplicaciones: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, instalador de Microsoft Webview 2.

Además, se lanzó la aplicación Winlator 5.0 para Android, que proporciona un marco para los emuladores Wine y Box86/Box64 para ejecutar aplicaciones de Windows en la plataforma Android. Winlator implementa entornos Linux basados ​​en Ubuntu con Mesa3D, DXVK, D8VK y CNC DDraw, en los que las aplicaciones de Windows creadas para la arquitectura x86 se ejecutan en dispositivos ARM Android utilizando un emulador y Wine. La nueva versión mejora el administrador de tareas, mejora el rendimiento, agrega soporte para cambiar temas y mejora la compatibilidad con XInput.

También puede observar la publicación en la lista de correo del kernel de Linux del controlador ntsync, que implementa el dispositivo de caracteres /dev/ntsync y un conjunto de primitivas de sincronización utilizadas en el kernel de Windows NT. La implementación de tales primitivas a nivel del kernel puede mejorar significativamente el rendimiento de los juegos de Windows iniciados con Wine. Por ejemplo, cuando se utiliza el controlador ntsync, en comparación con la implementación de primitivas de sincronización NT en el espacio del usuario, el FPS máximo en el juego Dirt 3 aumentó en un 678%, en el juego Resident Evil 2, en un 196%, Tiny Tina's Wonderlands, en un 177%. , Lara Croft: Temple of Osiris - en un 131%, Call of Juarez - en un 125%, The Crew - en un 96%, Forza Horizon 5 - en un 48%, Anger Foot - en un 43%.

Se logran mejoras de rendimiento significativas al eliminar la sobrecarga asociada con la ejecución de RPC en el espacio del usuario. La creación de un controlador separado para el kernel de Linux se explica por la dificultad de implementar correctamente la API de sincronización de NT sobre las primitivas existentes en el kernel, por ejemplo, la operación NtPulseEvent() y el modo "esperar a todos" en NtWaitForMultipleObjects( ) requieren una gestión directa de la cola de espera. Los parches con el controlador ntsync todavía tienen estado RFC, es decir. Se han presentado para discusión y revisión por parte de la comunidad, pero aún no son elegibles para su adopción en el kernel principal de Linux.

Fuente: opennet.ru

Añadir un comentario