Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Collabora, one of the companies working under contract for Valve to help improve Windows game emulation on Linux with the likes of Wine have now sent in some patches to the Linux Kernel mailing list for discussion.

This is going to be another big step forward for compatibility, hopefully, to help with the likes of anti-tamper and DRM which often skip over the Windows API which causes issues for Linux and the Wine compatibility layer (and so Steam Play Proton too). You can get an overview of it in this previous article and also this article if you want some background on it all. To be clear: a Valve developer did mention it's not for anti-cheat.

With this new feature they're calling "Syscall User Dispatch (SUD)" it allows to "efficiently redirect system calls of only part of a binary back to userspace to be emulated by a compatibility layer". The patches are now close to being accepted but they wanted to get a bit more discussion going to ensure the majority are happy with it.

If accepted, it would still take some time before the likes of Wine and Proton would really make use of it, especially as it would also require users to have a much more up to date Linux Kernel too. 

You can see the discussion happening with the big overview here. The proposed patch set is here.

Article taken from GamingOnLinux.com.
Tags: Proton, Misc, Wine
32 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked 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
The comments on this article are closed.
17 comments
Page: 1/2»
  Go to:

scaine Nov 20, 2020
View PC info
  • Contributing Editor
  • Mega Supporter
Well, I think you said before that this won't land until kernel 5.11. That seems likely since 5.10 is currently in Release Candidate 4 as of a couple of days ago (https://kernel.ubuntu.com/~kernel-ppa/mainline/ ). I'm not sure what the release schedule is for kernels - they seem to be every two months or so, although there was a 6 month gap between 5.6 and 5.7. But based on the 2 month schedule, we could be looking at 5.11 around February next year, maybe even a bit earlier?

I'm currently running the latest 5.9 from mainline using the low-latency option. It works really well, but I think I might give Liquorix a shot, since it will update automatically, AND includes the fsync patches. Liquorix (https://liquorix.net ) support PPA and AUR updates, which is pretty cool.

If you're on an Arch-based disto, apparently the Zen kernel is also worth a shot (https://wiki.archlinux.org/index.php?title=Kernels&oldid=407966#Official_packages ).

Anyone know of any other reliable, solid options for kernel upgrades, particularly on an Ubuntu-based distro?
benjamimgois Nov 20, 2020
I advocate for some years that a rolling kernel is better model for desktop usage, speacially if you are into gaming. For servers and corporate enviroments i still prefer to be in a LTS release with long support kernels.

Quoting: scaineAnyone know of any other reliable, solid options for kernel upgrades, particularly on an Ubuntu-based distro?

I use to recomend the custom kernels from TKG, the man and mind behind proton-tkg (that represents the major part of proton-GE). TKG has custom version for all different kinds of CPUs and diferent governors. TKG kernels use to be Arch only but i think it's compatible with ubuntu based distros now.

https://github.com/Frogging-Family/linux-tkg
tmtvl Nov 20, 2020
Quoting: benjamimgoisI advocate for some years that a rolling kernel is better model for desktop usage, speacially if you are into gaming. For servers and corporate enviroments i still prefer to be in a LTS release with long support kernels.

I've been happily using rolling release distros (A and OSTW) for about... 5, 6 years now? I don't think I could go back to standard release distros, I'm too lazy to go through all the hassle every year.
scaine Nov 20, 2020
View PC info
  • Contributing Editor
  • Mega Supporter
Quoting: benjamimgoisI use to recomend the custom kernels from TKG, the man and mind behind proton-tkg (that represents the major part of proton-GE). TKG has custom version for all different kinds of CPUs and diferent governors. TKG kernels use to be Arch only but i think it's compatible with ubuntu based distros now.

https://github.com/Frogging-Family/linux-tkg

Looks like it's compatible, but it also looks like you're basically compiling a new kernel whenever a new release comes out. Since I know next-to-nothing about kernels, I think I'll stick to pre-packaged .deb files from either mainline or Liquonix, unless there are other options out there.

