Steam Machine’s upcoming release means more people will be playing games on Linux, specifically SteamOS. The idea of ditching Windows for gaming is becoming more attractive, as the Steam Machine is first-party desktop-level hardware that’s optimized for Linux-based SteamOS. The biggest hurdle for Linux gamers right now is a lack of support for many anti-cheats – particular those that require kernel-level access. But with the release of the Machine, Valve hopes game devs take notice.

Steam Machine seems to getting the most attention out of Valve’s latest hardware launches. The Steam creators announced the new console-like mini PC alongside the Steam Frame VR headset and new Steam Controller. Even the Frame runs on SteamOS, which means Valve now has a trio of first-party hardware on Linux (including the Steam Deck handheld).

  • olenkoVD@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    13
    ·
    5 hours ago

    DID YOU KNOW that the new skate game for EA has kernel-level anticheat that actively blocks Linux and Wine??

    Yay please install shit in my kernel so I can skate yay

    • stray@pawb.social
      link
      fedilink
      arrow-up
      14
      ·
      edit-2
      7 hours ago

      For that matter, don’t put any fish at all in a tiny bowl of water, especially without a filter or heater. The common goldfish is meant to be very long-lived and gets fucking enormous if you don’t torture it to death in a puddle of its own urine.

          • Lmao, was intended to be a “or” symbol since memory is fuzzy and forgot the exact age I had the fish.

            But um… I am Asian, so the scale is quite different from the standard scale. You know… “100 on a test? pfff, where is your extra credits, son?”

            (okay maybe I exaggerated a little, but this is common in Asian families. I have talked to fellow Chinese-American classmates, and this is a thing, high grades are expectations. But I’m a failure so my parents already expect me to have bad grades lol)

  • infinitesunrise@slrpnk.net
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    5 hours ago

    No thanks, Valve. One reason I switched to Linux was a game ecosystem absent root-level surveillance software. There are many other, better ways to discourage cheating in games.

    • killabeezio@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      1 hour ago

      I’m not sure that is what they are advocating for. They have VAC which doesn’t require kernel level access. If anything they will probably advocate this and that anti cheat can work without root level access.

    • cmhe@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      3 hours ago

      As long as Valve is committed to an open system, without locked down bootloader like on mobile phones, it is unlikely that kernel-level anti-cheat can be implemented.

      But that also means Steam Machines are unlikely to support 4K streaming from Nextflix and co. because also DRM will also only be on the level of other Linux systems.

  • rucksack@feddit.org
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    2
    ·
    11 hours ago

    There’s an interesting correlation between games that require kernel level Anti-Cheat and games whose community is toxic af.

    • infinitesunrise@slrpnk.net
      link
      fedilink
      English
      arrow-up
      5
      ·
      5 hours ago

      Something about the kind of person who has such a need to prove their ability to shoot other people in a game that they’re willing to give a corporation complete control over their home PC…

  • stray@pawb.social
    link
    fedilink
    arrow-up
    16
    arrow-down
    2
    ·
    13 hours ago

    Oh man, I’d definitely install Linux if only there were kernel-level anti-cheat. That’s been the only thing preventing me from switching.

    • Zetta@mander.xyz
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      5 hours ago

      I thought you were being facetious and joking lol

      “I’d totally switch to Linux if I could install spyware into my kernel”

    • InFerNo@lemmy.ml
      link
      fedilink
      arrow-up
      6
      ·
      12 hours ago

      I’ve been running Linux for many years now and for those games that need it I reboot to Windows. It doesn’t happen a lot. So many games just work on Linux, I just play those.

      • infinitesunrise@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        I decided that no video game is worth handing over the reigns of my personal computer at a root level to a corporation.

      • stray@pawb.social
        link
        fedilink
        arrow-up
        5
        ·
        9 hours ago

        The real reason I haven’t switched is because I know my partner will be annoying about it. We already had enough drama when I decided to try Duck Duck Go.

          • stray@pawb.social
            link
            fedilink
            arrow-up
            5
            ·
            7 hours ago

            I’ve tried explaining a few times, but I can’t manage it without massively oversharing or throwing him under the bus like I’m so pleasant to be around all the time. I’ll just say we’re a trauma and neurodivergence household and that odd things can be triggers.

              • dev_null@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                6 hours ago

                Sure, but having to deal with that could certainly be annoying to someone who just wants to use the computer that’s already turned on.

            • stray@pawb.social
              link
              fedilink
              arrow-up
              1
              ·
              7 hours ago

              Nah, we each have our own, but it matters because gaming together is really important to him, and also some other stuff I can’t really explain.

  • andyburke@fedia.io
    link
    fedilink
    arrow-up
    197
    arrow-down
    1
    ·
    1 day ago

    You can keep your kernel-level shit off my CPU.

    Spend money on servers. Verify your players. I don’t care how you do it, but you don’t get kernel-level access to my machine because some asshole script kiddies are aimbotting. You can never trust the client. This is basic shit that game devs will make up a whole host of bullshit to try to justify. (FWIW: I spent a solid decade as a professional game dev and I was as disappointed in this horseshit then as I am now. At least players are starting to figure it out now, too.)

    • kbal@fedia.io
      link
      fedilink
      arrow-up
      41
      ·
      1 day ago

      People say “kernel level” anticheat as if that would be necessary for some reason, but I don’t really see it catching on in the linux world. Steam doesn’t even have root normally. Even if it did, not everyone runs exactly the same linux kernel and the only practical way to distribute a module that’s going to work for most people is through dkms, which means you build it from source, which means proprietary super-obfuscated shit is not going have its intended effect (assuming it ever does.)

      There’s nothing stopping them from doing all the same bullshit in userspace instead.

    • Frezik@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      16
      arrow-down
      9
      ·
      1 day ago

      Microsoft even sees it as a big mistake. They’re creating APIs that won’t require anti-cheat to be in the kernel like that. There shouldn’t be any reason it needs to be in the Linux kernel.

      That said, “don’t trust the client” is a nice thing to say, but it’s basically impossible to make games work like that. There are certain protocol design considerations that are needed for fps games to work in multiplayer with somewhat laggy connections, and they’re not completely compatible with “don’t trust the client”. If we all had the fiber optic connections and IPv6 that we were promised in the 90s, things would be different. The wack-a-mole game against cheaters is the best that can be done otherwise.

        • Frezik@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          11
          arrow-down
          2
          ·
          24 hours ago

          It can be routed more efficiently and has generally lower latency. Though how much it matters in practice is debatable, and real world data has fluctuated.

          One thing it definitely enables is easier setup of home servers for games without NAT nonsense.

    • sus@programming.dev
      link
      fedilink
      arrow-up
      10
      arrow-down
      15
      ·
      edit-2
      1 day ago

      “Never trust the client” renders entire genres of games inaccessible for a big corporation. But those genres have billions of dollars of potential profit in them. So they will go as far as they can to make the client almost trustable. The average player of a first-person shooter doesn’t really think about the implications of kernel-level anticheat at all so it’s not a hard choice for them. 95% of them are on windows after all and that already gives kenel access to their PC to some entity they really have no good reason to trust.

      • eleijeep@piefed.social
        link
        fedilink
        English
        arrow-up
        22
        arrow-down
        1
        ·
        1 day ago

        “Never trust the client” renders entire genres of games inaccessible for a big corporation.

        No it doesn’t. It makes certain engine implementations inaccessible. You can make a game in any genre that doesn’t require trusting the client.

        • sus@programming.dev
          link
          fedilink
          arrow-up
          4
          arrow-down
          12
          ·
          edit-2
          24 hours ago

          Ultimately you either have basically google stadia (with all its technical problems) or you are trusting the client to render the game.

          Even if the client only has exactly the absolute minimum amount of information needed to draw all the things that are visible, that still allows a cheat to see the player coordinates and the coordinates of visible entities, which usually makes eg. an aimbot trivial to make.

          • Nora@lemmy.ml
            link
            fedilink
            arrow-up
            13
            arrow-down
            1
            ·
            23 hours ago

            Rendering is not what you are doing server side.

            Servers would just be checking to make sure a player can actually do something and if they can’t don’t let the client do it. Then any changes made client side would only affect the player making the changes.

            It boggles my mind Riot would rather use a hacky method like kernel level anti-cheat instead of just having the servers mirror the game logic and confirm everything. Its all about saving money at our expense.

            • sus@programming.dev
              link
              fedilink
              arrow-up
              6
              arrow-down
              10
              ·
              edit-2
              22 hours ago

              Rendering is not what you are doing server side.

              No shit sherlock. Rendering requires information about the game, and that information is enough to allow cheating. Aimbots don’t need to perform “invalid actions” in order to wreck a game. They just need to be faster and more accurate than most human players. Trying to heuristically detect aimbots is also commonly used alongside other anticheat methods, it just doesn’t work (unless you have people manually reviewing individual reported cheaters, but companies try to avoid that because it’s expensive and risks false positives).

              • MrTolkinghoen@lemmy.zip
                link
                fedilink
                English
                arrow-up
                4
                arrow-down
                1
                ·
                edit-2
                7 hours ago

                Right. Nice to find someone here who actually understands some of the problems that make kernel level anticheat important. In modern FPS, server authoiritative everything is just not feasible. No gamer is going to accept the latency that would cause. Or when you look and suddenly you momentarily desynced and now your camera jerks back because the sever decided you tried to look around too quickly? People are so willfully ignorant about this topic.

                maybe we could get away from needing it as badly if valve would provide a strong attestation that the kernel running is unmodified with a secure tpm solution, but they haven’t, so here we are.

  • Blaster M@lemmy.world
    link
    fedilink
    English
    arrow-up
    102
    arrow-down
    2
    ·
    1 day ago

    Kernel Level Anticheat needs to die. We have memory security, virtualization and antitampering features in operating systems now. All the games in Linux run in user space, none require system access because they are already sandboxed to an extent - every Wine/Proton game runs in a sandbox, since very older games often required admin permissions to run. Build your netcode with “never trust the client” as your first rule, E2E encrypt your network packets, learn to lag hide, and you’ll eliminate 90 percent of the haxors.

    • teawrecks@sopuli.xyz
      link
      fedilink
      arrow-up
      11
      arrow-down
      1
      ·
      16 hours ago

      We have memory security, virtualization and antitampering features

      As someone who games entirely on Linux and wants multiplayer to work out, the features you’re referring to are for keeping the application contained by the kernel, not the other way around. On a system where the user has full autonomy, no application should be able to know what is going on outside of its user space, and I don’t want it to.

      It’d be nice if it was a solved problem, but it’s not. From consoles to phones to windows, currently the industry relies on you not having autonomy over your device for anti-cheat to work. Every other solution is either expensive (obfuscation arms race), or untenable (real time, high resolution server side validation of every property of every player).

    • dreadbeef@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      36
      ·
      1 day ago

      Build your netcode with “never trust the client” as your first rule

      I wish this were more prevalent. Server side anti cheat is a problem that money can be thrown at and solved but its cheaper at face value to lease that labor from anti cheat service contracts.

        • otacon239@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          19 hours ago

          I wonder if there have been any ML approaches to anti-cheat yet. I could actually see that making a ton of sense.

        • apotheotic (she/her)@beehaw.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 hours ago

          Why is anti cheat support going to affect any of the games you already play that already work on Linux? Are you seeing a future where because this anti cheat support (hypothetically) exists more games will implement it that, had the native linux anti cheat not existed, would have still been playable on Linux?

  • Corridor8031@lemmy.ml
    link
    fedilink
    arrow-up
    15
    ·
    1 day ago

    is kernel level anti cheat even doing anything? or like can you still just go to some sketchy forum/ whatever and buy a cheat , or maybe even download one for free for these games

    • Saprophyte@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      6 hours ago

      There is software that you can run on a Raspberry pi, you can set a second monitor HDMI output to the pi with HDMI input hat and feed your USB peripherals through the pi. It acts as an aim corrector, and also can take hints from the game output that can help show characters through walls, etc. External input devices have nothing to do with your kernel. Cheaters are going to cheat, kernel access is just a way that game makers can say they’re trying to combat them without actually doing anything and exposing your kernel to third-party programs at the same time.

      I run Linux, so I didn’t really play any first person shooters that require kernel level access, and even if they were available I wouldn’t install them on my system. I would really see the solution more as something to use as a layer on an immutable distribution instead of trying to give external software full access to the kernel on your system.

    • teawrecks@sopuli.xyz
      link
      fedilink
      arrow-up
      8
      ·
      13 hours ago

      It’s an arms race, the arms just keep moving deeper into the stack system. Used to happen entirely in usermode, one process poking in and reading/writing memory of the game, so anti-cheat started keeping an eye out for malicious processes. Then at some point someone patched their kernel to cheat in a way the game couldn’t possibly detect from usermode, so someone made an anti-cheat that ran at the kernel level too.

      Modern KLA is basically a fully fledged rootkit, living in your system from boot, doing absolutely anything they can to try and make sure nothing has been tampered with. Validating signatures on bins, hooking memory mappings, watching for anything that might try to read/write the kernel or game’s memory space unexpectedly.

    • Lfrith@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      10 hours ago

      Cheaters probably pay monthly get caught then spend money to buy the game again then pay for more cheats.

      So those cheaters seem to have moved onto some more sophisticated setup running something called a DMA device so their main PC has no cheats and is running on a separate machine.

    • Switorik@lemmy.zip
      link
      fedilink
      English
      arrow-up
      17
      ·
      22 hours ago

      Gta added it to remove linux players thinking they were the cheaters. Cheaters got around it the same day.

      To answer your question, anti cheat is used to stop other operating systems from running their games, not cheaters.

    • who@feddit.org
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 day ago

      Kernel-level anti-cheat can indeed be bypassed. I don’t know which methods have been packaged up and made easy for just anyone to use, but when there’s a demand, that’s generally just a matter of time.

      You might find this interesting:

      https://www.youtube.com/watch?v=RwzIq04vd0M

  • balsoft@lemmy.ml
    link
    fedilink
    arrow-up
    18
    arrow-down
    1
    ·
    1 day ago

    How about this:

    1. Add ability to make custom “servers” (which can be just rooms on your proprietary server) with no anti-cheat at all, just fool around with your friends and do whatever you want, mods/hacks/cheats/etc.
    2. At least for casual play modes, make protocols that are less reliant on clients to do the right thing and instead only tell the clients more or less what the player should know already. This might leave some room for sweaty tryhard cheaters to consistently beat other people, but in a casual game which is mostly just for fun this doesn’t really matter.

    There may be some places where a protocol-level solution is not feasible. In that case yeah, require your anti-cheat, but only for competitive game modes. I wouldn’t even be pissed if they didn’t allow it to run on Linux, Linux makes it easy to do whatever the fuck you want with your computer and so a determined cheater will find a way to cheat. It sucks, but I feel like a lot of people don’t really care that much about sweaty competitive game modes anyway. Just give me a way to fool around with friends, it’s not that serious FFS.

    • teawrecks@sopuli.xyz
      link
      fedilink
      arrow-up
      6
      ·
      13 hours ago

      Casuals stop playing games when cheaters prevent them having fun, and it’s the casuals they need to keep happy to keep their game alive.

      IMO the answer is to internally maintain a “fun to play with” metric. It would be specific to the game, but each player’s actions and interactions with other players would be evaluated to determine how “fun” they are to play with (might need to be multidimensional, since different players like having different types of interactions). It doesn’t matter if they’re cheating, or if they’re just really good, or if they use cheesy strategies, etc, if the person isn’t fun to play with, then match them with other people who are similarly unfun to play with.

      This would cover your point that, if there’s a cheater in the lobby, and their behavior somehow makes everyone have more fun, then who cares?

      • bookmeat@lemmynsfw.com
        link
        fedilink
        arrow-up
        1
        ·
        6 hours ago

        There are multiplayer games that don’t operate this cleanly with your model. Cheaters in MMOs, for example, have bots that don’t interact with anyone. They just fuck the economy, etc.