Wine 11 rewrites how Linux runs Windows games at kernel with massive speed gains

https://www.xda-developers.com/wine-11-rewrites-linux-runs-windows-games-speed-gains/

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

Wine 11 is the biggest jump for Linux gaming in years.

XDA

> Dirt 3 went from 110.6 FPS to 860.7 FPS

> 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

Amazing. I don't understand the low level details on how such a massive speed gain was ripe for the picking but I welcome!

I guess thanks Valve for pouring money into Proton.

Those benchmark numbers are slightly misleading, as they are a comparison of Wine+ntsync against Wine+nothing. There has been a somewhat fast "fsync" library built around Linux's futex and the gains over Wine+fsync are modest (just a few % in most cases).

That said, Wine+ntsync is still a win, just not a 8x improvement like the Dirt 3 benchmark suggests.

(And it case it's not clear, ntsync is https://docs.kernel.org/userspace-api/ntsync.html, which is a driver for Linux that offers syncronization primitives (mutex, semaphore, events) that more closely match the semantics of the Windows primitives. It's easier to do a direct implementation in Wine to support code compiled for Windows that expects to be talking to an NT kernel.)

NT synchronization primitive driver — The Linux Kernel documentation

> There has been a somewhat fast "fsync" library built around Linux's futex

The article actually goes into that in quite a bit of detail about that.

Yeah but to the commenter I was replying to, I don't think it was clear that detail was relevant to the benchmark numbers they were quoting.
Do they have any other usecase behind Wine? My guess would be MS SQL server, but is that correct?
Though like the article mentions, fsync doesn't work out of the box (requiring kernel patches).
* when not using esync nor fsync
So, what's the relationship between Wine and Proton? Is Proton just the SteamOS/Valve name for it, or is it actually it's own project?
It's a distribution of Wine with some extra stuff added, importantly DXVK (directx => vulkan layer) and a lot of game specific workarounds.
More or less Wine + some experimental patches not yet I twgrated in mainstream wine + a buch of DirectX translation libraries + close steam integration.

That makes sense. I thought they were entirely separate tbh but it makes sense that they'd share a lot of DNA.

I absolutely love my Ally running SteamOS. Incredible work by... everyone involved, really.

Though currently Proton has not yet shipped a release which uses Wine 11.

There's also Proton-GE [1], which is even more experimental and adds some bleeding edge fixes and features.

I've heard it's pretty good for fixing video playback/rendering (e.g. cutscene) issues if both the stable and the experimental branch of Proton can't make it work.

[1] https://github.com/GloriousEggroll/proton-ge-custom

GitHub - GloriousEggroll/proton-ge-custom: Compatibility tool for Steam Play based on Wine and additional components

Compatibility tool for Steam Play based on Wine and additional components - GloriousEggroll/proton-ge-custom

GitHub