Wine 11 rewrites how Linux runs Windows games at the kernel level, and the speed gains are massive

https://lemmy.world/post/44699522

Wine 11 rewrites how Linux runs Windows games at the kernel level, and the speed gains are massive - Lemmy.World

Lemmy

What is often overlooked

Those benchmarks compare Wine NTSYNC against upstream vanilla Wine, which means there’s no fsync or esync either. Gamers who use fsync are not going to see such a leap in performance in most games.

Ntsync is great and there will be performance improvement. But not exactly massive

What’s massive is the need for clicks
That’s not the only thing that’s massive.
How about their gigantic ego?
XDA was not always this sensationalist. With that said, I always welcome performance improvements.
My old ass remembers when XDA was a place where you learned how to put Android on your windows phone
Or hacked up your own android rom because even knowing jack and shit you could.
Yeah I remember getting the G1 weeks before it came out because the local TMobile store was just sick or me asking every fucking day. I remember rooting it, loving it, then moving to the n900 and thinking “I want this forever” only for fucking Microsoft to buy Nokia and tank Meego
That was the XDA forums, I never found their site very usefuly, but maybe that’s just me.
Oh I know, but for a long time that was the only reason to visit the site.
Yeah the forums are a treasure for old phone hacking
putting Android on the HTC HD2. Man college me wanted that phone so badly. And a lot of HTC’s phones tbh
HTC Incredible was my first. XDA was my place shortly thereafter.
The HD2 was a game changer.

XDA will write articles these days like:

  • How this wallpaper has proven how I’ve been using computers wrong for 30 years
  • These gloves improved my typing speed 300%
  • I painted my NAS red and you won’t believe the improvements

I painted my NAS red and you won’t believe the improvements

Orks approve

We were using the flying toasters screensaver before you were even born

I painted my NAS red and you won’t believe the improvements

Okay this just unlocked a random memory. Back when I worked at a call center, on a slow day a lady called about a product that we no longer directly supported, and she went on a huge tangent about how everything she buys is bright red to remind her of the fires of hell. Bright red purse, bright red clothing, bright red phone, bright red computer, etc. she also told me quite a bit about a religious children’s book series she wrote about a Christian dog

Gamers who use fsync are not going to see such a leap in performance in most games.

I don’t think that’s overlooked at all. 99.9% of people using WINE/Proton aren’t going to have any idea what fsync is, and almost nobody not using proton-cachyos is going to use it. fsync, itself a workaround, is niche within what’s already a niche.

Fsync maybe not but AFAIK esync is widely used. On some protondb pages there’s a hint to disable esync, not the other way round. And while esync is not as performant as fsync, it is still much better than vanilla
It’s worth noting that the new sync implementation shouldn’t cause any of the problems esync and fsync ran into, so it’s a worthwhile upgrade from a stability viewpoint even if a user won’t see huge performance gains.

From what I found online, Steam enables esync by default, and fsync if your kernel supports it.

Lutris has both options nowadays in the runner settings. Idk if they’re both enabled by default, but in my case they’re enabled. ymmv there.

source

What are the kernel requirements? Is it something any random Debian user is likely to have, or do you need to be compiling it yourself?

From the article:

Futex2, often referred to interchangeably with fsync, did make it to Linux kernel 5.16 as futex_waitv, but the original implementation of fsync isn’t that. Fsync used futex_wait_multiple, and Futex2 used futex_waitv. Applications such as Lutris still refer to it as Fsync, though. It’s still kind of fsync, but it’s not the original fsync.

So since Jan 2022, it’s been in the stable Linux kernel. For Debian and its derivatives, it would be included beginning with Bookworm.

Debian release version history - Wikipedia

So basically, both esync and fsync are enabled by default for almost everybody.
Assuming that most non-technical users (who wouldn’t research and enable it) are probably using Wine/Proton through Steam: yeah.

99.9% of people using WINE/Proton aren’t going to have any idea what fsync is

Speaking, although I’ve heard the term thrown around a lot. Can I get a layman’s overview?

I think it’s pretty well described in the article of the post

You’re right, it is.

You can try all you want, but you will never get me to read the articles before commenting.

It should still fix minor stuttering that some gets get on Linux, which will be pretty huge.
I remember hearing that Ntsync isn’t even faster than fsync in general use, just in some rare corner cases
This is true and expected, the point of NTSYNC was to be a more faithful emulation of Windows synchronization primitives, so increased compatibility and correctness. If it’s ever faster than esync or fsync it’s just a bonus. It’s on par generally, though.
Wine Is Not an Emulator.
Okay. Parts of WINE emulate parts of Windows in order to function. The NTSYNC driver emulates NT synchronization primitives.
People on Lemmy are fucking dumb, wow. The word WINE literally stands for “Wine Is Not an Emulator”. It’s a translation layer.
I’m aware. You seem to be equivocating on the word “emulate.” Nobody called WINE an emulator. The design and behavior of NTSYNC is meant to mimic that of NT synchronization primitives.
It fixed the lag spikes I experienced playing some of the older Call of Duty titles so it’s overall been a huge upgrade for me.

The numbers are wild. In developer benchmarks, Dirt 3 went from 110.6 FPS to 860.7 FPS, which is an impressive 678% improvement. Resident Evil 2 jumped from 26 FPS to 77 FPS. Call of Juarez went from 99.8 FPS to 224.1 FPS. Tiny Tina’s Wonderlands saw gains from 130 FPS to 360 FPS. As well, Call of Duty: Black Ops I is now actually playable on Linux, too.

These don’t sound massive to you?

You won’t see those because most probably you are already using one of other *sync