logoalt Hacker News

stego-techtoday at 11:27 AM1 replyview on HN

KLAC isn’t the problem so much as lazy or shitty devs refusing to put in the work to support Linux as a platform. They’ll literally have game logic run in encrypted VMs on other platforms but then refuse to do the same on Linux with superior hypervisors like KVM and bhyve. Some developers have explicitly removed EAC support on Linux from their games, despite no open issues with it. Others demand someone else write the APIs needed for their invasive rootkits to run, ignoring that Linux is very much a community effort and that if one will write and publish it, others will use it.

I will 100% give Linux evangelists the guff they deserve on shitty UX in GUIs and their insistence upon a dozen slightly-tweaked solutions to the same core problem that prevents the industry from consolidating into widescale popularity on endpoints, but the incompetence and/or laziness of major devs to support even something like Debian is not a failing of Linux.


Replies

Gareth321today at 12:07 PM

There is no doubt an economics problem here, where it might not make sense to invest a lot of effort into a system from which less than 1% of revenue is derived.

However, KVM does not solve the problem. In fact, Riot explicitly explains why virtualisation can make the problem worse: if Vanguard runs inside a guest, a cheat can run on the host and manipulate the VM in ways the anti-cheat cannot see. Riot says Linux currently does not give it sufficient ability to attest the boot state or kernel modules, with distro differences making the problem harder.

Linux also deliberately does not provide a stable in-kernel ABI for proprietary out-of-tree drivers. The kernel documentation explicitly says there is neither a stable binary kernel interface nor a stable internal kernel interface. The preferred model is for drivers to be upstreamed and maintained with the kernel, which is almost the opposite of how closed-source kernel anti-cheat is normally deployed.

And this isn't just Riot. EA actually supported EAC through Proton for Apex and then removed Linux access because its anti-cheat team said Linux was being used for impactful cheats, that Linux cheats were harder to detect, and that they couldn't reliably distinguish a legitimate Steam Deck from a malicious Linux client pretending to be one.

Valve itself tells developers that Proton's recommended solution is user-space anti-cheat and that kernel-space anti-cheat is “not currently supported and is not recommended”.

So I guess it's technically possible for a game dev to effectively create their own Linux distro, but I hope we agree that's never going to happen. They're game devs, not Linux devs. Anti-cheat needs a trust chain that the hostile user cannot control and not just an API through which it can inspect the system. Linux deliberately gives the machine owner far more control over the kernel and environment, which is exactly what makes strong client-side attestation difficult.

FYI bhyve isn't a Linux hypervisor. It's part of FreeBSD.