Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's awesome. How does proton treat anti-cheat software or DRM?


Works if the developer enables it.

For example: Halo Infinite works fine, but Destiny and Call of Duty don't.


Yep. DRM’d online stuff and VR mainstays (Beat Saber, primarily) are the two sets of games that are keeping me tethered to Windows at the moment. VR games can be played via a Windows VM with GPU passthrough but for DRM’d online games you don’t really have any other option, at least if you don’t want to get banned.


I also run a Windows VM for gaming. One thing to note is that some games have (robust!) VM detection checks on launch, so you can’t even run them in the first place. Valorant is one example.


> I also run a Windows VM for gaming

What do you use for the VM? Last time I checked, I couldn't find any free/FOSS VM tooling that allows me to do GPU pass-through on a Linux Host to Windows Guest.


It seems like you haven't looked into it much since it's was feasible for last 7-8 years..

Linux hosts had GPU passthrough working well before commercial software had such options. Nowadays it's just work out-of-box with Virt-Manager that just run QEMU under KVM.

It's been working for years for 99.9% of games excluding some invasive anti-cheats that ban you for VMs, but there literally only a few games that have issue with virtualization.


I use Proxmox and GPU passthrough works just fine (via QEMU). Note that Nvidia GPUs have less issues with passthrough, at least last I checked. See this guide: https://pve.proxmox.com/wiki/PCI_Passthrough

But if you’re running a standard distro, there are guides for most them.

* Arch guide (excellent resource, applicable to all distros): https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF

* Ubuntu: https://ubuntu.com/server/docs/gpu-virtualization-with-qemu-...

* Gentoo: https://wiki.gentoo.org/wiki/GPU_passthrough_with_libvirt_qe...

You can also find countless blog posts and videos on setting up GPU passthrough.

One excellent resource for gaming use-cases in particular is this subreddit: https://www.reddit.com/r/VFIO/

Last thing to note is that your motherboard can make the process easier if it has good IOMMU support. Basically, you want a MB that puts your PCI slot in a separate IOMMU group. You can find examples by searching for “(MB name) IOMMU groups”.


Beat Saber does work on Linux if you can deal with VR on Linux’s quirks.


Doing so requires a SteamVR headset, though. I’m using a Quest 2 which only works well with Windows.

Up to date compelling SteamVR options are starting to appear however so I might see if I can move over to one of those in the next year or two.


I haven't tried the quest link thing in years, and last I did it dropped FPS a lot vs. using SteamVR. Has that improved?


Not sure either but people with Indexes, Vives, etc seem to be competitive on the Beat Saber leaderboards so any loss can’t be too bad.


* depending on the anti-cheat or DRM

This is true for at least EAC/EasyAntiCheat. This covers a lot, sure, but not everything!


Battleye has integrations with Proton as well, but as with EAC, it's opt in by the developer, and not every dev enables it.


Sure - leads more to my point of... check the games you care about for support. I didn't really want to start itemizing these things.

Most AC used in the competitive Counter-Strike community isn't supported, for example. Only first-party VAC.


It depends on both. Anti-cheat used by Destiny 2 is supported, but Bungie needs to allow it first.


Indeed. I meant to imply both if I managed otherwise. This is just a casual warning - Linux gaming is great [as much as the industry allows]

I didn't really want to start itemizing things. Most competitive Counter-Strike anti-cheat isn't supported.

I've had some luck with the Windows VM approach instead. One may have to disable quite a lot (ie: Hyper-V enhancements) to truly trick them.


Those games with anti-cheats are anti-player garbage anyway. You don't lose much without them.


Do you mean the presence of anti-cheat software makes them anti-player? Because I’d disagree. It’s a lot of work and expense to combat cheats, but is very much appreciated by many players (when it works)


Or they could just not trust the clients, instead of throwing the problem over the wall. A lot of these games with fancy anti cheat protection the cheat tools basically just tell the server "spawn me a vehicle right here" and the server just does it. Garbage.


> A lot of these games with fancy anti cheat protection the cheat tools basically just tell the server "spawn me a vehicle right here" and the server just does it.

Citation needed. I'd be quite surprised if it were common for servers of professional games to trust the client in that sense (i.e. allowing it to decide game logic like what gets spawned where).

