Unfortunately the biggest issue now is the anticheats that only function on windows. My friends refuse to switch to Linux because you cannot play:
fortnite
league of legends
escape from tarkov
battlefield
apex legends
valorant
R6 siege
GTA 5
Rust
Destiny 2
Etc
They'll play other games but because they mainline one of these they refuse to leave. As long as SteamOS has no answer to these anti cheats windows will maintain a dominance.
Technically, all the major anti cheats have Linux userspace binaries that even support wine/proton passthrough, so there are actually a lot of anti cheat games that run on linux as shown in the list.
The issue is not entirely something SteamOS can solve or is even linux's fault because no sane distro would ever support running a kernel level anticheat module. It would break the defining security features of linux, and I'm not even sure DKMS or Akmod would support it out of box on secure boot.
The games in question refuse to enable anticheat on linux because they know the userspace binaries are limited, but then their windows solution is just a crappy rootkit. It's not a very good or longterm solution either. EAC and Battleye both have demonstrable bypasses with various methods of fooling. Only Vangaurd seems to aggressively keep up with the arms race by literally scanning your PCIe devices for hardware cheats.
What they can do is to convince game OEMs to enable their linux AC support by marketing the potential customers they are losing out on. That's basically what happened with Halo MCC and Infinite. I'm still surprised they actually convinced Microsoft to allow both games to run on Linux with EAC.
I am an idiot, so this is probably a dumb question, but it sounds like you might be able to shine some light.
Why could we not run kernel level anticheat in a sandbox? Does kernel level inherently mean a sandbox cannot contain it?
As an aside is kernel level anticheat required for anti-cheat to function? Or are the developers of anti-cheat software just doing kernel level because its easier?
Why could we not run kernel level anticheat in a sandbox? Does kernel level inherently mean a sandbox cannot contain it?
The linux kernel actually does have several sandboxing paradigms and techniques, but by the definition of anti cheat means that it cannot be sandboxed.
The anticheat essentially scans the entire system memory, filesystem, and loaded kernel modules to ensure the userspace software is not being tampered with. It would be impossible to do that in a sandbox, hence it breaks all the security standards linux has for kernel modules (ex: why would a wireless driver need to access a printer module?).
Even for windows, kernel level solutions are not very well suited to be running there. The recent crowdstrike outage is a notable example, because it did essentially the same thing but then a bad update bluescreened every machine because giving a kernel module complete access is almost like modifying the kernel itself.
As an aside is kernel level anticheat required for anti-cheat to function? Or are the developers of anti-cheat software just doing kernel level because its easier?
It's not required to function, but kernel level anticheat is just harder to bypass (still doable). They're choosing kernel level because it's cheaper to slap on a 3rd party AC than to make effective server-side software and pay for server moderation. Even Valve is hesitant with their VAC 3 system, even though it has been a major upgrade, it still requires manual moderating.
The thing is, most devs have finally realized kernel level anticheat still isn't an effective solution, so they have been fine with the userspace anticheat on linux and opting for server side stuff. It's just these last few holdouts that refuse to budge because they don't value the linux market (yet).
Thank you for the insightful response! Its sad that the cheapest option is the only choice ever chosen, sounds like we could create jobs and foster better security choices simultaneously here (and probably end up with a better online experience to boot).
Stop giving companies excuses to do outrageous shit.
Like it's absolutely mindboggling how much shit do people eat in order to play a game. Kernel level anticheat has access to your entire computer, and you can't even know what it does.
And for absolutely no benefit at all. You can make anticheats on server, or simple client stuff without reading your entire memory.
Well if they are losing out on sales due to practices that are incompatible with Linux then companies are less likely to use those practices in the future.
Remember back when people said nothing was wrong with Linux gaming and it was actually game studios that had to start developing for Linux so the studios changed their practices and started developing native Linux games? Yeah, me neither.
Because people were still buying the games on Windows. If people start actively not buying things then it encourages change. If people complain but still buy it anyway then nothing will change. Vote with your wallet (which is what OP is doing).
Voting with your wallet doesn't work when you're 3% of the 3%. It didn't work to get games on Linux and it won't work to get rid of kernel anticheat. Wanna know what works? Making things work. Like Valve did with Proton while people like OP were voting with their wallet.
So what is your problem with what OP is doing? That they aren't personally releasing games to compete with the ones using kernel level anti-cheat?
Like Valve did with Proton while people like OP were voting with their wallet.
Do you think that was profitable for Steam (from people voting with their wallet), or do you think Steam did it for charity out of the kindness of their hearts?
My problem is that being in denial about the state of gaming on Linux (better than before, still garbage) does nothing to improve the state of gaming on Linux.
Do you think that was profitable for Steam (from people voting with their wallet), or do you think Steam did it for charity out of the kindness of their hearts?
You seem to think that Valve developed Proton to capture the Linux marketshare. That's unbelievably naive.
It could be 99% of games and it wouldn't matter if the remaining 1% are what people actually wanna play. Support for games outside of Steam is beyond the capabilities of most PC users. Most people don't actually enjoy playing Troubleshooting Simulator.
Because Microsoft has the power to end Steam almost overnight so Valve is desperately trying to move people away from Windows. Linux just happened to be a useful tool but Proton aims to capture the Linux userbase about as much as ChromeOS does.
I'm sure it's on the roadmap, but not a current priority. First get it to work decently and iron all the kinks out of steamos, then they can look at anti-cheating.
Its not because steam doesnt support it. Some of the games on that list have banned players from connecting online from linux. Apex legends put out a newsletter about how they couldn't keep up with cheating using linux OSes and so they had to just cut it off entirely.