Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

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 Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   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.

Article taken from GamingOnLinux.com.
14 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
You can also find comments for this article on social media: Mastodon
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
6 comments Subscribe

based 8 hours ago
Most of all I hope this fixes the Forza Horizon 4 & 5 stuttering
elmapul 7 hours ago
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
hardpenguin 5 hours ago
Who would have thought Linux kernel would ever go in this direction, huh!

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 :)
rivalary 5 hours ago
  • New User
Apparently, these performance improvements are already being realised (for the most part) by esync and fsync, which Proton has enabled. There are some differences, but people should curb their expectations as far as game performance improvements go.
Shmerl 5 hours ago
Nice! I've been waiting for a while for this.
LoudTechie 2 hours ago
I see little hope for it.
The primary problem with kernel involvement remains: crashes.
Wine can't help, but be a really crashy program.
In the kernel a crash means a reboot, while in user space it means a signal: making it recoverable.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register