• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

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

MrGuvernment

Fully [H]
2FA
Joined
Aug 3, 2004
Messages
23,951
Things moving forward in Linux pretty quick, they clearly all see the Windows 11 / AI / Microslop writing on the wall..

Wine 11 rewrites how Linux runs Windows games at the kernel level, and the speed gains are massive
https://www.xda-developers.com/wine-11-rewrites-linux-runs-windows-games-speed-gains/

Linux gaming has come a long way. When Valve launched Proton back in 2018, it felt like a turning point, turning the Linux gaming experience from "technically possible if you're okay with a lot of pain" to something that more or less worked. Since then, we've seen incremental Wine releases, each one chipping away at compatibility issues and improving performance bit by bit. Wine 10, Wine 9, and so on; each one a collection of bug fixes and small improvements that kept the ecosystem moving forward.


Wine 11 is different. This isn't just another yearly release with a few hundred bug fixes and some compatibility tweaks. It represents a huge number of changes and bug fixes. However, it also ships with NTSYNC support, which is a feature that has been years in the making and rewrites how Wine handles one of the most performance-sensitive operations in modern gaming. On top of that, the WoW64 architecture overhaul is finally complete, the Wayland driver has grown up a lot, and there's a big list of smaller improvements that collectively make this feel like an all-new project.


I should be clear: not every game is going to see a night-and-day difference. Some titles will run identically to before. But for the games that do benefit from these changes, the improvements range from noticeable to absurd. And because Proton, SteamOS, and every downstream project builds on top of Wine, those gains trickle down to everyone.


Everything up until now was a workaround​


Esync and fsync worked, but they weren't ideal​


photofiltre-7-in-wine.png


If you've spent any time tweaking Wine or Proton settings, you've probably encountered the terms "esync" and "fsync" before. Maybe you toggled them on in Lutris, or noticed them in Proton launch options, without fully understanding what they do. To understand why NTSYNC matters, you need to understand the problem these solutions were all trying to solve.


Windows games, especially modern ones, are heavily multi-threaded. Your CPU isn't just running one thing at a time, and instead, it's juggling rendering, physics calculations, asset streaming, audio processing, AI routines, and more, all in parallel across multiple threads. These threads need to coordinate with each other constantly. One thread might need to wait for another to finish loading a texture before it can render a frame. Another might need exclusive access to a shared resource so two threads don't try to modify it simultaneously.


Windows handles this coordination through what are called NT synchronization primitives... mutexes, semaphores, events, and the like. They're baked deep into the Windows kernel, and games rely on them heavily. The problem is that Linux doesn't have native equivalents that behave exactly the same way. Wine has historically had to emulate these synchronization mechanisms, and the way it did so was, to put it simply, not ideal.


The original approach involved making a round-trip RPC call to a dedicated "kernel" process called wineserver every single time a game needed to synchronize between threads. For a game making thousands of these calls per second, that overhead added up fast and serced to be a bottleneck. And it was a bottleneck that as subtle frame stutters, inconsistent frame pacing, and games that just felt a little bit off even when the raw FPS numbers looked fine.


Esync was the first attempt at a workaround. Developed by Elizabeth Figura at CodeWeavers, it used Linux's eventfd system call to handle synchronization without bouncing through the wineserver. It worked, and it helped, but it had quirks. Some distros ran into issues with file descriptor limits, since every synchronization object needed its own file descriptor, and games that opened a lot of them could hit the system's ceiling quite quickly.


Fsync came next, using Linux futexes for even better performance. It was faster than esync in most cases, but it required out-of-tree kernel patches that never made it into the mainline Linux kernel. That meant you needed a custom or patched kernel to use it, which is fine for enthusiasts running CachyOS or Proton-GE, but not exactly accessible for the average user on Ubuntu or Fedora.


Here's the thing about both esync and fsync: they were workarounds. Clever ones, but workarounds nonetheless. They approximated NT synchronization behavior using Linux primitives that weren't designed for the job, and certain edge cases simply couldn't be handled correctly. Operations like NtPulseEvent() and the "wait-for-all" mode in NtWaitForMultipleObjects() require direct control over the underlying wait queues in ways that user-space implementations just can't reliably provide.


