Remix.run Logo
Gareth321 3 hours ago

I would love to move my gaming PC to Linux but until the kernel devs permit kernel-level anti-cheats, or an equivalent, I refuse to give up games that I love. It's nearly impossible to play multiplayer games now without KLAC. The cheating is out of control.

Unfortunately this is an ideological hill that many Linux devs are willing to die on, so we're at an impasse. Valve claimed to be working on a solution, and if there is any company which can negotiate an accord, it's them.

account42 2 hours ago | parent | next [-]

It's very fortunate that Linux devs do not tolerate this DRM crap. What you are asking for is to turn Linux into another Windows, at which point there is not point.

If you're not willing to stop using harmful software that's your problem.

And let's not forget that cheating in online games is only an issue because companies have co-opted what was a social activity between people you know (or at least can get to know) into a more profitable asocial e-peen measuring contest between randoms.

Gareth321 an hour ago | parent [-]

Online cheating as existed for as long as online games have existed. Long before companies cared about online gaming as a serious generator of revenue. There is a certain percentage of the population which enjoys hurting others and making them have a bad time. The anonymity of online games allows them to be antisocial with very few social repercussions.

I think equating having the option of KLAC with Windows is totally disingenuous. There are countless other differentiators. You would be free to just not use KLAC if you so desired.

aspbee555 an hour ago | parent | prev | next [-]

I recently started playing a game that installed "anti-cheat" software that has done absolutely nothing to stop the amount of cheating in the game but it has made my Debian desktop unstable with random gnome and application crashes caused by their poor software. I never had crashes until that garbage got installed. It works exceptionally hard at preventing me from streaming my games I used to not have an issue with

kernel level invasive garbage would be beyond destructive and still not solve the problem

Gareth321 an hour ago | parent [-]

If it's on Linux then it wasn't kernel-level anti-cheat, and therefore mostly useless. It's not surprising that it did nothing to slow down cheating. Even KLAC can be circumvented. It increases friction and cost for cheaters but it doesn't solve the issue completely.

Ideally you would be free to not play KLAC games, and I would be free to play KLAC games. I just hope for the option one day, as I would very much like to make the move to Linux.

watermelon0 2 hours ago | parent | prev | next [-]

> The cheating is out of control.

There are hardware cheats that are not detectable by KLAC, so it doesn't solve the problem, just improves the situation.

The only way to avoid cheaters is to play with people you trust.

Gareth321 an hour ago | parent [-]

I agree, it's a curve. I don't think we'll ever completely eliminate cheating, but we can make it so difficult and expensive that most people don't do it. That's good enough for me.

cisc 2 hours ago | parent | prev | next [-]

> I refuse to give up games that I love

But why? They're just video games. Why are they important, especially when a lot of them are designed to be addictive.

A lot of people love smoking but that's not important either and it's better to give it up.

Gareth321 an hour ago | parent | next [-]

It's very simple: I like the games more than I want to move to Linux. Playing Fortnite isn't going to give me lung cancer.

cisc 24 minutes ago | parent [-]

But why do you like them? What do you get out of them? What's the benefit?

I've watched people play slot machines. They sit there and pump money into the machine for no real benefit to themselves. Why are video games any different to that?

JimmyBiscuit 2 hours ago | parent | prev [-]

What if those games are the only games they and their friends play together? I wouldnt want to stop that.

cisc 2 hours ago | parent | next [-]

Having to give over time and money to a video game company to maintain friendships sounds more like a symptom than a cure.

When your grandkids ask you what you did with your finite time, is "I pwned noobs" the answer you want to give?

account42 an hour ago | parent | prev [-]

How is cheating a problem that needs a technological solution when playing with friends?

Gracana 39 minutes ago | parent [-]

Because I'm not friends with all 64 players in the lobby.

I don't want kernel level anti-cheat, though. All the games with it have cheaters anyway.

TonyStr 3 hours ago | parent | prev | next [-]

It's worth having a look at https://areweanticheatyet.com/. I found that the most of the games I play which use anti cheat work on Linux. It's also not hard to dual-boot windows as a backup, though I haven't had a use for my windows partition yet.

Gareth321 an hour ago | parent [-]

