Confused on Steam Play and Proton? Be sure to check out our guide.
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.
20 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.
13 comments Subscribe

based 24 hours ago
Most of all I hope this fixes the Forza Horizon 4 & 5 stuttering
elmapul 23 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 21 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 21 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 20 hours ago
Nice! I've been waiting for a while for this.
LoudTechie 18 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.
scaine 15 hours ago
View PC info
  • Contributing Editor
  • Mega Supporter
The primary problem with kernel involvement remains: crashes.
I mean, sure... but when was the last time you had a game crash? I play a LOT of games, and an actual game crash, or worse, freeze? It's like once a year if that.
F.Ultra 11 hours ago
View PC info
  • Supporter
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.

Note that NTSync doesn't mean that any part of the game or WINE runs in the kernel so there are basically no added risk of kernel crashes here.
Shmerl 10 hours ago
Also, if there is a kernel bug, wider usage will uncover it sooner. So I don't worry about it being a big issue.


Last edited by Shmerl on 14 Jan 2025 at 2:02 am UTC
d3Xt3r 10 hours ago
Most of all I hope this fixes the Forza Horizon 4 & 5 stuttering

@based On what hardware? I play both games on my GPD Win Mini 2024 running Bazzite, and have zero stutters - I get a constant 60FPS on low (with FSR set to performance).
based 5 hours ago
@d3Xt3r I should have phrased it better, what I meant was PHYSICS stuttering - game runs smooth on my i7 9700 3060Ti as well but cars would just stop for quarter of a second which totally ruins the game for me.

Iirc it happened on my Deck as well
LoudTechie 4 hours ago
@F.Ultra
Something trying to imitate external(Windows) behavior still runs in the kernel.
Something will try to access an edge case and render the entire thing catatonic.
Ehvis 2 hours ago
View PC info
  • Supporter Plus
Something trying to imitate external(Windows) behavior still runs in the kernel.
Something will try to access an edge case and render the entire thing catatonic.

That applies to everything in the kernel and therefore every piece of software. There's a reason why these patches take so long to be accepted in the mainline kernel.
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