NTSYNC reworks everything​


Synchronization at the kernel-level, rather than in user-space​




NTSYNC takes a completely different approach. Instead of trying to shoehorn Windows synchronization behavior into existing Linux primitives, it adds a new kernel driver that directly models the Windows NT synchronization object API. It exposes a /dev/ntsync device that Wine can talk to, and the kernel itself handles the coordination. No more round trips to wineserver, no more approximations, and the synchronization happens in the kernel, which is where it should be. And it has proper queue management, proper event semantics, and proper atomic operations.


What makes this even better is that NTSYNC was developed by the same person who created esync and fsync in the first place. Elizabeth Figura has been working on this problem for years, iterating through multiple kernel patch revisions, presenting the work at the Linux Plumbers Conference in 2023, and pushing through multiple versions of the patch set before it was finally merged into the mainline Linux kernel with version 6.14.


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. 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.


The games that benefit most from NTSYNC are the ones that were struggling before, such as titles with heavy multi-threaded workloads where the synchronization overhead was a genuine bottleneck. For those games, the difference is night and day. And unlike fsync, NTSYNC is in the mainline kernel, meaning you don't need any custom patches or out-of-tree modules for it work. Any distro shipping kernel 6.14 or later, which at this point includes Fedora 42, Ubuntu 25.04, and more recent releases, will support it. Valve has already added the NTSYNC kernel driver to SteamOS 3.7.20 beta, loading the module by default, and an unofficial Proton fork, Proton GE, already has it enabled. When Valve's official Proton rebases on Wine 11, every Steam Deck owner gets this for free.


All of this is what makes NTSYNC such a big deal, as it's not simply a run-of-the-mill performance patch. Instead, it's something much bigger: this is the first time Wine's synchronization has been correct at the kernel level, implemented in the mainline Linux kernel, and available to everyone without jumping through hoops.

WoW64 is finally complete

Even 16-bit applications work​



If NTSYNC is the headline feature, the completion of Wine's WoW64 architecture is the change that will quietly improve everyone's life going forward. On Windows, WoW64 (Windows 32-bit on Windows 64-bit) is the subsystem that lets 32-bit applications run on 64-bit systems. Wine has been working toward its own implementation of this for years, and Wine 11 marks the point where it's officially done.

What this means in practice is that you no longer need 32-bit system libraries installed on your 64-bit Linux system to run 32-bit Windows applications. Wine handles the translation internally, using a single unified binary that automatically detects whether it's dealing with a 32-bit or 64-bit executable. The old days of installing multilib packages, configuring ia32-libs, or fighting with 32-bit dependencies on your 64-bit distro thankfully over.

This might sound like a small quality-of-life improvement, but it's a massive piece of engineering work. The WoW64 mode now handles OpenGL memory mappings, SCSI pass-through, and even 16-bit application support. Yes, 16-bit! If you've got ancient Windows software from the '90s that you need to run for whatever reason, Wine 11 has you covered.

For gaming specifically, this matters because a surprising number of games, especially older ones, are 32-bit executables. Previously, getting these to work often meant wrestling with your distro's multilib setup, which varied in quality and ease depending on whether you were on Ubuntu, Arch, Fedora, or something else entirely. Now, Wine just handles it for you

There are more fixes, too​


steam-proton-gaming-bazzite-2.jpg


It's easy to let NTSYNC and WoW64 steal the spotlight, but Wine 11 is packed to the gills with other stuff worth talking about.


The Wayland driver has come a long way. Clipboard support now works bidirectionally between Wine and native Wayland applications, which is one of those things you don't think about until it doesn't work and it drives you mad. Drag-and-drop from Wayland apps into Wine windows is supported. Display mode changes are now emulated through compositor scaling, which means older games that try to switch to lower resolutions like 640x480 actually behave properly instead of leaving you with a broken desktop. If you've been holding off on switching from X11 to Wayland because of Wine compatibility concerns, Wine 11 removes a lot of those barriers.


