Syscall User Dispatch Appears Destined For Linux 5.11 To Help Windows Games On Linux
The Syscall User Dispatch support looks like it should be mainlined for the Linux 5.11 kernel. This functionality is important for modern Windows games running on Linux under Wine / Proton.
Syscall User Dispatch has been in the works for a while as a kernel-level improvement for dealing with Windows games/apps that use system call instructions, bypassing the Windows API. Games avoiding the Windows API and performing system calls directly is an increasingly common occurrence by modern Windows games, seemingly in the name of Digital Rights Management schemes and similar protected modes. This though has been a problem for Wine (and Steam Play's Proton) when bypassing the conventional Windows APIs.
Syscall User Dispatch allows for efficiently redirecting system calls and to be done so for just a portion of the binary. The system calls can be redirected back to user-space so they can be handled by the likes of Wine. Enabling of Syscall User Dispatch is done via a PRCTL interface with per-thread controls for the behavior of when attempting system calls -- allowing it to be toggled whether running a Windows binary or back within Wine. More details on the implementation can be found via the documentation.
It's been looking like "SUD" has been ready for mainline and now this morning the patches were pulled into tip.git's core/entry code following all the appropriate sign-offs on the patches.
Thus barring any last minute problems, this month when the Linux 5.11 merge window is opened it should be pulled to mainline for this next cycle. Linux 5.11 stable should be out in February with this functionality and much more.