Now that the full-functioning NTSYNC driver is ready for Linux 6.14 for better emulating the Windows NT synchronization primitives on Linux, the merge request has been opened for upstream Wine to land the NTSYNC integration on its side for in-process synchronization.
Elizabeth Figura of CodeWeavers who led the work on the NTSYNC kernel driver opened the merge request today for landing the support within Wine for making use of the NTSYNC Linux kernel driver for in-process synchronization.
Figura commented in today’s pull request for landing the NTSYNC integration:
“This introduces a faster implementation of signal and wait operations on NT events, semaphores, and mutexes, which improves performance to native levels for a wide variety of games and other applications.
The goal here is similar to the long-standing out-of-tree “esync” and “fsync” patch sets, but without the flaws that make those patch sets not upstreamable.
The Linux “ntsync” driver is not currently released. It has been accepted into the trunk Linux tree for 6.14, so barring any extraordinary circumstances, the API is frozen and it will be released in its current form in about 2 months. Since it has passed all relevant reviewers on the kernel side, and the API is all but released, it seems there is no reason any more not to submit the Wine
side to match.”
The timing is too bad that the NTSYNC driver wasn’t wrapped up for Linux v6.13 as now the Wine integration missed the recent Wine 10.0 stable release with its feature cut-off having been early December. But at least this integration will hopefully soon land in upstream Wine to make it much easier for those riding bi-weekly Wine development releases to try out NTSYNC support when using Linux 6.14 Git. Similarly, the NTSYNC will presumably be soon ready to go within a future Valve Steam Play (Proton) update.
This merge request is where that Wine integration code is awaiting review. It consists of two thousand lines of new code across 25 patches.