On the graphics front, EGL is now the default backend for OpenGL rendering on X11, replacing the older GLX path. Vulkan support has been bumped to API version 1.4, and there's initial support for hardware-accelerated H.264 decoding through Direct3D 11 video APIs using Vulkan Video. That last one is particularly interesting for games and applications that use video playback for things like cutscenes or in-game streaming.


Force feedback support has been improved for racing wheels and flight sticks, which is great news if you're running a sim setup on Linux. As well, Bluetooth has received a new driver with BLE services and proper pairing support, MIDI soundfont handling has been improved for legacy game music, and there are a couple of minor extras like Zip64 compression support, Unicode 17.0.0 support, TWAIN 2.0 scanning for 64-bit apps, and IPv6 ping functionality.


Thread priority management has been improved on both Linux and macOS, which helps with multi-threaded application performance beyond just the NTSYNC gains. ARM64 devices can now simulate 4K page sizes on systems with larger native pages, which keeps the door open for Wine on Arm hardware. And with more Arm-based Linux devices showing up every year, that matters more than it used to.


Plus, there are a ton of bug fixes. Games like Nioh 2, StarCraft 2, The Witcher 2, Call of Duty: Black Ops II, Final Fantasy XI, and Battle.net all received specific compatibility fixes, which is additional to the broader improvements made across the board that will improve performance and compatibility across significantly more titles.


Wine 11 is a big release, and it's not just NTSYNC that makes it the case. Sure, NTSYNC alone would have made it worth paying attention to, but combined with the WoW64 completion, the Wayland improvements, and the sheer volume of fixes, it's the most important Wine release since Proton made Linux gaming viable. Everything built on top of Wine, from Proton to Lutris to Bottles, gets better because of it. If you play games on Linux at all, Wine 11 is worth your time trying out.
 
Funny this shows up... Just yesterday I was passively thinking about dual booting Linux for the first time in like 16 years.
One way to start, I always say, unless you have something specific that requires 3D support like Adobe apps, or games that use invasive kernel anti-cheat, just do a full linux install, and then run Windows in a VM for windows things you might need. Forces you to use linux.
 
Funny this shows up... Just yesterday I was passively thinking about dual booting Linux for the first time in like 16 years.
You don't want to dual boot Linux with Windows. Windows Updates will break the Linux dual-boot by overwriting the GRUB bootloader or altering EFI variables. You can disable Secure Boot and Fast Startup to restore it, but it's a PITA. Like MrGuvernment said, it's better to just use Linux and run a Windows VM.

One way to start, I always say, unless you have something specific that requires 3D support like Adobe apps, or games that use invasive kernel anti-cheat, just do a full linux install, and then run Windows in a VM for windows things you might need. Forces you to use linux.
I've wrote how I started mine here if you want to take a look. Virt Manager and KVM is all you need. I haven't gotten back to it in a while, but figuring what you need and whether a distro will do it or not is a good way to get into Linux. I may one day give KDE Plasma a try.
 
I’d like Wine to make Windows programs not have an ugly border and non English characters (kanji specifically) actually display correctly. But this continues to be my dream.
 
You don't want to dual boot Linux with Windows. Windows Updates will break the Linux dual-boot by overwriting the GRUB bootloader or altering EFI variables. You can disable Secure Boot and Fast Startup to restore it, but it's a PITA. Like MrGuvernment said, it's better to just use Linux and run a Windows VM.


I've wrote how I started mine here if you want to take a look. Virt Manager and KVM is all you need. I haven't gotten back to it in a while, but figuring what you need and whether a distro will do it or not is a good way to get into Linux. I may one day give KDE Plasma a try.
I went that route a few years ago. A Windows VM with GPU passthrough and I really couldn't tell the difference between the VM and running the virgin Windows install. I was lucky that my motherboard allowed me to split my GPU channels to 8x8. I'm sure the VM was a bit slower than the virgin Windows install but I could detect it during game play.
 