As far as I'm aware the most common types of multiplayer cheats are

* wall hacks, which you could probably prevent by not sending the client any information about objects that the player can't see, but that would require the server to calculate the line of sight for every player/object, * and aim bots, which I don't think you could prevent at all on the server side since they don't rely on the bot having access to any information that the player isn't supposed to have. They just rely on the bot being better at aiming. I suppose if you did all rendering server side and only sent the rendered graphics to the client (i.e. streaming), that would make it harder for the bot because it'd now have to do image recognition to find the target, but that just makes it harder, not impossible. Plus, game streaming wasn't well received for a reason and anyway, I don't think that's what you had in mind when you talked about "not trusting the client".


Look up BF2. Cheat tools would just disable limits locally on ammo requests, vehicle requests, artillery strikes, and so on. Server didn't check anything. It had fancy anti-cheat tech. Which was bypassed by just writing and restoring executable memory changes faster than the anti cheat detected.

Things are certainly not always as professional as they appear to be.

Visibility test is definitely feasible against wallhacks, it's not that expensive.

Aimbot is an assist cheat, which technically does not violate the physical rules of the game, so you are right that it's more difficult to detect. One solution to detect this class of cheating is to record the player's movement, and rely on a combination of outlier scores and outlier movement behavior to detect abuse. It's not watertight, but neither are any of these client side anti-cheat detection schemes.


Wow, it’s awesome you’ve solved the entirety of multiplayer gaming. Here I was thinking anti-cheating measures was a complex topic but it’s great you’ve elucidated me.


Well, it's definitely not solved by throwing the problem over the wall and praying that anti-cheat tools aren't broken as easily as your game.


> Here I was thinking anti-cheating measures was a complex topic

It isn't. If you play with people you don't know, some of them will cheat. If you don't want that, stop playing with strangers.


"just" is (tongue in cheek) a forbidden word in HN. Next thing you might find yourself claiming is that Dropbox is a worthless idea because it's "just" FTP.

Btw tell me exactly how an aimbot that takes the visuals from the player's screen and tilts the player's cursor so (or not so) slightly towards identified moving targets, are to be avoided from the server. Modern cheating is already a hard-ass problem to solve, much more so if no client-level monitoring is desired.


> Btw tell me exactly how an aimbot that takes the visuals from the player's screen and tilts the player's cursor so (or not so) slightly towards identified moving targets, are to be avoided from the server. Modern cheating is already a hard-ass problem to solve, much more so if no client-level monitoring is desired.

The very same way that you'd do it on the client. If I run an aimbot on an nvidia jetson devkit, using HDMI in to get the screen image and USB emulation to send inputs, your anticheat has to do the same work regardless if it's on the client or the server.


I think that makes sense; but doing it on the client means that your computer has to do the work for you, thus distributing the load among all clients. Doing it on the server would mean that their machine has to do the work for all players.

If we complain about companies being too quick closing up their servers when games are not as successful as they hoped... imagine if those servers were x10 or more expensive, due to that kind of analysis for all players. Companies would be much quicker to pull the plug, I guess.


Dropbox is a worthless idea (long term) because it's not running on my own server. :')

And exactly. You cannot detect that with client-side anti-cheat nonsense either. Record on the HDMI and output a fake USB mouse, why not? Botting doesn't break the physical rules of the game, so you're right that it's hard to detect. One "solution" is to record player movement on the server and detect outliers in behavior and scores. Not perfect (and also very difficult), but just as unreliable as client-side anti cheat nonsense.


Realistically some trust has to be in the client, otherwise your game will feel horribly sluggish and the corrections will drive you crazy.

I can make a game with full server trust to show you if you like.


That is the way things are going with cloud gaming.


If my cheat puts my crosshair on the opponent's head automatically what about that information is untrustworthy that would make you throw it out?


It's the same problem as detecting AI generated content from human made.

Automation and assist botting differs from outright cheating in that it still obeys the actual rules of the game.


it's anti-player when it is security theatre, which in 95% of cases it is.

When I start a game and I see an Easy Anti-Cheat banner I think to myself "Great now I can be killed by an aimbot while simultaneously hosting a root-kit voluntarily."

