←back to thread

Steam Machine

(store.steampowered.com)
1173 points davikr | 2 comments | | HN request time: 0s | source
Show context
hebejebelus ◴[] No.45904087[source]
Very interesting! The one killer issue that jumps to mind is anti-cheat. I switched away from gaming on Linux via Proton to gaming on Windows because Battlefield 6's anti-cheat won't work under Proton. Many games are like this, particularly some of the most popular (Rainbow 6 Siege for instance). And BF6 made this decision only recently despite the growing number of Steam Deck players (and other players on linux - in fairness I don't think there would have been that many BF6 players on a handheld).

Edit: I specifically use a gaming-only PC. The hardware is used for nothing else. Hence, discussions of rootkits don't really bother me personally much and on balance I'd really rather see fewer cheaters in my games. I think it would be the same with any of these machines - anything Steam-branded is likely to be a 99% gaming machine and their users will only care that their games work, not about the mechanisms of the anti-cheat software.

replies(8): >>45904175 #>>45904207 #>>45904682 #>>45905512 #>>45905633 #>>45906276 #>>45908020 #>>45908039 #
hananova ◴[] No.45904175[source]
All Valve has to do is say “Your software cannot deliberately exclude linux support including kernel anti-cheat to be listed on Steam.” And that would be that, the few devs big enough to make it on their own would leave, and everyone else would adapt.
replies(4): >>45904232 #>>45904245 #>>45904268 #>>45905926 #
Goronmon ◴[] No.45904245[source]
Is there an feasible alternative to "kernel anti-cheat" available on Linux?
replies(3): >>45905143 #>>45905901 #>>45908286 #
Sohcahtoa82 ◴[] No.45905143[source]
There isn't.

When it comes to anti-cheat on Linux, it's basically an elephant in the room that nobody wants to address.

Anti-cheat on Linux would need root access to have any effectiveness. Alternatively, you'd need to be running a custom kernel with anti-cheat built into it.

This is the part of the conversation where someone says anti-cheat needs to be server-side, but that's an incredibly naive and poorly thought out idea. You can't prevent aim-bots server-side. You can't even detect aim-bots server-side. At best, you could come up with heuristics to determine if someone's possibly cheating, but you'd probably have a very hard time distinguishing between a cheater and a highly skilled player.

Something I think the anti-anti-cheat people fail to recognize is that cheaters don't care about their cheats requiring root/admin, which makes it trivial to evade anti-cheat that only runs with user-level permissions.

When it comes to cheating in games, there are two options:

1. Anti-cheat runs as admin/root/rootkit/SYSTEM/etc.

2. The games you play have tons of cheaters.

You can't have it both ways: No cheaters and anti-cheat runs with user-level permissions.

replies(9): >>45905344 #>>45905571 #>>45905637 #>>45905790 #>>45905907 #>>45906018 #>>45906344 #>>45906502 #>>45907039 #
polski-g ◴[] No.45905790[source]
But isn't all client-side anti-cheat bypassable by doing image recognition on the rendered image? (either remote desktop or a hardware-based display cable proxy)
replies(2): >>45906123 #>>45906396 #
1. Yokolos ◴[] No.45906123[source]
Modern cheats are far more advanced than this. Using a DMA cheat, you basically just read the game's memory from a different computer and there's no way for the game to know unless the PCI device ID is known: https://intl.anticheatexpert.com/resource-center/content-68....
replies(1): >>45906381 #
2. bangaladore ◴[] No.45906381[source]
DMA is "easy" to patch. No reason to allow a device to have arbitrary memory access. Just require use of IOMMU.

FaceIT essentially has countered most modern cheats including those using DMA. https://www.faceit.com/en/news/faceit-rollout-of-tpm-secure-...

Nowadays if memory access is needed, you are looking at having to find a way to load a custom BIOS or UEFI module in a way that doesn't mess with secure boot. Even then, certain anti-cheats use frequently firing interrupts to find any unknown code executing on any system threads.