Recently, i had to move from nixos to windows against my will simpy because of anti cheats. While i dont game that much, the few games i enjoy playing are all online with some kind of anti cheat. I used to dual boot but i was tired of having to wait for my slow hdd to load windows (i only have one ssd). I literally used linux for everything else but because of anti cheats i am forced to move to windows. I managed to make it a little better by using wsl2 and removing bloatware but it will never be the same as linux
Honestly, I'd rather the anti cheat be there. Playing a game with a bunch of cheaters ruins the game. Not wanting to play it is equal to not buying it in the first place in terms of enjoyment. So I'd rather have strong anti cheat on Linux. Anti cheat doesn't ruin the game, you are still able to enjoy it.
But this is also why I think supporting native Linux builds is better. If they are supporting native Linux builds they are supporting Linux as a platform. With proton the developers don't think about Linux. Proton overall has kind of hurt Linux support because it means no one thinks about the platform anymore.
Client-side anti-cheat is the way to go for this. You need to, at some level, trust the client to get good feeling gameplay. Otherwise, you'll end up with the Counter-Strike style missing. Where bullets on the client hit the head, the head shows blood but the target doesn't get damaged. If you don't trust the client, you are going to get pop-tarting where someone jumps over a wall/hill/etc. and shoots, and because the only physics that matters is server side, they are already down under the thing they shot over. There are strong reasons why Six Siege, Valorant, Overwatch, Squad, and almost any modern shooter trust the client but put anti-cheat on it. Server-side checking can only do so much.
Overall what runs on the client is going to be 1 frame behind at least of what runs on the server. Usually far more due to latency. So the only answer is client-side anti-cheat. Now let's talk about the "invasive" part. The only way to securely ensure there are no third-party applications affecting your play is to tie into the kernel and a definitive process list. Otherwise, anyone could just prevent the process list from being accurate. So you then need kernel-level modules to report and secure the client.
There is another method that is rarely enacted. Hysterics, simply if you do too well on a game, you get banned. Have 99% Headshots? Banned. Have higher reaction times than most people? Banned. It's a real big brother solution. That's what you really should be fighting against. Banning people from games without solid proof but just statistical evidence that they shouldn't be that good. This is mainly been the focus on combating those controller automation cheat systems. It also means people who use macros can get banned.
All in all though, if you aren't doing client-side kernel-level anti-cheat then your game at this point is filled with cheaters. It's exactly why Counter-Strike has ESEA and Faceit which both require kernel-level anti-cheat to replace VAC which doesn't have kernel-level hooks and is easily by-passed. Thus CSGO's matchmaking is filled with cheaters where anyone using EAC has a relatively cheater-free game.
I play League of Legends via Proton. I assume it has an anti cheat and I never had issues with cheaters/hackers. I refuse to believe they need kernel level anti cheat for valorant. Not that I care about shooters.
If you refuse to believe it then my 10 years of making fast-paced shooters won't change your mind. League uses a userland-level anti-cheat that is easily broken. This is why most of their hacking detection is server-side. Also, reaction time doesn't really play a huge factor in League. So as long as it's within human range, the cheaters can go undetected since Rio believes that using cheats to get you high human reactions "defeats the purpose of cheating." as documented here: https://www.leagueoflegends.com/en-us/news/dev/dev-anti-cheat-in-lol-more/
So overall, shooters are much faster and require client-side authority to feel good. In league, the game is slow enough to wait for the server to tell you what happened. In something like Overwatch, the clients report what happened. When you have that level of fidelity you need that level of trust. But you don't care about shooters, so don't worry about it. You can make your flawed argument that all games can be league and all anti-cheat systems can focus on league-like gameplay.
Most developers don't support their native Linux release at all. You'll download an automatic update, and suddenly the game doesn't even start; check the forum and find out, they never even tested the Linux build, it's just all automatic, and it's gonna take a couple of weeks before they get their linux box updated and working again so they can fix it because their one linux guy is working on something else. It's crap. Proton has been a massive improvement in game reliability.
Really? Do you have an example of this with non early access games? I've personally never seen this happen and I'm my experience when a studio supports a platform they buy a computer to run the game on for that platform. I can only assume this was an experience with some very indie game?
Native builds on steam are by default picked over proton. You might be playing great native builds without realizing. Although since 2016 native build support has gone way down. Even before proton came out.
My experience with native Linux ports has been kinda bad actually. I usually don't play AAA games so maybe that explains it. But Black Mesa or Psychonauts are better on proton. Could be true though, that those are just the ones I noticed. But If I can choose I usually go for the Proton version, seems to be more reliable. It's a shame though.
My guess is that because those games target DirectX during development then they add a native build at the end that uses Opengl. What Proton does is take the DirectX version and route it to Vulkan. So it's potentially just the Vulkan usage being better than actually Proton itself.