You can sign up to get a daily email of our articles, see the Mailing List page.

Linux Kernel 5.16 is out now bringing the futex2 work to help Linux Gaming

By - | Views: 19,816

Linus Torvalds has announced the release of Linux Kernel 5.16, bringing with it the usual assortment of new hardware support and improvements everywhere. Plus, there's something big for Linux gaming fans.

The one many have no doubt been waiting for is the inclusion of Collabora's work on FUTEX2 with futex_waitv(). This is supposed to help Linux gaming with Proton / Wine and also Native Linux gaming too. As Collabora developer André Almeida previously described it: "The use case of this syscall is to allow low level locking libraries to wait for multiple locks at the same time. This is specially useful for emulating Windows' WaitForMultipleObjects. A futex_waitv()-based solution has been used for some time at Proton's Wine (a compatibility layer to run Windows games on Linux). Compared to a solution that uses eventfd(), futex was able to reduce CPU utilization for games, and even increase frames per second for some games. This happens because eventfd doesn't scale very well for a huge number of read, write and poll calls compared to futex. Native game engines will benefit of this as well, given that this wait pattern is common for games.".

So with this Kernel version, plus a version of Proton / Wine and any Native games / game engines that support it, you might be able to see better performance.

Masses of other changes as well of course, although plenty of it most normal consumers won't be too excited about just yet. However a few noteworthy interesting bits for desktop / laptop users and gamers (more on KernelNewbies) like:

  • The addition of DisplayPort 2.0 for AMD GPU
  • Initial USB4 DP tunnelling support for AMD GPU
  • More work towards supporting Intel Xe discrete GPUs
  • Improvements for the PlayStation 5 DualSense controller
  • Better support of HP Omen laptops
  • A small fix for the Steam Deck screen
  • Nintendo Joy-Con and Pro Controller support
  • Hardware monitoring support for many more ASUS motherboards
Article taken from GamingOnLinux.com.
30 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check 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.
See more from me
21 comments
Page: «2/3»
  Go to:

Xpander 10 Jan
fsync(futex) and futex2 has been usable quite some time thanks to TkG kernel (and ofc tkg wine/proton, GE and official proton builds have supported it quite some time), but nice to finally see it land on the vanilla kernel. Though most of the games already benefited from esync, but there were few that didn't work well with esync, but performed amazingly with fsync.

Quoting: BielFPsDoes users need to do something to enable Futex2 benefits, besides installing Kernel >=5.16 and the latest version of proton?

Official proton builds from 6.3-8 have that enabled by default if you have kernel that supports it


Last edited by Xpander on 10 January 2022 at 2:01 pm UTC
TheSHEEEP 10 Jan
View PC info
  • Supporter Plus
QuoteNintendo Joy-Con and Pro Controller support
Bought a Pro Controller a month ago and was really surprised that it isn't supported yet.
There were a few custom drivers around, but not one of them got the controller working for me. Just weird behavior with the controller turning itself on and off constantly when connected via Bluetooth (and nothing at all via USB).

Hopefully, once this kernel is "safe" for Manjaro, this will no longer be a problem.


Last edited by TheSHEEEP on 10 January 2022 at 2:15 pm UTC
BTRE 10 Jan
View PC info
  • Contributing Editor
Quoting: TheSHEEEP
QuoteNintendo Joy-Con and Pro Controller support
Bought a Pro Controller a month ago and was really surprised that it isn't supported yet.
There were a few custom drivers around, but not one of them got the controller working for me. Just weird behavior with the controller turning itself on and off constantly when connected via Bluetooth (and nothing at all via USB).

Hopefully, once this kernel is "safe" for Manjaro, this will no longer be a problem.
Odd, because I've used my Pro controller a couple of times via bluetooth in the past without those issues. Played for a couple of hours with friends without disconnects. Worked with both Steam and in Retroarch. I assumed it was already supported in the kernel or, well, that SDL2 handled it.

I doubt that Manjaro does anything radically too different than Arch (though given their devs' track record... ) but maybe you're missing udev rules somehow? The steam package ought to have created /lib/udev/rules.d/70-steam-input.rules and that should have a couple of entries for the pro controller.
Arten 10 Jan
Quoting: BielFPsDoes users need to do something to enable Futex2 benefits, besides installing Kernel >=5.16 and the latest version of proton?
You have manjaro. You alredy have it on your computer :-)
here is for example 5.15 on gitlab with patches which they apply. 0103-futex.patch file its there :-)
https://gitlab.manjaro.org/packages/core/linux515

I searched for it when i runned steam under terminal and it displayed game/proton using it :-)
Cyril 10 Jan
Is the recent annoying bug "black blinking screen" is resolved?
STiAT 10 Jan
Quoting: Liam Dawe
Quoting: mrdeathjraccording wine devs for now fsync dont be approved

https://bugs.winehq.org/show_bug.cgi?id=50281

Doesn't stop any of the various Wine builds like Wine-GE, Staging, Tkg and so on using it.

Staging won't implement it either. TkG and Proton & GE very likely will.
TheSHEEEP 10 Jan
View PC info
  • Supporter Plus
Quoting: BTREThe steam package ought to have created /lib/udev/rules.d/70-steam-input.rules and that should have a couple of entries for the pro controller.
It does, and the entries there even fit the controller from what I could see from the lsusb, etc. It also recognizes the controller - but the controller either doesn't work at all or constantly reconnects.

That was on my 5+ years old laptop, though, might just be something incompatible in there.
QuoteA small fix for the Steam Deck screen
Not even out yet, and already getting fixes in the Linux kernel!
little by little, GNU / Linux is gaining strength for gaming, waiting for TKG to upload it to its repository.
14 16 Jan
View PC info
  • Supporter Plus
Quoting: Arten
Quoting: BielFPsDoes users need to do something to enable Futex2 benefits, besides installing Kernel >=5.16 and the latest version of proton?
You have manjaro. You alredy have it on your computer :-)
I don't think you can take that for granted with the way Manjaro handles kernel installations. That, and not everyone runs updates daily.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: Liberapay or PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just 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 Twitter Sign in with Google
Social logins require cookies to stay logged in.