Why do you think these systems are advertised like that, at the forefront of the game load? It's so that the developers create a false trust in the playerbase that they're doing their damnedest to prevent cheaters, when the reality is that they paid a small amount of cash to a third party to use a system that does a piss-poor job at everything aside from being a symbol of effort and adding incompatibilities where there shouldn't be.

eac bypassing is trivial to a laymen, that doesn't bode well as a defense against people that have made cheating their hobby.

and to be clear : I use EAC as the example because to me it symbolizes the 'security theatre' side of the effort. Real anti-cheat efforts exist, and those should be applauded. EAC ain't it, but it's the industry standard... worrisome.


I personally would far rather have the occasional cheater than have the game install literal rootkits. It's absolutely bonkers that people are willing to accept that.


Not every gamer wants an esport experience to have fun


There's nothing "esports" about wanting to avoid wallhacks/aimbots in games like Tarkov, Rust, or Destiny, which completely ruin the entire game for every player in the lobby in an instant. It has nothing to do with "esports" and everything to do with actually being able to play the game. Do you also think it's because of "esports" when you're forbidden from cheating at a game of chess in person? When my friend plays Rust and gets upset because a flying aimbot hacker raids his base, gets banned, and comes back 1 hour later (buying a hot key off some shady 3rd party site), is he thinking "Damn, esports is really ruining this game"? No. The players are expected to fundamentally abide by the same rules. That's what a game is.

Realistically these days with how expensive most of these games are to run and make, if you do not keep cheaters away it can tank the entire project, e.g. Cycle: The Frontier basically had to shut down because they couldn't keep cheaters at bay, in a system that heavily relies on player count to remain healthy and fun. Once the cheating gets bad enough, people stop playing the game, which leads to a death spiral: it starts with bad queue times, which leads to people playing other games, and that spiral further diminishes the playerbase beyond a point of no return. Cycle barely made it 12 months and the result was a multi-million dollar project getting flushed down the drain.


A kernel level invasion of privacy is required to stop flying players? That doesn't sound right to me. Not to mention that apparently it isn't working if your friend is witnessing it.

So players of those games are sacrificing privacy for no security at all by the sounds of it.


RIP to the Cycle. It deserved better.

I am glad that Bungie is going with fog of war for Marathon. And heck, given the features Marathon is getting, maybe someday Destiny can have those nice things too. We'll see...


I assumed that cheating is way more widespread amongst multiplayer gamers? There is a lot less anonymity in esports and if you get caught and blacklisted.. well you just wasted thousands or tens of thousands of hours.

It's pretty hard to have fun when the server is full of cheaters.


> I assumed that cheating is way more widespread amongst multiplayer gamers?

I mean, hard to call cheating in a multiplayer game the same as cheating in a singleplayer game. The former ruins the experience of others, the latter just affects your own session. Hard to be against cheating in a singleplayer context.


I was thinking about casual and professional online gamers (yet somehow managed to leave out a word in comment...). Of course "cheating" in single player games isn't even a real thing


Cheating in single player is sort of like modding


But does it ever work? Its just a game of cat and mouse.... like all other software, bugs will always be present apparently.


The Valorant community is incredibly in favor of the Vangard anti-cheat that loads as an early kernel mode driver, and the pro/pro-am Counter-Strike scene plays on FACEIT because they have a strong Kernel-based anticheat. VAC, and server-side VACnet just doesn't cut it.


I wish the Linux/OSS communities were less like this and more welcoming.


Why aren't you saying that the DRM software is the unwelcoming party?

That user would happily play that game, but the game publisher doesn't want them.

Incredible.


The only thing incredible is how upset people are for pointing out that it’s hostile to tell someone the game they enjoy playing is garbage and is not worth playing because it has anticheat.


Because it's not an attack, meanwhile the accusation is.


DRM is not welcoming by default... sounds like you have double standards


You are conflating ideas. I don’t think it will be a productive discussion to go down the road of anticheat systems and DRM. We can all have opinions that are different.

What is productive is calling out hostile behavior and comments that do nothing but hurt the ecosystem. I see these type of strong negative opinions in a lot of areas of the Linux community. “Oh you do X, that’s stupid you should not be using the product like that”


But it's the simple facts.

The best possible, most correct, most defensible, most world-improving advice to give for dealing with a user-hostile product or service, is to have the strength of will to reject it and live without it, and live the example to show that it's possible and you won't die.

