Microsoft says “Prism” translation layer does for Arm PCs what Rosetta did for Macs - eviltoast
  • notthebees@reddthat.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 months ago

    But yuzu was running on the switch in that example. So it was beating the switch on contemporary hardware.

    • QuaternionsRock@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      6 months ago

      Oh yeah, clearly I did not read the article well. Still, it doesn’t mean what you think it does.

      First, Yuzu is more of an alternative API implementation than an emulator in this setup. The stock Switch OS and API implementation have been entirely replaced with Linux and the Yuzu implementation of the API. Given recent performance uplifts in the Linux kernel, I’m not surprised that Linux+Yuzu beats the first-party implementation.

      Second, the use of the word “emulation” in the above thread is really a misnomer: Rosetta 2, Prism and the like all perform what is called dynamic ISA translation. Yuzu need not perform ISA translation when running on ARM hardware.

      • notthebees@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 months ago

        I’m also not surprised and I still find it amusing. The ISA translation is something I never actually thought about in emulation

        • QuaternionsRock@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 months ago

          It is always quite amusing to see a billion dollar corporation beaten in its own game :)

          More information/context, if you’re curious:

          Rosetta 2 in particular isn’t full emulation because the API is the same for both architectures - it is only dynamic ISA translation. I expect that Prism will be slightly closer to full emulation; there is simply no way Microsoft will reimplement all of the legacy Windows APIs on ARM.

          WINE is a great example of something that is also not a full emulator, but for the opposite reason: it does not perform any ISA translation or hardware emulation, but rather only syscall (API) translation.