Proposed Ntsync Driver for Linux Kernel and Updates to Wine 9.2 and Winlator 5.0 Released

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

The most important changes:


  • Engine Wine Mono with the implementation of the .NET platform 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.

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

You can also note publication on the Linux kernel mailing list for 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.

Thanks for reading: