After waiting quite a while on it and some rewrites, it looks like the NTSYNC driver code to help Windows games running on Linux will be pulled in and enabled in the Linux kernel.
Developer Elizabeth Figura posted version 7 of the kernel patch back in December 2024. As a reminder, here's how they explained it:
The Wine project emulates the Windows API in user space. One particular part of that API, namely the NT synchronization primitives, have historically been implemented via RPC to a dedicated "kernel" process. However, more recent applications use these APIs more strenuously, and the overhead of RPC has become a bottleneck.
The NT synchronization APIs are too complex to implement on top of existing primitives without sacrificing correctness. Certain operations, such as NtPulseEvent() or the "wait-for-all" mode of NtWaitForMultipleObjects(), require direct control over the underlying wait queue, and implementing a wait queue sufficiently robust for Wine in user space is not possible. This proposed driver, therefore, implements the problematic interfaces directly in the Linux kernel.
This driver was presented at Linux Plumbers Conference 2023. For those further interested in the history of synchronization in Wine and past attempts to solve this problem in user space, a recording of the presentation can be viewed here:
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Direct Link
The performance uplift when using this versus the current upstream Wine could be pretty significant in some games. As Figura noted from the earlier patches, which are from different people on different hardware:
Game | Upstream | ntsync | improvement |
Anger Foot | 69 | 99 | 43% |
Call of Juarez | 99.8 | 224.1 | 125% |
Dirt 3 | 110.6 | 860.7 | 678% |
Forza Horizon 5 | 108 | 160 | 48% |
Lara Croft: Temple of Osiris | 141 | 326 | 131% |
Metro 2033 | 164.4 | 199.2 | 21% |
Resident Evil 2 | 26 | 77 | 196% |
The Crew | 26 | 51 | 96% |
Tiny Tina's Wonderlands | 130 | 360 | 177% |
Total War Saga: Troy | 109 | 146 | 34% |
Something to note is that this is aimed at replacing earlier solutions of esync and fsync, which did already improve performance, but this being in the kernel will give the improvements for everyone including eventually plain Wine as well as Valve's Proton.
Phoronix noted that they expect it will arrive in Linux kernel version 6.14 due out sometime in March. Going by other developer comments, it certainly seem like it will finally land.
wait... 860.7 fps? is there even an monitor with that refresh rate to confirm its was runing at that speed? probably is a old game but i doubt the performance would be comparable on windows
Doubt it but it serves as a benchmark :)
See more from me