Thanks. I intentionally avoid games without KLAC now because the cheating is so bad. The most recent example is Arc Raiders. Such a fun game at launch, very quickly overrun by cheaters. They eventually added KLAC but because they also offer a Linux build, they could not stop the cheating. The game is mostly dead now, [down to just 6% of its peak.](https://steamcharts.com/app/1808500#All)

yxhuvud 38 minutes ago | parent | prev | next [-]

It will be an impasse until (or unless) the Linux user base grow big enough that the gaming companies start to prioritize better solutions.

For me, it is no problem at all since the games I play have no issues. That includes the multiplayer games I play.

Sweepi 2 hours ago | parent | prev | next [-]

I want to clarify to anyone reading this that this only effects high-competitive games, like LoL, Valorant, PUBG, R6S; and not all of them (e.g. Counter Strike).

It does not affect "multiplayer" in general, to the contrary, most multiplayer games are not affected (coop games, MMOs, RTS).

  | It's nearly impossible to play multiplayer games now without KLAC. The cheating is out of control.
Ofc, cheating is also present with KLAC, its just the next level of the cat and mouse game (Driver exploits, DMA access via PCIe, Network Packet analysis, ...)

  | Unfortunately this is an ideological hill that many Linux devs are willing to die on
Nonsense. 1. Almost no anticheat is implemented on Linux in the first place. Most "working" anti-cheat solutions for Linux are just a #if Linux doNothing(); #else ... 2. KLAC requires SecureBoot/ChainOfTrust + closed source code running with highest privileges. This does not make sense for any PC, but I dont see why it would be harder to do on Linux than on Windows, Linux just has a smaller install base in general and a lower acceptance rate for KLAC, therefore its not worth it to implement.
Gareth321 an hour ago | parent [-]

I would like to respond because you're speaking authoritatively but this is mostly your opinion.

> I want to clarify to anyone reading this that this only effects high-competitive games, like LoL, Valorant, PUBG, R6S; and not all of them (e.g. Counter Strike).

It affected a game I really care about: Arc Raiders. That's not a "high-competitive" game. It's PvPvE, shooting at funny robots and scavenging rubber duckies. Cheating killed the game. [It's down to 6% of its peak.](https://steamcharts.com/app/1808500#All) Just because this hasn't affected the games you love doesn't mean it's not affecting many games. See Titanfall, H1Z1, and The Cycle: Frontier, among many more.

> It does not affect "multiplayer" in general, to the contrary, most multiplayer games are not affected (coop games, MMOs, RTS).

I was going to ask you to back that up, but I realise I made a broad claim and can also not back it up, so we're just giving each other our opinions, I suppose.

> Ofc, cheating is also present with KLAC, its just the next level of the cat and mouse game (Driver exploits, DMA access via PCIe, Network Packet analysis, ...)

Indeed. The goal is to reduce cheating to a manageable level. It is impossible to eliminate.

> Nonsense. 1. Almost no anticheat is implemented on Linux in the first place. Most "working" anti-cheat solutions for Linux are just a #if Linux doNothing(); #else ... 2. KLAC requires SecureBoot/ChainOfTrust + closed source code running with highest privileges. This does not make sense for any PC, but I dont see why it would be harder to do on Linux than on Windows, Linux just has a smaller install base in general and a lower acceptance rate for KLAC, therefore its not worth it to implement.

Linux does not properly support KLAC because its architecture and development philosophy work against it. For example, Valve explicitly recommends user-space anti-cheat for Proton and says kernel-space anti-cheat is “not currently supported and is not recommended”.

The Linux kernel also deliberately does not provide a stable binary kernel-driver interface. Kernel maintainer Greg Kroah-Hartman has said that Linux has neither a stable in-kernel API nor a stable binary kernel interface, because maintainers want the freedom to change kernel internals rather than permanently support proprietary out-of-tree drivers.

Riot is on the record as explaining that Linux does not give Vanguard sufficient ability to attest boot state and kernel modules. They also claim that distribution differences make enforcement harder, and that cheats can potentially operate outside an emulated environment where the anti-cheat cannot see them. Riot is on the record saying that anti-cheat is “extremely hard on Linux by design”.

So you're technically correct, but I think you misunderstand a lot of the architecture which underpins this issue, and the ideological boundaries which many developers prefer to enforce around security, FOSS, and ownership.

stego-tech an hour ago | parent | prev [-]

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.

Gareth321 an hour ago | parent [-]

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.