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