Collabora have been doing presentations during the Open Source Summit, with one particular talk from Gabriel Krisman Bertazi on the "State of Linux Gaming" being quite interesting.
While there has been a lot of progress with the Windows compatibility layers Wine and Valve's fork Proton (part of Steam Play), there's still plenty of areas currently lacking and needing work. Collabora is one company extending the Linux Kernel to improve Linux gaming with these compatibility layers, thanks to Valve sponsoring the work. One of the big missing pieces of the pie is supporting the likes of anti-cheat and DRM, with anti-cheat especially causing all sorts of problems entirely breaking lots of Windows games in Wine and Proton.
The State of Linux Gaming talk was mostly going over what anyone following would already know, as the event isn't aimed at your typical Linux gaming enthusiast. However, it was still an interesting talk to follow. Thanks to The Linux Foundation, I was able to attend and listen to the talk (the online event requires a ticket purchase) but I've been told by my Collabora contact that they will all eventually be up on their own YouTube Channel which could be as soon as early next week for anyone to be able to view.
If you want a brief overview, you can find the slides here from the event schedule. One of the key points that Gabriel Krisman Bertazi went over is their work on system call emulation, which is now required because DRM and anti-cheat tech "are issuing system calls directly from the Windows game code and that bypasses Wine because Wine is not a sandbox" and Wine currently cannot capture those system calls needed which ends up causing games to crash.
They tried a user-space solution first, which is simpler and doesn't require messing with the Linux Kernel but Bertazi mentioned how that had many problems like tripping up DRM and anti-cheat along with badly affecting performance so the right solution was Kernel-side where they've now created Syscall User Dispatch, specifically made to deal with these emulated needs.
Bertazi said how it's "designed for emulation, so it's really fast for syscalls" and "it's very fast for a hybrid environment where you have native syscalls coming from Wine and emulated syscalls from the Windows application". They were hoping for it to land in Linux Kernel 5.10 but it's most likely for Kernel 5.11 and adoption will be simple, as distributions just need to enable a config option. Bertazi goes on to say how they will "make sure" distributions are enabling it as "it's a very isolated feature that does not affect the rest of the system, so there is no reason to not do it" and then you just need a version of Proton new enough to work with it.
So it sounds like Linux gaming with compatibility layers like Wine and Proton to brute-force Windows games onto Linux will get very interesting from the Linux Kernel 5.11 onwards. Note: it doesn't mean anything will magically work though in regards to anti-cheat, only that Linux and so Wine/Proton will understand certain system calls they need.
Bertazi summed up that they've also been working towards other "pain points" of Linux gaming including "device bring-up, solving some file system issues, improving performance in other areas of the system, we have a team looking at some scheduling stuff that maybe we can optimise in future kernel releases". They also make it clear they're "not in any way trying to bring the Windows world into Linux, we are trying to ease emulation" and only extend things like the Kernel when it ends up absolutely necessary but their work will benefit a lot of people and not just for emulation. Bertazi also mentioned how they will continue to support for Linux games "both natively and emulated", and on a personal note they mentioned their wish to see more open source games.
If you think you have what it takes to hack away at the very heart of Linux, Collabora are currently hiring with multiple positions open including working on the Linux Kernel and Mesa drivers too. You can find the list of positions they have available here.
Update 04/11/2020 - the video is now up, check it out below:
Direct Link
Update 15/11/20: a developer from Valve has clarified some further details, don't expect anti-cheat support any time soon. That's an essential read on the topic you should not skip after you've read this article as we keep seeing people claiming anti-cheat will suddenly work when it won't.
Quoting: 0aTTThe PC is replaced by tablets and phones.Definitly not for gaming. The mobile market is full of shallow cash grabs and most people know that console/pc are where quality games are released
Quoting: rustybroomhandleWill it work? Well, publishers are phenomenally stupid. They will happily develop for e.g. Stadia because it's a "new" platform pushed by a big company. But if you say "Linux" they hide under a table. My guess is that when Valve is ready to start rolling out Steam Machines v2, they will hardly even mention Linux in any marketing, but rather push it as some great new thing they invented between lattes.That is because platforms like Stadia gives free marketing to the publishers worth tons of money, meanwhile them doing a Linux version will not give them free TV ads or a free spot at some gaming convention.
See more from me