Announcement

Collapse
No announcement yet.

Linux Adding New Control Since Its Splitlock Detector Is Wrecking Some Steam Play Games

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by coder View Post
    If you use C++ atomics (maybe also C, I'm not sure), you needn't worry about this. They take care that the object has natural alignment, I believe. It's mostly an issue for legacy code.
    They do not actually do anything special there. Instead on 64 bit, the compiler will enforce stack alignment on at least 8 byte alignment while the memory allocator will ensure heap alignment on at least 8 byte alignment. That is enough to make atomics stay within a cache line.

    That said, you can write code that misaligns these, but you have to go out of your way to do it.

    Comment


    • #42
      Originally posted by milkylainen View Post

      You mean the split locking isn't happening on Windows,
      or that the developers don't care about better performance?
      it likely happens on Windows, but the developers do not care about Linux and it is good enough for them on Windows. People still hand them money regardless of how little performance work they do. Not every developer is ID Software.

      Comment


      • #43
        Originally posted by ssokolow View Post

        So add another option between "off" and "on" which is along the lines of "decide based on a filesystem xattr on the binary being exec'd". That's how things like SELinux labelling work.
        Email your suggestions to the LKML. Linus Torvalds et al will not read it here.

        Comment


        • #44
          Originally posted by ryao View Post
          ”It's also possible we'll see this automatically adjusted with the likes of Feral's GameMode.”

          Unless it has root privileges, that is not happening,
          The GameMode daemon already runs with root privileges AFAIK.
          Michael Larabel
          https://www.michaellarabel.com/

          Comment


          • #45
            Originally posted by ryao View Post

            Email your suggestions to the LKML. Linus Torvalds et al will not read it here.
            1. I don't faff about with mailing lists (It's bad enough that I have to manually create and give per-sender aliases to synthesize "unfriend/block"-esque revocation on e-mail that doesn't need to be sorted into its own folders)
            2. It wouldn't be one message and done and I don't have the time to take responsibility for championing an idea right now

            Comment


            • #46
              Originally posted by coder View Post
              Yeah, I was thinking about that. It depends on how many unique cases have these split locks and where they're being allocated.

              What seems likely is that they're contained in a heap-allocated struct or class. In that case, you could try patching the code used to allocate it, increasing the size and adding an offset to the beginning. Hopefully, that won't break anything else. Then, when it's deallocated, you'd have to remove the offset when returning the memory to the heap. Probably easier said than done, especially if allocation/deallocation is inlined in multiple places.

              If that doesn't work, or proves too difficult, then maybe you could just change the size & adjust the offset of the atomic member. However, that involves finding all of the code which uses it and adjusting the offset.

              I doubt it's being stack-allocated, since I think most stack variables have natural alignment.

              With all that being said, I've never tried to crack a game... I think it's likely the bug can be fixed by an experienced cracker, assuming the game's own DRM doesn't get in the way.
              Thank you!

              Comment


              • #47
                Originally posted by carewolf View Post

                Literally... God of War is retarded.. on Linux at least.
                I works great on the Steam Deck.
                Gameplay can be a bit repetitive, but the story, acting, graphics and animations are top notch!
                It was GOTY of 2018 if I'm not mistaken.

                On a side note, I dont know whether Valve disabled splitlock detection on the Deck.

                Comment

                Working...
                X