Also, doesn't compiling a kernel take hours?? Maybe I'm missing something that install script just updates your apt cache, but that's not how it's presented, and they go on to talk about having to manage "custom compiled kernels". I'd prefer something that merges into the Mint kernel management tool, like mainline does.
CatKiller Nov 20, 2020
View PC info
  • Supporter Plus
Quoting: scaineI'm currently running the latest 5.9 from mainline using the low-latency option. It works really well, but I think I might give Liquorix a shot, since it will update automatically, AND includes the fsync patches. Liquorix (https://liquorix.net ) support PPA and AUR updates, which is pretty cool.

Bear in mind that the last benchmarks I saw showed the liquorix kernel significantly underperforming compared to the standard generic and lowlatency Ubuntu kernels. You might find that it helps the games that need the newer scheduler patches, but makes everything else worse.
CatKiller Nov 20, 2020
View PC info
  • Supporter Plus
Oh, also
Quoting: scaineI'm not sure what the release schedule is for kernels - they seem to be every two months or so, although there was a 6 month gap between 5.6 and 5.7.

2-3 months between versions. They switched to a more regular cadence after the trials of the 2.x era. Less than that, and it isn't done, and more than that and Linus gets fidgety.

5.6 was released on 29 March 2020 and 5.7 was released on 31 May 2020, so 63 days between them.


Last edited by CatKiller on 20 November 2020 at 2:38 pm UTC
scaine Nov 20, 2020
View PC info
  • Contributing Editor
  • Mega Supporter
Quoting: CatKiller5.6 was released on 29 March 2020 and 5.7 was released on 31 May 2020, so 63 days between them.

Huh. According to the mainline repo link I posted in my first comment, 5.7 wasn't released until 15th July... but you must be right, because 5.8 then released on the second of August, just two weeks later! Must just be the directories that are incorrectly dated for some reason.
KROM Nov 20, 2020
View PC info
  • Supporter
Quoting: scaineAlso, doesn't compiling a kernel take hours?? Maybe I'm missing something that install script just updates your apt cache, but that's not how it's presented, and they go on to talk about having to manage "custom compiled kernels". I'd prefer something that merges into the Mint kernel management tool, like mainline does.
That strongly depends on your CPU. Compiling a mainline kernel usually takes me about up to 10 minutes on my 12-core Ryzen 3900. All in all, its about 15 minutes to get a new kernel up and running. A bit more if you're going to patch it, e.g. with fsync support.

For the curious, these are the steps I do:

 
cd <unpacked kernel directory>

sudo make mrproper
cp /boot/config-$(uname -r) .config
# if you want to change kernel options, otherwise you can skip menuconfig
make menuconfig
make -j 25
sudo make INSTALL_MOD_STRIP=1 modules_install

cd /lib/modules/<new_kernel>
sudo find . -name *.ko -exec strip --strip-unneeded {} +

cd <unpacked kernel directory>
sudo make install
sudo update-initramfs -c -k <kernelversion>
sudo update-grub


I think make install already does trigger update-initramfs and update-grub, but I do it anyway, just to be sure. :)
Also, this installs the kernel straight without using a package manager. I think you can also build the kernel as .deb packages and then add/remove it using the package manager, but I just delete the old kernels from time to time by hand.


Last edited by KROM on 20 November 2020 at 6:25 pm UTC
Purple Library Guy Nov 20, 2020
I have a cunning strategy for dealing with this situation:
Wait.
benjamimgois Nov 20, 2020
[quote=scaine]
Quoting: benjamimgoisLooks like it's compatible, but it also looks like you're basically compiling a new kernel whenever a new release comes out. Since I know next-to-nothing about kernels, I think I'll stick to pre-packaged .deb files from either mainline or Liquonix, unless there are other options out there.

Also, doesn't compiling a kernel take hours?? Maybe I'm missing something that install script just updates your apt cache, but that's not how it's presented, and they go on to talk about having to manage "custom compiled kernels". I'd prefer something that merges into the Mint kernel management tool, like mainline does.

I've never used it on Ubuntu or mint. I agree that have to manualy compile a kernel every week is a no go for me. On Manjaro i just use the Chaotic-AUR, they basically compile the source code of every app hourly and just send me the updated package on pamac.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring 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!
The comments on this article are closed.