8 ms·
The last remaining roadblock is kernel level anti-cheat frameworks. Pretty horrible technology, and unfortunately a good majority of the gaming industry by rev
by fooker 10mo ago
The last remaining roadblock is kernel level anti-cheat frameworks.
Pretty horrible technology, and unfortunately a good majority of the gaming industry by revenue relies on it.
- deleted 10mo ago[deleted]
- hparadiz 10mo agoThe Linux kernel has eBPF now so if they wanted to start spying on everything you do they can just do it.
- hackyhacky 10mo ago> The Linux kernel has eBPF now so if they wanted to start spying on everything you do they can just do it. Sure, except that anyone can just compile a Linux kernel that doesn't allow that. Anti-cheat systems on Windows work because Windows is hard(er) to tamper with.
- tapoxi 10mo agoThe interesting solution here is secure boot, only allow users to play from a set of trusted kernels.
- monerozcash 10mo agoYep, a plenty of prior art on how to implement the necessary attestations. Valve could totally ship their boxes with support for anticheat kernel-attestation. Is it possible to do this in a relatively hardware-agnostic, but reliable manner? Probably not.
- fooker 10mo agoYou can switch out the kernel in the running Linux desktop.
- znpy 10mo agoI wonder if you could use check-point and restore in userspace (https://criu.org/Main_Page https://criu.org/Main_Page) so that after the game boots and passes the checks on a valid system you can move it to an "invalid" system (where you have all the mods and all the tools to tamper with it). I don't really care about games, but i do care about messing up people and companies that do such heinous crimes against humanity (kernel-level anti-cheat).
- tapoxi 10mo agoThe war is lost. The most popular game that refuses to use kernel-level anti-cheat is Valve's Counter-Strike 2, so the community implemented it themselves (FaceIT) and requires it for the competitive scene.
- __MatrixMan__ 10mo agoI'd be less antianticheat if I could just select the handcuffs at boot time for the rare occasion where I need them. Although even then I'd still have qualms about paying for the creation of something that might pave the path for hardware vendors to work with authoritarian governments to restrict users to approved kernel builds. The potential harms are just not in the same league as whatever problems it might solve for gamers.
- digiown 10mo agoOnce a slave, always a slave. Running an explicitly anti-user proprietary kernel module that does god-knows-what is not something I'd ever be willing to do, games be damned. It might just inject exploits into all of your binaries and you'd be none the wiser. Since it wouldn't work on VMs you'd have to use a dedicated physical machine for it. Seems to high of a price to play just a few games.
- charcircuit 10mo agoWhat if the kernel module is only run in a separate VM than your main one?
- Delk 10mo agoGames that require kernel-level anticheat will probably try to detect VMs and refuse to run.
- charcircuit 10mo agoThe idea is that the hypervisor would also be signed and provide security guarantees to games to block cheats from working.
- digiown 10mo agoBeing able to snapshot and restore memory is a pretty common feature across all decent hypervisors. That in and of itself enables most client-side cheats. I doubt they'd bother to provide such a hypervisor for the vanishingly small intersection of people who: - Want to play these adversarial games - Don't care about compromising control of hypervisor - Don't simply have a dedicated gaming box
- vbezhenar 10mo agoWhat do you mean? Ship computer with preinstalled Linux that you can't tamper? Sounds like Android. For ordinary computers, secure boot is fully configurable, so it won't work: I can disable it, I can install my own keys, etc. Any for any userspace way to check it I'll fool you, if I own the kernel.
- tapoxi 10mo agoNo, just have the anti-cheat trust kernels signed by the major Linux vendors and use secure boot with remote attestation. Remote attestation can't be fooled from kernel space, that's the entire point of the technology. That way you could use an official kernel from Fedora, Ubuntu, Debian, Arch etc. A custom one wouldn't be supported but that's significantly better than blocking things universally.
- digiown 10mo agoYou can't implement remote attestation without a full chain of exploits (from the perspective of the user). Remote attestation works on Android because there is dedicated hardware to directly establish communication with Google's servers that runs independent (as a backchannel). There is no such hardware in PCs. Software based attestation is easily fooled on previous Android/Linux.
- tapoxi 10mo agoThe call asks the TPM to display the signed boot chain, you can't fake that because it wouldnt be cryptographically valid. The TPM is that independent hardware.
- digiown 10mo agoHow would that be implemented? I'd be curious to know. I'm not aware that a TPM is capable of hiding a key without the OS being able to access/unseal it at some point. It can display a signed boot chain but what would it be signed with? If it's not signed with a key out of the reach of the system, you can always implement a fake driver pretty easily to spoof it.
- ffsm8 10mo agoUh, you'd have to compile a Kernel that doesn't allow it while claiming it does ... And behaves as if it does - otherwise you'd just fail the check, no? I feel like this is way overstated, it's not that easy to do, and could conceptually be done on windows too via hardware simulation/virtual machines. Both would require significant investments in development to pull of
- hparadiz 10mo agoAll it takes is going to cd usr src linux and running make menuconfig. Turning off a few build flags. Hitting save. And then running make to recompile. But that's like saying "well if I remove a fat32 support I can't use fat32". Yea it will lock you out showing you have it disabled. No big deal.
- zamalek 10mo agoRight, the very thing that works against AC on Linux also works for it. There are multiple layers (don't forget Wine/Proton) to inject a cheat, but those same layers could also be exploited to detect cheats (especially adding fingerprints over time and issuing massive ban-waves). And then you have BasicallyHomeless on YouTube who is stimulating nerves and using actuators to "cheat." With the likes of the RP2040, even something like an aim-correcting mouse becomes completely cheap and trivial. There is a sweet-spot for AC and I feel like kernel-level might be a bit too far.
- hparadiz 10mo agoWell yeah but then eBPF would not work and then the anti cheat could just show that it's not working and lock you out. This isn't complicated. Even the Crowdstrike falcon agent has switched to bpf because it lowers the risk that a kernel driver will brick downstream like what happened with windows that one time. I recently configured a corporate single sign on to simply not work if the bpf component was disabled.
- swinglock 10mo agoWell but then attackers just compile a kernel with a rootkit that hides the hack and itself from the APIs of the BPF program, so it has to deal with that too or it's trivially bypassed. Anticheat and antivirus are two similar but different games. It's very complicated.
- hparadiz 10mo agoThe bpf api isn't the only telemetry source for an anti cheat module. There's a lot of other things you can look at. A bpf api showing blanks for known pid descendent trees would be a big red flag. You're right that it's very complicated but the toolchain is there if someone wanted to do the hard work of making an attempt. It's really telemetry forensics and what can you do if the cheat is external to the system.
- the_hoser 10mo agoThat would require that they actually make the effort to develop Linux support. The current "it just works" reality is that the games developers don't need to support running on Linux.
- jsheard 10mo agoAnother unresolved roadblock is Nvidia cards seriously underperforming in DX12 games under Proton compared to Windows. Implementing DX12 semantics on top of Vulkan runs into some nasty performance cliffs on their hardware, so Khronos is working on amending the Vulkan spec to smooth that over.
- torginus 10mo agoWhat percentage of games require DX12? From what I recall, a surprisingly large percentage of games support DX11, including Arc Raiders, BF6 and Helldivers 2, just to name a few popular titles. At the same time, Vulkan support is also getting pretty widespread, I think notably idTech games prefer Vulkan as the API.
- jsheard 10mo agoDX12 is overwhelmingly the default for AAA games at this point. The three titles you listed all officially require DX12, what DX11 support they have is vestigial, undocumented and unsupported. Many other AAAs have already stripped their legacy DX11 support out entirely. Id Software do prefer Vulkan but they are an outlier.
- csdreamer7 10mo agoGodot switched over to DX12 over Vulkan for Windows. Blaming bad Windows drivers for the reason. https://godotengine.org/article/dev-snapshot-godot-4-6-dev-5/#use-d3d12-by-default-on-windows https://godotengine.org/article/dev-snapshot-godot-4-6-dev-5...
- deleted 10mo ago[deleted]
- dijit 10mo agoDX12 is less and less the default, most gamedev that I’ve seen is surrounding Vulkan now. DX12 worked decently better than openGL before, and all the gamedevs had windows, and it was required for xbox… but now those things are less and less true. The playstation was always “odd-man-out” when it came to graphics processing, and we used a lot of shims, but then Stadia came along and was a proper linux, so we rewrote a huge amount of our render to be better behaved for Vulkan. All subsequent games on that engine have thus had a vulkan friendly renderer by default, that is implemented cleaner than the DX12 one, and works natively pretty much everywhere. So its the new default.
- dfxm12 10mo agoYou don't have to play these specific games though. I mean, what's your privacy, what's not being bombarded by ads in your OS worth to you? Have you taken an honest thought about this?
- diabllicseagull 10mo agobesides ads and privacy concerns it's been such a delight not having to deal with unwanted updates, hunting phantom processes that take up cpu time, or the file explorer that takes forever to show ten files in the download folder. I cannot be paid to use windows at this point.
- dontlaugh 10mo agoIf you want to play games with friends, you have to play whatever the group plays. This is especially problematic as the group tries out new games, increasing the chance you can’t join because you’re not on Windows.
- tormeh 10mo agoThis really depends on the friends you have. I've never encountered this limitation because no one in my friend group plays competitive ranked games. Basically anything with private sessions doesn't require anticheat, so Valheim, RV There Yet, Deep Rock Galactic, etc. all work fine.
- dontlaugh 10mo agoSure, that helps. But even then, when everyone is trying out a new indie game there’s a chance it won’t work on non-Windows. It’s happened to me.
- eru 10mo agoYes, but Linux really has gotten a lot better in recent years. At least whatever runs on Steam. I almost never had any problems with newer indie games.
- drnick1 10mo agoClearly, when there will be enough Linux gamers another solution to the kernel-level anti-cheat issue will be found. After all, the most played competitive shooter is CS and Valve has does not use kernel-level AC.
- jsheard 10mo ago> After all, the most played competitive shooter is CS and Valve has does not use kernel-level AC. Valve doesn't employ kernel AC but in practice others have taken that into their own hands - the prevalence of cheating on the official CS servers has driven the adoption of third-party matchmaking providers like FACEIT, which layer their own kernel AC on top of the game. The bulk of casual play happens on the former, but serious competitive play mostly happens on the latter.
- pityJuke 10mo agoThe best description I've been able to give of the dichotomy of CS is this: there is no way for a person to become good enough to get their signature into the game, without using kernel-level ACs.
- deleted 10mo ago[deleted]
- xboxnolifes 10mo agoThe competitive CS leagues do use AC though. The big issue for these games is the free-to-play model does not work without anti-cheat. Having a ~$20 fee to cheat for a while before getting banned significantly reduces the number of cheaters, and that's what CS does with their prime server model. And for what it's worth, I'm pretty sure Valorant is the most played competitive shooter at the moment.
- stackghost 10mo agoIsn't it pretty much an open secret that JVM-based cheats can trivially bypass VAC?
- coppsilgold 10mo agoCompetent cheat makers don't have much difficulty in defeating in-kernel anticheats on Windows. With the amount of insight and control available on Linux anticheat makers stand little chance. The best Valve could do is offer a special locked down kernel with perhaps some anticheat capabilities and lock down the hardware with attestation. If they offer the sources and do verified builds it might even be accepted by some. Doubt it would be popular or even successful on non-Valve machines. But I'm not an online gamer and couldn't care less about anticheats.
- jauntywundrkind 10mo agoThis seems both semi probably but also like maybe a bit of a critical moral hazard for Valve. Right now folks love Valve. They do good things for Linux. Making a Valve-only Linux solution would take a lot of the joy of this moment away for many. But it would also help Valve significantly. It's very uncomfortable to consider, imo.
- Fr0styMatt88 10mo agoAnticheat is one of those things where I probably sound really old, but man it’s just a game. If you hate cheating, don’t play on pub servers with randoms or find a group of people you can play with, like how real life works. For competitive gaming, I think attested hardware & software actually is the right way to go. Don’t force kernel-level malware on everyone.
- zaptheimpaler 10mo agoSorry but you're just old IMO :) PUBG or Arc Raiders have over 100 players in a game. Even Valorant or League have 10 players in a match. It's definitely not easy to find 9 friends to play the same game at the same time as you. And playing any of these games with a cheater can completely wreck the match. If the cheaters go unchecked, over time they start to dominate games where like 30% might be cheaters who can see through walls and insta headshot you and the entire multiplayer mode of the game is ruined. Even worse some cheaters are sneaky, they might have a wallhack or a map showing all players but use it cautiously and it can be quite hard to prove they're cheating but they build up a huge advantage nonetheless. Most of us are happy to have effective anti-cheat, and it's not forced upon us. I understand the tradeoff to having mostly cheater-free games is having to trust the game maker more and am fine with that. Riot for example is quite transparent about what their anti-cheat does, how it works and I don't consider it "malware" anymore than I consider a driver for my graphics card to be "malware" even if they do operate in kernel mode.
- markus_zhang 10mo agoI actually think it’s better to exclude the AAA games from Linux.
- MegaDeKay 10mo agoI'd say there are two remaining roadblocks. First and biggest is kernel level anti-cheat frameworks as you point out. But there's also no open source HDMI 2.1 implementation allowed by the HDMI cartel so people like me with an AMD card max out at 4K60 even for open source games like Visual Pinball (unless you count an adapter with hacked firmware between the card and the display). NVidia and Intel get away with it because they implement the functionality in their closed source blobs.
- foresto 10mo agoIs HDMI really a roadblock to gaming when DisplayPort exists?
- PacificSpecific 10mo agoI want to play games on the same fancy lg tv I use with my consoles. I just checked and it does not appear to have displayport.
- ThatPlayer 10mo agoUp until a year or two ago, the majority of monitors (and graphic cards) used DisplayPort 1.4 and HDMI 2.1. With HDMI 2.1 (42 Gbps) having more bandwidth than the DisplayPort (26 Gbps). This is my case with my relatively new/high-end RTX 4080 and OLED monitor. So until I upgrade both, I use HDMI to be able to drive a 1440p 240hz 10-bit HDR signal @ 30 Gbps.
- wincy 10mo agoI had said I wouldn’t upgrade from my RTX 3080 until I could run “true 4K”. I finally got the 240hz 4K uncompressed but it required buying a $1300 Asus OLED monitor and the RTX 5090. It looks amazing though, even with frame gen. Monster Hunter had some particularly breathtaking HDR scenes. I think it uses DisplayPort 2.1? Even finding the cable is difficult, Microcenter didn’t have them in April and the only one that worked was the one that came with the monitor.
- zaptheimpaler 10mo ago
- eru 10mo agoWell, if you go by revenue, mobile gaming dwarfs all else.
- deleted 10mo ago[deleted]
- marcyb5st 10mo agoI always wondered. Isn't exactly what eBPF would allow you to do? Assuming that cheats work by reading (and modifying) the memory of the game process you can you can attach a kprobe to the sys_ptrace system call. Every time any process uses it, your eBPF program triggers. You can then capture the PID and UID of the requester and compare it against a whitelist (eg only the game engine can mess with the memory of that process). If the requester is unauthorized, the eBPF program can even override the return value to deny access before the kernel finishes the request. Of course there are other attack vectors (like spoofing PID/process name), but eBPF covers them also. All of this to say that Linux already has sane primitives to allow that, but that, as long as devs don't prioritize Linux, we won't see this happening.
- chii 10mo ago> your eBPF program triggers but how does the anti-cheat know that the kernel is not modified such that it disables certain eBPF programs (or misreports cheats/spoofs data etc)? This is the problem with anti-cheat in general (and the same exists with DRM) - the machine is (supposedly) under the user's total control and therefore, unless your anti-cheat is running at the lowest level, outside of the control of the user's tampering, it is not trustworthy. This leads to TPM requirements and other anti-user measures that are dressed as pro-user in windows. There's no such thing in linux, which makes it inoperable as one of these anti-cheat platforms imho.
- pca006132 10mo agobut how can you prevent the user from modifying the kernel?
- marcyb5st 10mo agoYou can't, but circumventing anti cheats already happens on windows with all their fancy kernel level anti cheats. I believe the goal is to make it so uncomfortable and painful that 99.999% of the users will say fuck it and they won't do it. In this case users need to boot a custom kernel that they download from the internet which might contain key-loggers and other nasty things. It is not just download a script and execute it. For cheat developers, instead, this implies doing the modifications to allow those sys-calls to fly under the radar while keeping the system bootable and usable. This might not be trivial.
- mrheosuper 10mo agoI am wondering can game be shipped with their own "kernel" and "hypervisor", basically an entire VM. Yes performance will take a hit, but in my experience with my own VM, it's like 15-20%.
- fooker 10mo agoYes, maybe. Modern games already employ a bunch of VM-like techniques for tamper protection. This has effectively killed PC game piracy.
- Tom1380 10mo agoDo you pass through the GPU? Or how does it work?
- mrheosuper 10mo agoYes i passthrough the GPU
- hhh 10mo agoGames being playable also rely on it.
- amelius 10mo agoIsn't it a more fundamental problem? I can imagine a cheating setup where you have a separate PC with a HDMI capture stick ("analog hole") and access to the controllers.
- einpoklum 10mo agoBut is that really a roadblock? First, let's ask ourselves how many PCs have users play games with anti-cheat frameworks. I'm absolutely no expert, but if it's more than, what? 10%? let's even say 20% - I'd be surprised. > and unfortunately a good majority of the gaming industry by revenue relies on it. Well, it used to be the case that game makers relied on copy protection in floppy discs, and movie distributors on DVD/BluRay copy protection. Conditions changed and they adapted.
- pjmlp 10mo agoAnd native GNU/Linux games instead of depending on Windows.
- kgwxd 10mo agoHow does their revenue rely on it? People won't buy/recommend their games if they can't solve a fundamental problem, without full control over the machine their product is running on? Then they can change their business model and/or game mechanics. Simple as that. The only reason that blatant security violation was ever considered a viable option is because Microsoft gave them the ability to actually do it with the click of a button. Those companies can adapt, or die.
- observationist 10mo agoPirate everything. Stop feeding beasts and they have no power. The idea that you need intrusive surveillance in order to make games fair is absurd. If you need fair games, you need referees and moderation, which means you need to train and pay competent people and establish open and transparent rules and tools. You can also give your refs latitude, so if someone is obviously cheating, they have the power to do something about it. You should also require and implement publicly transparent and auditable actions with recourse for players to prevent abuses of power. That's expensive. It's much easier to create a terms of service with vague guidelines, implement a totally intrusive, absurdly invasive rootkit that does some bare minimum scanning for known cheats and patterns, which establishes an arms race and provides bad actors a nice little point of ingress when the responsible company inevitably fails to protect their users competently. Just like media platforms, if you cannot moderate at the scale at which you're operating, then it shouldn't be legal to operate at that scale. People should stop giving money to companies that don't deserve it. No game is worth sacrificing your integrity for. "Just trust us, we know what we're doing" is a huge red flag, and it should be criminal to do what they do. AI refs are going to be a very real possibility in the near future that can be just as fair and competent as humans, so the "necessity" for rootkits won't be a valid argument for much longer. It'll still be expensive, but multiplayer gaming fairness shouldn't ever serve as a reason for nuking privacy.