I was a long time Windows user, starting with XP. I only tried Linux a few years ago, and while I loved it, at the time I had to dual boot for a couple specific Windows only things (VR and flight/racing sim hardware).
A couple months ago though, I got sick of it. I figured if I really wanted to do those things, I could boot up a VM, or just force myself to be patient and wait for a proper Linux solution. So, I wiped all my drives and installed Arch. Around this time, I also got an AMD RX 7600XT, so that was a nice performance boost, plus it waranted a switch to Wayland.
Let me tell you, I have been so pleasantly surprised by basically everything I've tried. Cyberpunk 2077 through Heroic Launcher, for example, with 15 odd mods. Runs at a solid 80fps at 1440p on high settings, the only graphical issue I noticed was flickering volumetric clouds. This game ate my old card (the venerable GTX 1080) alive even on Windows.
Just last night, I found my joystick, an old VKB Gladiator + Kosmosima grip, plugged it in and it worked perfectly.
What has really, really impressed me though is VR. I have a Quest 2 that I used to use via Steam link to play my PC wirelessly. Obviously that isn't an option on Linux (yet) but that's where ALVR comes in. Sideload the client on the quest, run the streamer on the desktop, start SteamVR, and bam, it works. The first game I tried was Elite Dangerous, one of my all time favourite games and easily my favourite VR epxerience. Now, I won't go ahead and claim it's perfect, hence the 99% in the title. After fiddling with the settings and making sure I had hardware encoding/decoding set up right, I had very good clarity, up to 120hz refresh rate, but occasional blockiness and artifacting, especially in heavier graphical scenes, like during docking. However, out in open space, it felt just like the ED I know and love.
At this point, I'm just going to look at fiddling with some settings and hopefully smoothing out the stream, but the fact that I can play my favourite games, with my favourite hardware, with great performance and in VR, and the amount of setup is really comparable to what it is on Windows is just kind of wrinkling my brain. Plus, only a couple months ago, this wasn't the case. Support for things that were once doomed to be dual boot material for the foreseeable future is coming along rapidly. This is a great time to be a Linux gamer.
@KrokanteBamischijf @hperrin But it needs to stop in a way that keeps those competitive games fun...
- Trusted Computing-based solutions
- Don't tell the game anything-based solutions...
- ??
Trusted-Computing requires a more locked down system than any distro provides, and also (effectively) everyone going along with some MS-controlled standards for TPMs and so forth.
Ignorant-Games approaches perform terribly.
What else ya got?
@KrokanteBamischijf @hperrin Protecting code from the computer it runs on is either impossible or really really hard, depending.
https://multicians.org/thvv/mirror/obfreport.pdf
https://www.iacr.org/archive/crypto2001/21390001.pdf
A few options in my personal order of priority:
@sugar_in_your_tea Private servers exclude MMOs as a class of game. That works well for death-match style (or BG3 style) 4-player games, but doesn't work for 30-300-3000 people games.
Anti-cheat server-only allows too many cheats. There's already enough trouble distinguishing someone using wall-hacks from someone with good headphones in a game that does 3d-spacial-sound... trying to do that on the server side ... just won't work. Same applies for other ways of increasing the costs if detected
Why? There are some massive Minecraft servers (thousands of players), and Palworld is self-hostable (closer to other MMOs), so I honestly don't see the issue. You'd have a different set of characters on each server, but that just increases the risk for cheaters who get booted.
Part of anti-cheat is not sending the data cheaters use to cheat in the first place. A wall hack is possible because the client is aware of what's beyond the wall, and that doesn't need to be sent for anything that's not visible. That increases computation on the server, so games tend to send more game state than is necessary for smoother gameplay.
There should be a mix of elite players among the "tribunal" for determining whether someone is hacking. Players report other players, and the server should log enough to recreate the play session so moderators can review the gameplay to make a determination. A lot of cheating is pretty obvious to detect algorithmically, so this would be in a "review" scenario where it's not so cut-and-dry.
But this takes a lot of resources, which cuts into profits, so I think studios tend to just throw on anti-cheat so they can shift blame (hey, anti-cheat didn't catch it, we'll forward your report). But I do sincerely believe it's feasible for serious competitive games where real money is on the line (e.g. tournaments for prize money and whatnot) without clientside anti-cheat. For more casual games, a higher error rate is probably fine.
@sugar_in_your_tea Your response about wall-hacks is my "don't tell the game anything" comment. It's really really damn slow. You typically don't want to do frame-by-frame determination of if an opponent is just in view or not (because that's a full render), so you send the info to the client once it's possible... at which point the client knows.
Even if the game isn't hacked, the video pipeline "knows", and hacks have moved to be outside of the game space (thus the move to kernel-based)
Yup, "don't tell the game anything" is slow, I'll give you that. But anything that exists on the client can be hacked, even on a completely locked down console. People still cheat all the time with anti-cheat enabled, and I don't expect that to change just because they put it in the kernel.
A couple thoughts:
The data would need to be sent a few frames ahead of time for performance reasons, so there's risk there, but if someone can wall-hack within a few frames, that's a good indicator that they're cheating anyway. I'm no game dev, so I'm probably missing some significant considerations here, but it seems like this is feasible, just expensive when the alternative is a much less expensive anti-cheat service.
And I agree with your reply, this is a hard problem to solve. I just think game companies are pushing the problem onto anti-cheat devs instead of really trying to solve it themselves in a privacy and security respecting way because it's cheaper and easier to offload a large share of that liability.
https://www.youtube.com/shorts/LY2hG-_asKU
@A_Random_Idiot That's basically a form of @sugar_in_your_tea 's suggestion about making cheating more expensive: "We'll find your cheat program later, and retroactively find that you were cheating and ban you. Well after the match ended and everyone else's game was ruined"
You are going to always be reactive to cheating.
If you are pro-active, you'll just make it easier for cheaters to iterate and experiment and find ways around the pro-active.. and what happens then? You're back to reactive. Not to mention, pro-active anti-cheat tends to be rife with false positives, resulting in very public ban waves against innocent people.
It cant be helped, No amount of giving your butthole over to big daddy game company and their rootkits will make a game cheat-free. all they can hope for is to catch the cheaters, drop the hammer on them in bulk, so they struggle and panic to try and find out how it was detected so you can increase their cycle time before they have a new working one out.
@A_Random_Idiot That's .... not entirely wrong, but doing more to raise the barriers higher keeps the game fun longer before the cheaters ruin it.
(Again, ... limiting discussion to competitive PvP-style games)
@A_Random_Idiot Yes, I think everybody has a reactive component to their plan? In the current situation, being reactive in some form appears to be table stakes.
But keeping higher barriers (is believed?) to make it easier to do that, and keeps some of the initial noise down, and pushes the timing off.
AND PUSHING THE TIMING IS A GAIN (to the makers of competitive PvP games)
But if youre banning people based on operating system, of what's now the only viable consumer operating system, youre basically sacrificing 100% of 'keep the game fun longer' for those players.
So if that's the philosophy, it would be wildly counterproductive to even put that on the table.
@melpomenesclevage sacrifice 100% of 2% balanced against 5% of 98%? Are you sure that's math you want them doing?
(And based on my 2nd hand experience, "5% enjoyment" kinda seems low. The cheaters do ruin things)
But people only refuse to switch to Linux because the anti cheats stop it.
And you can't quantify joy like that. What's your investment in windows?
@melpomenesclevage (my personal investment in windows? 0%? I don't have a windows PC, at home or work. I've been Linux primary since ... shit, 1994 or something? I've got some "bought in store" style linux games? I remember when pre-compiled packages were a feature. I'm an old.
I'm trying to help explain the incentives driving the behavior toward kernel-level anti-cheat so that arguments against it can be well formed. I don't want that stuff infecting linux gaming)
Oh. Yeah I'm not in favor of kernel level anti cheat. That's fucking unacceptable. That's like the third to last thing I'd ever want to give that level of access.
Strong moderation? Shadow banning habitual cheaters to cheat leagues?
@KrokanteBamischijf @hperrin (my wife suggested auditing suspected cheats in games like battlefield by forcing them to play in real world paintball tournaments.
I think her experience as a teacher is impacting her suggestions)