Yesterday we echoed from the news that Valve keep improving Proton, an implementation that is based on Wine to bring native Microsoft Windows games to the Stream Play client for Linux. Valve is not like other companies and does not focus only on everything that surrounds Microsoft, and that is why its video game platform Steam has proposed that some changes be made to the kernel that would improve the user experience when playing on Linux.
The new version of Proton, among other things, includes a function that reduces overall CPU consumption for multi-thread games. Steam developers say they have forced «a CPU-bound scenario on a high-end machine by reducing graphic details to a minimum»To see the difference between the existing version of Proton and one that includes the multi-thread enhancement. As we see in the following image, the CPU load is reduced by 10% in the Tomb Raider game.
Games on Linux would work better if the kernel adopts the changes proposed by Steam
The new version of Proton it also includes an experimental replacement for esync, an older WINE feature that could increase multi-thread performance in some games. But the Steam developers say this feature comes with a trade-off: it relies on the functionality of the Linux kernel efentfd (). The use of this functionality it can cause some file descriptor exhaustion in resource-intensive applications and can lead to a strange twist in the kernel. That's when Steam came up with some changes to the Linux kernel to extend the futex () system call to expose additional core functionality that could be used to support optimal thread pool synchronization.