90 points water-drummer 3 days ago 96 comments
pjmlp 3 days ago | parent
tfrancisl 3 days ago | parent
pjmlp 3 days ago | parent
Additionally macOS is transitioning to have only userspace drivers.
I suspect that eventually Microsoft will be pressured to do the same with the ongoing cyber security liability laws, and disasters like in 2024.
So will they only do consoles when it comes to it?
sylens 2 days ago | parent
tfrancisl 2 days ago | parent
tancop 2 days ago | parent
Stadia used Linux and they never had anti-cheat.
novafunc 2 days ago | parent
ChocolateGod 2 days ago | parent
Desktop Linux has none of that.
tfrancisl 2 days ago | parent
Look, if Canonical had one of their keys leaked, I can go and sign my kernel and kernel modules and secure boot just fine as if my kernel is one distributed by Canonical. There are no checks on whether the contents of the kernel are correct. So, let's exclude people entirely from tuning their kernel for performance etc, and tell them they have to go to a narrow set of approved vendors, who must listen to Epic rather than their users. This is about control over the ecosystem, an ecosystem Epic has spent their years spitting in the face of.
ChocolateGod 2 days ago | parent
Secure boot is not attestation. It does not provide userspace any guarantee the system booted a secure boot chain.
Secure boot can be bypassed by dodgy firmware (cough cough msi) or the kernel can lie to userspace about the secure boot state.
The moment the UEFI firmware jumps to the bootloader, secure boot is no longer useful.
> Look, if Canonical had one of their keys leaked, I can go and sign my kernel and kernel modules and secure boot just fine as if my kernel is one distributed by Canonical. There are no checks on whether the contents of the kernel are correct
This is literally where the TPM comes into play because your kernels signature would get written to the PCR register and fail an attestation check.
> This is about control over the ecosystem, an ecosystem Epic has spent their years spitting in the face of.
This is just FUD
pjmlp 2 days ago | parent
theevilsharpie 2 days ago | parent
I'm not sure how you get that from the article (maybe it was pointed to a different article earlier?).
I don't have a Steam Deck, but as I understand it, it does not support Secure Boot out-of-the-box. Also, SteamOS is Arch-based, and it doesn't look like Arch is listed among the "well-known" signing keys that EACv2 lists as trusted.
But not supporting the EACv2's requirements today, doesn't mean that Valve is inherently opposed to doing so. If you have a statement from Valve claiming that, please share it.
tfrancisl 2 days ago | parent
wildzzz 2 days ago | parent
tfrancisl 3 days ago | parent
> Signed Kernel and Kernel modules
Probably the most egregious. Why am I not allowed to compile my own kernel? Why do I have to get a kernel, and modules, from specific, approved, vendors?
> TPM 2.0, Secure Boot, Measured Boot
Also all impractical for most linux users.
> IOMMU
You may not spy on my memory, thank you very much. What's stopping Epic from taking snapshots and phoning home?
> Kernel Lockdown Integrity mode at boot time
Preventing root from doing root things for the sake of it. I mean, maybe this makes sense.
They're also trying really hard to make Linux distros that "don't support this" look like the bad guys. They encourage distro maintainers to reach out to work together on the requirements, but many distros are effectively excluded by default (Arch, Gentoo, NixOS, which I believe have most of the gamers, at least in the online spaces I chat in).
pjmlp 2 days ago | parent
There are so many to chose from, even retrogaming content is more than I can play during my remaining lifetime.
tfrancisl 2 days ago | parent
pjmlp 2 days ago | parent
Thus Proton depends on Windows as source ecosystem, only yet another platform to "emulate" on Linux, like MAME, Amiga, Playstation, whatever.
tfrancisl 2 days ago | parent
anthk 2 days ago | parent
ChocolateGod 2 days ago | parent
Because your kernel could have the ability to allow a program to modify the game memory and hide the fact it's doing so?
Most Linux users are probably using a signed kernel. I don't think this is as big of a deal as you're making out.
tfrancisl 2 days ago | parent
I understand this, and my contention with this is that a signed kernel could have that too, so requiring the kernel to be signed locks us into very few ways of getting the kernel with little benefit to the AC if a key is leaked.
> Most Linux users are probably using a signed kernel. I don't think this is as big of a deal as you're making out.
I don't think this is true of most people interested in gaming on Linux in particular. Aside from that, the chain of things you need to do to prove you have a signed kernel are onerous and incompatible with many bootloaders and other tools many Linux users use regularly.
tuna74 2 days ago | parent
jasomill 2 days ago | parent
The goal here is to expand support to games that have chosen not to opt-in to user-mode anticheat, which isn't going to happen without some form of kernel protection.
With that said, I'm pleasently surprised that Epic's initial list of supported signing keys includes a number of noncommercial entities (AlmaLinux, Debian, Rocky Linux, Universal Blue) in addition to the usual commercial suspects (Canonical, Red Hat, SUSE).
The only real sticking point with popular gaming distro support appears to be Steam devices / SteamOS, which the phrase "to the maximum extent technically possible" suggests might be problematic for reasons other than including a signing key.
This seems like it could be a potential problem in getting game developers whose sole interest in supporting Linux is the Steam Deck to play along with the scheme, or alternatively a potential problem for Valve if there's enough uptake that Linux gamers start considering non-Steam devices, and by extension, storefronts, due to the fact that other devices could support a superset of games, given that neither Steam nor Proton are Steam hardware or SteamOS-specific.
ChocolateGod 2 days ago | parent
ronsor 2 days ago | parent
tfrancisl 2 days ago | parent
not_a9 2 days ago | parent
Userspace bugs is where I’d look first.
jasomill 2 days ago | parent
Retr0id 2 days ago | parent
ronsor 2 days ago | parent
tancop 2 days ago | parent
I think most people will dual boot a ready made gaming distro like Garuda next to their normal one anyway because the kind of setup you need to really optimize game performance is not easy, and you can get a console/Steam Deck like experience right from boot.
Even a locked down Linux is infinitely better than Windows if you care about privacy, because you only have two closed source components (EAC and the game itself) instead of the whole OS. If any of them tries to read your private data it will turn to a scandal immediately and they can't blame Microsoft.
And IOMMU does not let anyone spy on memory. The whole point of it is making sure no one can do that, to avoid DMA hacks.
water-drummer 2 days ago | parent
So you can't compile cheats into your kernel? You want your own custom compiled kernel for hypothetical 2℅ performance gains in a synthetic benchmark? Just don't boot into it when you wanna play the game.
> Also all impractical for most linux users.
You don't represent "most" linux users. Define impracticality here because these are genuinely useful security features that you ideally should have even if you don't wanna play Fortnite.
> You may not spy on my memory, thank you very much. What's stopping Epic from taking snapshots and phoning home?
The fact that it would be a huge legal and PR nightmare for them upon getting caught which is very much in the realm of possibilities given the fact that it's not hard to tell if some eBPF byte code is doing that especially with LLMs making it a 100x easier nowadays.
> Preventing root from doing root things for the sake of it. I mean, maybe this makes sense.
Just don't boot into the kernel you want to tamper with when you want to play an EAC game. Problem solved
> They're also trying really hard to make Linux distros that "don't support this" look like the bad guys. They encourage distro maintainers to reach out to work together on the requirements, but many distros are effectively excluded by default (Arch, Gentoo, NixOS, which I believe have most of the gamers, at least in the online spaces I chat in).
You just made that up in your head. You can install a kernel that EAC will accept into any of these distros. Oh, and, did you just say most gamers in the online spaces you frequent use Arch, Gentoo and NixOS? I can buy Arch, sure, but NixOS? and especially Gentoo?! I guess that explains your comment and gives me context on why you decided to write what you have written. You're far from "most" linux users, buddy. Most people don't care if they've haven't hand-compiled their own kernel on the back of a notebook they bought in 1998. I myself use Arch and if I ever want to play such a game, I'll just boot into a kernel that has been signed by a key that EAC accepts and won't go around whining that Arch maintainers are bad or anything.
This is a good thing but I guess it takes time to let the copium wear off that a lot of neck beard linux users kept sniffing over the years when they couldn't find a good answer for people not wanting to switch because their favorite game wouldn't run by calling literally any closed source code running below ring 0, "rootkit" as if their UEFI and firmware is GPL licensed.
tfrancisl 2 days ago | parent
water-drummer 2 days ago | parent
I could say the same about you cause you didn't bother explaining why a bunch of security features were impractical for most people.
> Yes, lots and lots of people play video games on NixOS and Gentoo. Who is playing video games on Fedora, Debian?
I think we might be having a case of a bubble here. I suggest looking into Steam survey results. Also, you said "most" people not "lots" so you're now backpedaling on your claim.
> I dont care that I can switch kernels, I shouldnt have to.
You're right, in fact, in an ideal world, you shouldn't even have to install the anti-cheat as everyone plays nicely and nobody cheats. Unfortunately, we don't live in that world.
You still don't have to switch your kernels or install the AC by simply not choosing to install the game if you think them not trusting random kernels to be free of cheats is unreasonable of them.
iugtmkbdfil834 2 days ago | parent
Well, that part is simple: 'security features' is a nice way of saying 'your rights as an administrator are restricted'. In other words, it is not the security of the end user, but rather some major corporation. And it is not even even real security.. it is financial security. It is not that just that it is impractical; that is not even a consideration here: it is dumb for me to artificially restrict myself from being able to do things as I see fit on my machine.
<< I think we might be having a case of a bubble here. I suggest looking into Steam survey results. Also, you said "most" people not "lots" so you're now backpedaling on your claim.
Eh, I am on those Steam charts and I am shown as Windows 7 user for some games. Do you really think those are that accurate to begin with?
<< You still don't have to switch your kernels or install the AC by simply not choosing to install the game if you think them not trusting random kernels to be free of cheats is unreasonable of them.
Or, alternatively, ostracize anyone who would consider shilling, installing, or even maintaining this unholy abomination.
Archit3ch 2 days ago | parent
So you can ignore the newly-enabled games in this proposal and you're not missing anything you had previously.
tfrancisl 2 days ago | parent
tapoxi 2 days ago | parent
tfrancisl 2 days ago | parent
not_a9 2 days ago | parent
Frankly at this point I’m pretty sure John McDonald plays HvH too
tfrancisl 2 days ago | parent
Now, if we want an interesting case study in intrusive anticheat not necessarily being more effective than behavior-based, we should compare FACEIT to Valve servers. FACEIT is riddled with cheaters, and yet requires ring-0 anticheat on Windows. So fascinating!
not_a9 2 days ago | parent
> FACEIT is riddled with cheaters
According to sources of… what? In any case it’s sure as shit less riddled with cheaters than Premier LMAO
Archit3ch 2 days ago | parent
The same goes for a binary protected by TPM 2.0, but the attacker would have to re-implement the protected parts. The defender's bet is that this should require too much effort/time/knowledge to bother.
tfrancisl 2 days ago | parent
jasomill 2 days ago | parent
This is a risk if Valve plays along in the future, however, or if players are willing to migrate away from the Steam ecosystem to run games that require the new scheme.
kyxsc 2 days ago | parent
I use CachyOS but don’t really play many games on Linux. I’ve enabled secure boot so I can seamlessly swap to Windows for certain kernel-level anti-cheat games like Valorant. Using a shell alias/function (and menu bar buttons), I can boot into Windows (yay Limine one-shots!) in one command/click and next reboot, while in windows, gets me back into Linux. I really like this setup and believe it’s the most seamless you can get, besides a Windows VM with GPU handoff in Linux, which when I tried a couple years ago, was able to work with Apex.
tuna74 2 days ago | parent
Because otherwise you can cheat of course. You can code in whatever you want in your own Linux.
zaptheimpaler 2 days ago | parent
If you don’t want to play these games you don’t need to install any of this. But this is not unusable and none of this is impossible for distros. Most of this stuff is super common and the average linux user wouldn’t even notice.
Distros will just offer a “gaming-ready” image/mode that enables these restrictions and users can choose to use it or not.
throwaway2037 2 days ago | parent
> > TPM 2.0, Secure Boot, Measured Boot
> Also all impractical for most linux users.
TPM 2.0 has been common for 8+ years. Many Linux distros support Secure Boot out of the box. I don't understand your concerns here. What am I missing?Surac 2 days ago | parent
Havoc 2 days ago | parent
tancop 2 days ago | parent
Doing it this way is strictly more private and secure than any anti-cheat on Windows, even the ones with no kernel access that run as administrator. The systemd service runs as a normal user, only when you're playing a game and you can verify that with one command. The same lockdown mode that blocks cheats also prevents EAC from reading arbitrary process memory.
I'm just waiting to see what distros Epic will whitelist next. I hope SteamOS gets support day one when the official desktop ISO comes out.
qikp 2 days ago | parent
throwaway2037 2 days ago | parent
EDIT: More info here: https://lwn.net/Articles/13398/
mid-kid 1 day ago | parent
tancop 1 day ago | parent
Retr0id 2 days ago | parent
ashpool37 2 days ago | parent
Ideally there should be little conflict between the two, however, modern online games require running sophisticated software locally that encapsulates core game logic. The fairness (compliance) goal demands that this software runs correctly and only conveys information and processes input as designed. The user control (freedom) goal demands that the individual user is allowed to run and modify any software as they see fit, including any game software, meaning that he or she must be able to tamper with the game software behaviour to gain advantage.
Now remember that online gaming is an extremely low-trust environment. Competitive online gaming is often supposed to emulate sportsmanship, thus widespread trust in the games' rules is essential so that players continue to participate. At the same time, building that trust dictates enforcing compliance down to the level of each individual user's hardware. So if you want to participate, you must be willing to give up ultimate control over your hardware and software, even if you believe it's only temporary.
All of this might sound very obvious, tautological even. However, lots of comments on this sound like they come from a place of unawareness of this contradiction. More people need to see that this is not a tech incompatibility issue, but rather a more serious values clash. Linux folks are (still) mostly the ones who prefer more freedom and control over their software, and competitive online gaming asks that they give that up. For a lot of people this defeats the purpose of using Linux in the first place.
ashpool37 2 days ago | parent
Each participating distro's maintainers will need to publish a compliant distro flavour in binary form in order to remain on the "good guys" key list. Negotiating and implementing the compliance criteria, as well as maintaining the entire thing will all consume additional man hours, which open source maintainers famously have very little of.
If a distro/appliance maintainer is committed to continue to participate, an incentive emerges to gradually push the compliant version as the default, the later possibly the only supported version of their offering. Unhappy users may of course switch, but the more this proliferates the less good places will remain for them to go to. This pattern of enshittification by infiltration and complacency manipulation is the one we see almost everywhere in the modern tech.
Hopefully a well-enough organised minority of uncompromising users and developers always remains in tech, if not in the Linux world then in the BSDs. We will always need to keep our eyes open for the false values masquerading as tech dilemmas like this one.
I'm not a lawyer so I will not get into the legal ramifications of distributing locked-down binary versions of free software. However, it's clear that without obtaining the private signing key a user will never be able to modify that software on their system for the purpose of running the game, which may or may not infringe on their freedoms as provided by the licenses.
Terr_ 2 days ago | parent
For example, the players may want to wants to mod the game-server with features, bug-fixes, or moderation-tools, while the publisher wants a strict lockdown to their artificial monopoly on "digital goods."
> Now remember that online gaming is an extremely low-trust environment.
Tied to the above point, I believe this trust was slightly-but-meaningfully higher when people could form their own servers/communities and be "regulars".
However publishers didn't like that arrangement, because it threatened their ability to sell cosmetics, collectibles, and sometimes outright gameplay advantages.
ashpool37 2 days ago | parent
A more federated future for online gaming is theoretically possible, but seeing how much the Fediverse struggles with the adoption of alternatives to software that most people consider bare basics, I don't think it's the future that the arrow of entropy points to.
x-complexity 2 days ago | parent
Then the mod must be loaded & run on the server's end, with its logic enforced on all players on that server. The client shouldn't have free reign over the server's internal logic & state.
The one exception to this are visual mods that modify the presentation. But even then I'm skeptical, as modifying the presentation layer can affect the decisions that X makes, or even worse, give them an unfair advantage that other players should also have if X has them.
Terr_ 2 days ago | parent
Yes, I know, I'm already talking about that scenario.
Even with well-behaved clients, publishers have moved away from allowing server-mods because the operator could just as easily mod-in "players can equip stuff without paying the publisher $50 for the privilege of skipping hundreds of hours of artificial grind."
Or, in other words, skipping on "their sense of pride and accomplishment." [0]
[0] https://massivelyop.com/2017/11/13/ea-claims-star-wars-battl...
ashpool37 2 days ago | parent
Moreover, restricting mods to only the server side doesn't solve the trust issue: if you don't trust your players, your only option is still to try and enforce their local configuration somehow. The problem with big publishers trying to centralize this authority is their audience will always be too big to trust without enforcing compliance, and relying solely on behavour report and review system will not scale.
Even without any mods, there's a lot of trust required between the client and the server in pretty much any online game. The client has more information that it is allowed to show, and the server often trusts it reports the user's actions faithfully, because enforcing all of that on the server side would be prohibitively expensive performance-wise.
HairyKraken 2 days ago | parent
____mr____ 2 days ago | parent
waterTanuki 2 days ago | parent
For as much hate as cloud gaming gets (the whole "you will own nothing and be happy" schtick) I see it as the perfect solution to online competitive games:
- Even if you own physical media, you don't own the servers or data necessary to run the game.
- Games can be run by an accountable third party who runs signed kernels and hardware with attestation.
- None of your personal information ever touches this hardware.
There is a middle ground where instead of playing all of your games remotely, you only play the online competitive ones remotely in order to protect your data and ensure a fair environment. Too many companies have become rent-seekers to the detriment of their customers that this won't be seen as a viable solution because of the negative connotations.
Do not mistake this for complacency. I will gladly pick up a torch or pitchfork the moment NVIDIA suggests I rent their servers to play Minecraft or Stardew Valley, but for games like Battlefield 6 I think this solution works perfectly.
Terr_ 2 days ago | parent
Or stop trying to run a "competitive" game across a global network of strangers, and trade some hard/brittle technological approaches for soft/resilient social ones.
ashpool37 2 days ago | parent
As for the latter part, I know that I myself am too busy and not patient enough, and if I really, really wanted to play a protected game I'd probably just switch to a compliant distro and daily drive it.
2001zhaozhao 2 days ago | parent
____mr____ 2 days ago | parent
2001zhaozhao 2 days ago | parent
It isn't as good as kernel level AC in some sense but is equal in others - it's easier to cheat at all on my AC because you don't need hardware, but it limits cheaters' opportunities enough that my AC + server-side detection is equal to kernel AC + server-side detection at catching any given cheater.
harpiaharpyja 2 days ago | parent
And in fact there are many online games that are competitive not in the narrow sense used above, but in a more general sense where people don't cheat because they choose not to, usually because a sense of community does exist among players of such games.
rekoil 2 days ago | parent
I would not have an issue with having a "gaming kernel" installed that I can reboot to when I want to game, one that gives EAC and other similar softwares access to my hardware so they can do their jobs, I don't love it, but I'm ready to make that sacrifice because I have experienced gaming with rampant cheating.
The problem is nobody is providing that option, and game developers are instead actively excluding Linux as a target platform entirely, e.g. Apex Legends, a game that ran well on Linux until October 2024 when Respawn decided to actively block it from joining online matches by toggling a flag in EAC.
I want to get off Micro$lops wild ride please.
ChoosesBarbecue 2 days ago | parent
Right, because they warranted EAC’s Linux offering as insufficient for protecting their titles from cheaters.
The proposed solution from Epic would resolve that.
braiamp 1 day ago | parent
xg15 2 days ago | parent
There is also nothing from stopping other companies that have nothing to do with gaming from jumping on the bandwagon and requiring EAC Linux if it's already available.
realusername 2 days ago | parent
I always had issues with this argument because the console fps are full of cheaters and they are better locked down than computers ever will be.
We know what works, heuristics and paid moderation. Unfortunately for gaming companies, it does cost money, they can't just slap an anti-cheat and call it a day.
dolni 2 days ago | parent
It doesn't solve all methods for cheating, and it doesn't prevent cheating. But it does help you remediate it.
Are game companies training AI models to detect aimbot-like crosshair movement, for example?
khedoros1 1 day ago | parent
Valve was talking about using machine learning to recognize cheating back in 2017: https://www.pcgamer.com/valve-wants-to-take-a-machine-learni... and more info from 2018: https://www.youtube.com/watch?v=ObhK8lUfIlc
And this one from 2023 is about using an RNN Deep Learning model for cheat detection: https://www.usenix.org/conference/usenixsecurity23/presentat...
It's a cat-and-mouse game. A detector detects inhuman speed? Aimbots adapt by limiting movement speed and reaction time. Detectors start looking for unnaturally smooth movement? Aimbots add randomness to make the movements less consistent and smooth.
ramses0 1 day ago | parent
Cheaters (athletes) are always incentivized to cheat in "new and exciting ways" today. It's impossible to defend against all possible new forms of cheating, but they instead keep blood samples for up to ten years so that "when they figure out what to test for", they can retroactively penalize participants.
Same with online cheating, save high fidelity recordings and be able to replay. As detection catches up to exploitation, you ban hammer the prior exploiters.
braiamp 1 day ago | parent
This is only if the clients aren't people that know each other. Cheating is, fundamentally, a social problem. No amount of technical solution will ever fix it, just make it more expensive. The biggest example of game that has cheaters and nobody is clamoring for anticheats is Meccha Chameleon.
Social enforcement does need tooling for communities to self-moderate, but that’s an argument for designing games around trust, like community servers, not for locking down the client. Any dev could ship community server support... but not doing so is a publisher choice, not something the customer should provide, but can demand
spl757 2 days ago | parent
trashface 2 days ago | parent
Yeah fuck that and fuck them for suggesting it. Do they even understand what running linux means?
qikp 2 days ago | parent
You can create a fake efivarfs, fake integrity states, etc, and if they actually try to test the integrity features to see if it's true, you can easily determine that and conditionally provide the vanilla behavior.
xg15 2 days ago | parent
No. [...]
Does EAC Linux v2 run in the background all the time?
No. [...]
Those seem a bit misleading if the anticheat encompasses the entire operating system...
NekkoDroid 2 days ago | parent
The "Does EAC Linux v2 use a kernel driver?" does feel slightly misleading, especially considering the API stability guarantees are also the same as regular kernel drivers, but the "Does EAC Linux v2 run in the background all the time?" doesn't necessarily feel misleading to my understanding.
xg15 2 days ago | parent
If you cannot control anymore what is being built, the desperation to try and control what is being run will only become larger.
erelong 2 days ago | parent