Or at the very least, it is AT LEAST as defensible a stance as "The more pragmatic/adult approach is to give the bully whatever they want than to go without their product or service".

That philosophy is not remotely automatically more correct or more adult or nuanced or any of the self-serving words anyone typically uses to try to grant their idea more legitimacy than it deserves.

Calling the principled stance "hostile" is itself hostile.

You can phrase it in a way that sounds emotional and shortsighted and jeuvenile, and certainly there are many juveniles who are guilty of that.

Never the less, rejecting a bad deal is still fundamentally a reaction not an action, a defense not an offense.

The publisher promulgating a user-hostile deal is inarguably the offender, the initial hostile actor.

You can decide that the bad deal is tolerable for yourself, but that is entirely your weakness and does not make that policy smarter or more correct than that of those that decline.


I genuinely appreciate you proving my point.

I am not here debating DRM or anticheat. Simple pointing out that telling someone the game they play is garbage because it uses anticheat does nothing but hurts the Linux ecosystem.

You can come up with another essay but I don’t think it disproves what I am saying. Telling someone the game they play is garbage is not increasing the Linux user base. I am sure there will be a retort here, “we don’t want those kind of users or related software”.


Who said "we don't want those kind of users"? The game publishers are saying that!

The people you're trying to criticize are themselves only rejecting the software and the publishers that use it, and for a completely explicable and defensible reason, not because it's the wrong tribal colors or religion.

You are consistently neglecting to acknowledge the basic order of operations and ignoring the initial act and offense in order to focus on a reaction that you don't like and to excuse the initial act that you personally don't have a problem with.

I am saying that you only have the right to say that the deal proposed by drm and anticheat systems is acceptable to you, not to go one mm further to say that anyone else is ogbligated to feel the same, and is in any way hostile or harming the ecosystem or anything like that if they don't.


[flagged]


Sorry I am not going down this low brow path. We can agree to disagree. I just don’t think it helps an ecosystem to tell people the software they want to run is garbage.


I do. I think it helps the ecosystem more than any other reaction. I'm not sure we can agree to disagree. I don't think you are allowing it, and certainly I am not.


Actually I think "agree to disagree" was exactly right.

It doesn't mean we accept each others opinion as different yet valid, we still call each other wrong, but the point is it ends there with recognizing and accepting an impasse rather than progressing to pistolas at dawn, right?

