Confused on Steam Play and Proton? Be sure to check out our guide.
Wine with futex2 / fsync?
Shmerl Jan 9, 2022
So futex2 now landed in Linux 5.16. But is it going to be used by Wine? I couldn't find actual commits for it in Wine or Wine staging. Is there some plan for when it will be added or who is going to do that work?
Shmerl Jan 9, 2022
Oh, oh. Looks like there is some trouble with futex2 and it flopped for Wine: https://bugs.winehq.org/show_bug.cgi?id=50281

Pretty disappointing after all these supposed benefits it promised.

Last edited by Shmerl on 9 January 2022 at 11:56 pm UTC
whizse Jan 10, 2022
The initial proposal, and I think the correct solution, was for "winesync":

Description: https://www.winehq.org/pipermail/wine-devel/2021-January/179219.html
Implementation: https://repo.or.cz/linux/zf.git/shortlog/refs/heads/winesync

AFAICT the new futex2 syscalls and the usage in Proton is a faster version of esync/fsync but with the same inherent problems.
Shmerl Jan 10, 2022
From the comments, neither solution is good enough and esync is better than fsync anyway when it does help. So why did they even bother pushing that to the kernel?

Last edited by Shmerl on 10 January 2022 at 12:53 am UTC
whizse Jan 10, 2022
Keep in mind that this was one part of a much larger changeset, the whole futex2 package, which still haven't been merged. Collabora figured they had a better chance to get things upstreamed piecemeal.

This particular syscall, futex_waitv can be quite beneficial in a lot of other circumstances, for native games too, as I understand it.

I would guess that Valve's plans are for short to medium term to improve fsync with this and the other futex2 changes and maybe winesync can be the long term solution?
Shmerl Jan 10, 2022
I guess we'll see, but from Zebediah's comment it sounds like there is no good solution in sight.
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


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.