New versions of Wine 9.2 and Winlator 5.0. An ntsync driver has been proposed for the Linux kernel

An experimental release of an open implementation of the Win32 API - Wine 9.2 - took place. Since the release of 9.1, 14 bug reports have been closed and 213 changes have been made.

The most important changes:

  • The Wine Mono engine with .NET platform implementation has been updated to release 9.0.0.
  • Improved system tray support.
  • Exception handling has been improved on ARM platforms.
  • The build uses the YEAR2038 macro to use the 64-bit time_t type.
  • The winewayland.drv driver has improved cursor handling.
  • Error reports related to the operation of games are closed: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
  • Closed error reports related to the operation of applications: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, Microsoft Webview 2 installer.

In addition, the Winlator 5.0 Android application has been released, providing a framework for Wine and Box86/Box64 emulators for running Windows applications on the Android platform. Winlator deploys Ubuntu-based Linux environments with Mesa3D, DXVK, D8VK and CNC DDraw, in which Windows applications built for the x86 architecture are executed on ARM Android devices using an emulator and Wine. The new version improves the task manager, improves performance, adds support for changing themes, and improves compatibility with XInput.

You can also note the publication on the Linux kernel mailing list of the ntsync driver, which implements the /dev/ntsync character device and a set of synchronization primitives used in the Windows NT kernel. The implementation of such primitives at the kernel level can significantly improve the performance of Windows games launched using Wine. For example, when using the ntsync driver, compared to implementing NT synchronization primitives in user space, the maximum FPS in the game Dirt 3 increased by 678%, in the game Resident Evil 2 - by 196%, Tiny Tina's Wonderlands - by 177%, Lara Croft: Temple of Osiris - by 131%, Call of Juarez - by 125%, The Crew - by 96%, Forza Horizon 5 - by 48%, Anger Foot - by 43%.

Significant performance gains are achieved by eliminating the overhead associated with running RPC in user space. Creating a separate driver for the Linux kernel is explained by the difficulty of correctly implementing the NT synchronization API on top of existing primitives in the kernel, for example, the NtPulseEvent() operation and the β€œwait-for-all” mode in NtWaitForMultipleObjects() require direct management of the wait queue. Patches with the ntsync driver still have RFC status, i.e. have been put up for discussion and review by the community, but are not yet eligible for adoption into the main Linux kernel.

Source: opennet.ru

Add a comment