Except wait, my whole problem was never that someone was ok with the deal (pay for a product or service that doesn't serve you), it was only with trying to say that everyone else also has to be ok with it.

Except wait again, that might have been your original point too. Not to put words in your mouth but would it be fair to say that you originally had no problem with someone declining to use some software, but only with telling someone else they should do the same?

Do we in the end have no real argument?


> What is productive is calling out hostile behavior

Okay; anti-cheat is user-hostile.

> “Oh you do X, that’s stupid you should not be using the product like that”

Okay, the thing I want is to use a game that I paid for, play it on the machine I own, and run it without giving it any special privileges (certainly not modifying my kernel). I trust that you will support that and not be negative about the way I want to use it?


What are you even arguing? I am not here debating if drm/anticheat is good or bad.

I am saying it’s hostile to tell someone who wants to run software but cannot because of a limitation in the OS that it does not matter because it’s garbage anyway.


The players of the game are willing to put up with DRM and anticheat in order to get the game. By taking a hardline stance against these, the Linux community is being user-hostile.


DRM is not the same as anti-cheat.


They are not, but both are symptoms of a consumer-disrespecting mindset.

- DRM does not serve the consumer, but the producer.

- Anti-cheat only serves the consumer if it is well-designed. However, if someone is able to design a game (technically) well, anti-cheat is unnecessary. And if someone cannot design a game, their anti-cheat is often a disservice to the consumer.

I don't like either DRM or anti-cheat solutions, not because I am not willing to pay the producers, but because I have been burned too many times by dysfunctional solutions.


> Anti-cheat only serves the consumer if it is well-designed. However, if someone is able to design a game (technically) well, anti-cheat is unnecessary.

That silly "speed of light" thing? Just design better.


There are cheats today that takes your monitor output and act like a hardware mouse. There is nothing you can do with game design about it.


And some cheats happen on a different device. There is no way anti-cheat software can defeat those (even eye trackers are not perfect).

The design question is about software that abuses the game state, which is sent to the client, but not displayed to the player (e.g. wall-hacks), and software that sends impossible input (e.g. speed hacks). Anything that manipulates mouse input is very hard to counter.

In the end, all the technical solutions have limits and you need other means to solve the issue (e.g. play with friends/live events). However, anti-cheat software tries to counter many cases that can be solved by better implementations (e.g. servers that send very limited information to the client).


> However, anti-cheat software tries to counter many cases that can be solved by better implementations (e.g. servers that send very limited information to the client).

And now you can't provide client-side prediction between packets, so you get movement stutter all over the place instead of occasional updates and you get somebody popping into existence because they were behind a wall occlusion on your last packet and you've now strafed into line-of-sight. And they got theirs before you did, so you're dead.

Winning, winning result.

Consider perhaps that the people making this stuff aren't stupid and would try such obvious things if they were practical.


> However, if someone is able to design a game (technically) well, anti-cheat is unnecessary.

Nonsense. It's completely impossible to stop cheaters these days, but anti-cheat technology definitely raises the bar. It's only "unnecessary" if you're willing to accept a large number of cheaters.

Some anti-cheat stuff definitely goes to far but to dismiss the idea entirely is just naïve.


Back in the day we had admins and communities of people. You'd get to know people more and establish trust. You could have registered brackets and independent tournaments with manual administration and banning for cheaters.

It worked pretty good, but all of that was taken away.


> It's completely impossible to stop cheaters these days

On that part, we can agree, and if you think I want to 'dismiss the idea' you completely misunderstood the point. My point is, that the cases anti-cheat software tries to solve, are cases that a well-designed game has solved in the beginning (e.g. sending limited game state to clients, discarding impossible input, etc.).

On the other side of the coin, I have seen players who cheated even with anti-cheat in place (like you said), for some games I was unable to play games via proton because the anti-cheat didn't work and I was unable to play some games because the developers messed up their anti-cheat implementation. So there are drawbacks to a feature that has limited use and for which many cases can be solved by other means.

In the end, there are many cheat cases that anti-cheat software can't solve (e.g. using a secondary device) and which have to be solved by other means (e.g. spectator delays, live events, private servers).


> Nonsense. It's completely impossible to stop cheaters these days

on the user side, it's perfectly possible if you only play online with your friends.

The whole idea that we should be able to play with random people if we all accept to have a kernel rootkit needs to die. Ultimately that's exactly what the NSA and other agencies want you to support.


Sure but most people prefer not to have to spend their lives finding enough friends that some are always available when they have 5 minutes free to play one game of Rocket League.

I suppose you could argue that games could offer an "anti-cheat free" version that can only be used in private matches. But I think you can imagine how many downloads that would get.


A computer should serve its user. If the user is serving his computer, they're Linuxing right but otherwise doing it wrong.


Well if cheating is going to make the game almost unplayable the outcome is pretty much the same as you deciding to never install it in the first place due to disliking anticheat systems. So I don't really see the problem.


Obviously, you haven't been in a position where you had to patch the anti-cheat solution yourself in order to play the game you paid for.

Well-designed games offer limited potential for cheaters by design. An anti-cheat software can help to eliminate the little potential that is left, but often games are designed without cheating in mind and some anti-cheat software is put in place to solve all the issues that were produced by the bad design.


I think that there are very few tasks in competitive multiplayer games that humans perform better than machines[1], I don't think your statement holds true unless you exclude a huge amount of game genres or you take all the fun out of them. (E.g. no FPSs or ..FPSs with no aiming?)

[1] Unless we're talking about captcha solving competitions, for now, maybe. :)


You're right in that, if your server rejects inputs that are too fast, too precise, too robotic to be human, bots will emulate the top-playing humans ever more closely.

But the question I want to ask is: Is that a problem?

If all the bots and cheaters are playing indistinguishable from high-level real humans, where's the harm?

Or, to quote Westworld: If you can't tell the difference, does it matter?


> If you can't tell the difference, does it matter?

There is a difference in skill level distribution. If everyone playing at a highly skilled player level, then it's simply not fun and doesn't provide an opportunity to get better.

Anyways, playing with cheaters isn't fun and if you want to play without them then you need anti-cheat and/or game to not be free.


But not everyone is cheating. There will always be enough players that even if you just match players based on their skill level, you'll always have someone at your own level to play with.

In fact, I'd like to see the same bots developed by cheaters be used for NPCs as well.


I don't think it would be very hard to develop AI bots which can "see" through walls or one shot snipe you from 200 meters away while you're running. Why would anyone want that, though?


You missed 90% of my comment, and I'm not entirely sure why.

1. It's easily possible to limit cheaters to the same skill level as the top human players. Send no information to the client that they don't need, prevent super-human reaction times.

2. If all cheaters can do is play at the level of the top human players, matchmaking will automatically balance the game for you without requiring any further anticheat.

3. If cheaters have bots that play at the same level as the top human players, you could use the same bots as NPCs and have much better NPC teammates and enemies in singleplayer.


It's irrelevant. I play a lot of destiny 2 and the trials were extremely annoying before anti-cheat.

Imagine you're one win away from going flawless (7 consecutive wins) and some asshole jumps in the air and headshots your entire team in as fast as the gun allows it.

That's not fun. That means you have to start over. You get lucky if you only get cheater(s) in your first game, so there isn't any progress lost.

This resulted in a very shallow matchmaking pool with large skill gaps because casuals and mid-tiers didn't want to deal with this bullshit.


You're complaining about superhuman cheaters. Again, that's something that can be easily prevented.

And if the cheaters can't play any better than the top human players, there's no harm done. At that point it doesn't matter if it's a cheater that's breaking your streak or a top human player that's doing the same.


> Again, that's something that can be easily prevented

Yeah, with anti-cheat.

I think you have never seen destiny 2 PVP maps. They are small. The majority of times, you see the cheater and the cheater sees you. The difference, between cheaters and not-cheaters - you're dead by the time you ADS.


Uhm, yes, I think it is a problem because unfairly losing isn't as fun as fairly losing or fairly winning. Ignorance about the fairness of a game may work in a few instances but would not scale.

You don't have to reach pro levels, it often only takes small assists to turn a balanced game on its head, ruining someone's experience with a game. Repeat often enough and the userbase will leave, feeling cheated or at least demoralised for being unable to compete or improve.

And allowing machine-assists, thus leveling the playing field, turns the game into a completely different one that is (imho) drastically less fun whoever may not be interested in (or may be unable to) running/coding their bot.


Why would you be unable to compete? The matchmaking system will still put you against users on a similar level to yourself. Whether they're your level through cheats or natively doesn't matter.

A player playing cs go at 1280×720 at 30 ps on a ball mouse will always loose to one on playing at 2560×1440 240fps with a high-quality mouse.

Now there's one more dimension of unfairness. But who cares? You're still going to be winning ~51% of the time, that's why matchmaking systems exist.


> Now there's one more dimension of unfairness. But who cares? You're still going to be winning ~51% of the time, that's why matchmaking systems exist

No. That's not how it's going to work. You'll lose 100% games against cheaters Elo and then win 80% (or similar) against lower-level players you get matched against because your Elo goes down due to cheaters. Overall yeah, you might end up with a 50% win rate but that doesn't really matter.

Of course that would be more pronounced in RTS or other 1v1 or team games with small number of players (then again nobody would play them anymore because it would just be waste of time, when you're matched against a cheater because you'll be forced to waste X min before you figure that out).


You don't seem to understand the situation, and I'm unsure why.

If your anticheat prevents any superhuman reactions, you'll have cheaters that will be indistinguishable from the top human players.

How often do the top human players ruin your gameplay experience as an average player today?

Why would it be any different with cheaters indistinguishable from the top humans?

Matchmaking will just give cheaters a relatively high ELO so that the highest ranked matches will be cheaters playing against each other with a few of the top human players thrown into it, competing at the same level.

While for the average player, nothing will change.


It varies by game. https://areweanticheatyet.com/ is an interesting resource for that because they also track announcements by developers about whether or not linux support is eventually planned.


EAC has a proton build now so for new games it should work at least.


Only if the developer enables it. Most don't.


EAC has had a wine build for a long time (over a decade?). That doesn't mean games enable it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: