• bdonvr@thelemmy.club
    link
    fedilink
    English
    arrow-up
    17
    ·
    2 days ago

    Isn’t PS5 x86?

    On a normal PC that’s more like specialized virtualization rather than emulation. It should run decent.

    • Encrypt-Keeper@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      2
      ·
      2 days ago

      It’s emulation. The CPU architecture is only one piece of the puzzle. The PS5 runs a custom operating system with custom graphics APIs and unified memory.

        • Encrypt-Keeper@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          1 day ago

          Yes. But Proton has the advantage of working with well documented APIs on both sides. All the PS5 stuff is proprietary and has to be reverse engineered, that’s why it doesn’t work so well.

          • Axolotl@feddit.it
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            1
            ·
            20 hours ago

            Maybe i am not understanding well but all this seems just a translation layer to me

            • zaphod@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              2
              ·
              20 hours ago

              The problem is that you don’t really know from what you’re translating.

              • teawrecks@sopuli.xyz
                link
                fedilink
                English
                arrow-up
                1
                ·
                3 hours ago

                But why does that make a difference? Regardless of whether you reverse engineer an API or have the full documentation available, when you translate from it to something else, you’re building the same thing: an API translator. It doesn’t change whether it’s an emulator.

                Traditionally, “emulator” refers to hardware emulation. APIs are reverse engineered, mocked, translated, etc. all the time, but we don’t call it “emulation”.

                Even simply mimicking the behavior of a unified virtual memory space is not called “emulation”, unless there are hardware-specific quirks that need to be emulated (which may very well be the case for PS5 caches, I don’t know).

          • teawrecks@sopuli.xyz
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            21 hours ago

            Ok, so if it’s translating to a reverse engineered API, it’s emulation. But if it uses the proprietary documentation and does the same exact translation it…wouldn’t be emulation anymore? What part are we saying is being emulated again?

              • teawrecks@sopuli.xyz
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                7 hours ago

                I’m trying to understand, what is being emulated?

                You said it’s emulation because it handles ps5’s graphics APIs and unified memory. I noted that proton is also translating vulkan to another graphics API. You said it’s different because the api we’re targeting is proprietary and needs to be reverse engineered, implying that is the distinction. Right?

                So then doesn’t that imply that if we did the same thing, but without needing to reverse engineer anything, it would now be an apples-to-apples comparison with what proton is doing?

                • Encrypt-Keeper@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  6 hours ago

                  You asked if proton is doing basically the same thing and I said yes

                  I then explained why KytyPS5 doesn’t work as well, with issues like the one mentioned in the article

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

                    Ah I see. So what makes kytyps5 an emulator given that proton is emphatically not an emulator?

            • zaphod@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              1
              ·
              20 hours ago

              You don’t really need to emulate stuff, you need to reimplement the APIs, and those aren’t well documented, at least not publicly.

      • bdonvr@thelemmy.club
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        It’s a mix - some functions are emulated but the CPU functions can be largely just passed through

      • Clusterfck@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        5
        ·
        1 day ago

        It’s a Zen 2 APU. It could run any other x86_64 OS in theory. There’s no need to emulate the whole system if you’re running it on an x86_64 machine. It shouldn’t be wholly impossible to just run it as a VM and save the overheard of translating instructions to the same instructions.

        • Encrypt-Keeper@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          ·
          1 day ago

          My reply to your comment would be the same one you replied to. That’s not how it works. The translation layer is required. Having the same clue architecture is not good enough to just run the games natively. If it were, Proton wouldn’t exist and Linux and Mac gaming would have been solved a decade ago.

          You already don’t need to emulate the entire hardware system like you would with a PS3, but you still require a complex translation layer.

          • Crozekiel@lemmy.zip
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 day ago

            You already don’t need to emulate the entire hardware system like you would with a PS3, but you still require a complex translation layer.

            I think this is their point, just worded better. Wine and Proton are not “emulators”, but translation layers like you are describing.

            Although I have no idea what they are talking about in regards to virtualization - being able to install Linux on a PS5 doesn’t get me any closer to running PS5 games on Linux, and I can’t even imagine the virtualization headaches to get the PS5 OS running in a VM with enough access to the hardware to not blow chunks (and honestly sounds a lot closer to true hardware emulation than not).

            • Encrypt-Keeper@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              My problem with their point isn’t really the semantics as much as that they seem to be under the impression that it should “just work” when we can clearly see by the above article, it doesn’t.

          • CalcProgrammer1@lemmy.today
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            2
            ·
            1 day ago

            Translation layers and emulators are two very different things though, emulators take foreign machine code and interpret it on/recompile it for the native architecture while translation layers replicate OS and driver layer functionality on a foreign OS/driver environment. Proton is a translation layer, not an emulator. The PS5 can literally run Linix and Steam, it’s essentially stock PC hardware, so the environment that needs to be replicated is the PS5 system software, not the hardware layer.