Any tests on this? Wine was already pretty fast. I'm more interested in running programs I couldn't run before like Fusinon 360.
 
Same. Last time I did I tried Mint, but is Cachy the new hotness? Any others I should try?
I recommend CachyOS 100%. Mint is LTS & lags significantly behind rolling releases if your aim is gaming and/or high-end compute apps.
 
This is very cool, I love where they are heading with this and cant wait to see what steam-box's look like in the future.

What we really need to Linux to work with every games anti-cheat, one of the biggest things that stops me from trying out linux on my gaming PC is that games I tend to play with my friends don't seem to work in linux because the game just cant be played. Unless we can convince all the publishers/developers to start releasing linux/proton friendly drm/anti-cheat or they find a way to make them all work in proton it will never be able to take off the way people would like.

Im a lazy, lazy man and don't want to bother switching between my OS just so I can play certain games and I'm sure I'm not the only one lol
 
  • Like
Reactions: haste
like this
Easy anti cheat works perfectly in linux, I used it recently to play the division 2 on my steamdeck. It has to be allowed by the developer on a per title basis which is the issue.
 
Easy anti cheat works perfectly in linux, I used it recently to play the division 2 on my steamdeck. It has to be allowed by the developer on a per title basis which is the issue.
The kernel, secure boot, Hyper-V, & TPM-based anti-cheats won't work with Linux.
 
Same. Last time I did I tried Mint, but is Cachy the new hotness? Any others I should try?

It's ez mode Arch with good out of the box defaults and an installer for normal humans.

You probably want Cachy unless you're trying to unlock the achievement that lets you say "i use arch btw"

Easy anti cheat works perfectly in linux, I used it recently to play the division 2 on my steamdeck. It has to be allowed by the developer on a per title basis which is the issue.

It doesn't really "work" so much as they simply let developers choose to allow it anyway.

There is no kernel module for EAC in Linux. So the meat of the anti cheat itself is effectively non functional.

Anti cheat in general is pretty much fucked in Linux because you can just... replace the kernel. There is no fix besides a distro enforcing attestation.
 
There is no fix besides a distro enforcing attestation.
And that would probably require a binary blob that's signed by valve to have any merit...and could probably still be bypassed fairly easily.
 
I'm running Mint right now but it is basically my back office machine (i.e. my older gaming computer). If I was going to try to run windows stuff on it, would I be better off using Wine or just running a VM? I'm not talking about anything particularly troubling. It would probably only be tax software as everything else I do on that machine is either running 3d printing software or browsing the internet, all possible natively on linux. Tax software is the only niggle right now and it is the season.
 
I'm at the point where I do all my photo editing on my iPad Pro, all my office productivity actually at work or on my Thinkpad, and the only gaming I do is on my Windows desktop - and the only thing I do on my Windows desktop is game.

The desktop is a 9800X3D, B650, 5090. Last time I looked, Nvidia drivers on Linux weren't great, and Steam and games on Linux occasionally did not work well. Is that still more or less accurate? Or should I take the time to swap out my boot/os/apps SSD and try out some variant of Linux?
 
Easy anti cheat works perfectly in linux, I used it recently to play the division 2 on my steamdeck. It has to be allowed by the developer on a per title basis which is the issue.
The Division 2 is my current go-to on my sTeAm MaChInE.
 
I'm running Mint right now but it is basically my back office machine (i.e. my older gaming computer). If I was going to try to run windows stuff on it, would I be better off using Wine or just running a VM? I'm not talking about anything particularly troubling. It would probably only be tax software as everything else I do on that machine is either running 3d printing software or browsing the internet, all possible natively on linux. Tax software is the only niggle right now and it is the season.
I used the VM route and really liked it. I basically used the Windows 11 VM for games that wouldn't work under Linux, Turbo Tax and the occasional photo editing session with Affinity Photo (I really disliked Gimp 2.x). I never tried the Wine route since the VM worked so well and I liked having Windows running on one monitor and Linux on the other at the same time. You can also set it up to switch the keyboard and mouse between the OSes by hitting both CTRL keys.
 
Back
Top