I’ve seen people talking about it and experienced it myself with a server, but why does Linux run so well on ARM (especially compared to Windows)?

  • @Chobbes
    link
    691 year ago

    I mean… On Linux you’re going to be running a bunch of open source applications that have been compiled for ARM specifically. A huge problem with Windows on ARM is going to be running legacy x86 / x86_64 applications. You’re probably not contending with this problem at all on Linux, and I suspect if you were you would be similarly unimpressed (you can get Linux to transparently execute executables for different platforms using binfmt_misc and qemu but it’s slooooooow).

    Honestly the better question might be why the Mac transition to Apple silicon has been so smooth. Part of this is that Apple cares a lot less about keeping legacy software working and companies will make native versions of their software ASAP. But Apple also has a good translation layer with Rosetta for this, and has custom silicon (which Microsoft does not) and I would not be surprised if part of this custom silicon involves extended instructions which make running x86 applications more feasible, but I don’t know the details and this is just speculation on my part.

      • @[email protected]
        link
        fedilink
        English
        131 year ago

        Apple hit a sweet spot with this. x86_64 applications run at acceptable speed (making the transition easy for people who buy the hardware) while not being SO good that there’s zero reason for developers to start porting their software.

      • @pivot_root
        link
        121 year ago

        Small correction: the flag setting modes aren’t undocumented. They’re standardized extensions. ARMv8.4 added FEAT_FlagM, and ARMv8.5 added FEAT_FlagM2.

        https://developer.arm.com/downloads/-/exploration-tools/feature-names-for-a-profile

        IIRC, the only nonstandard ARM extension used by Rosetta 2 in Apple’s processors is TSO, and that’s also implemented by other manufacturers. It’s also not a hard requirement to run amd64 under ARM. You can emulate it very slowly or restrict the application to a single core.

        Apologies for the tangent, but I needed to make sure nobody could defend Microsoft’s prior failings by saying “but Apple has secret hardware sauce”.

        • @carl_the_grackle
          link
          31 year ago

          So while not technically “secret sauce,” it’s certainly “special sauce.” Good point.

    • @[email protected]
      link
      fedilink
      7
      edit-2
      1 year ago

      In 2011 Microsoft released Windows RT, and it was specifically designed to run on ARM hardware. Everyone hated it, and it never really became anything. Well, you can’t blame MS for not trying. Maybe the time just wasn’t right for that sort of radical transition. Everyone was complaining that you can’t even install anything other than the handful of applications available at the store. Nobody was releasing any quality apps in the store, so I guess that may have killed the entire OS.

        • @[email protected]
          link
          fedilink
          4
          edit-2
          1 year ago

          Please do continue. Corrections are appreciated.

          I know that “everybody,” “nobody” and “any” parts were probably too harsh. In reality, the store wasn’t entirely void of activity.

          • @[email protected]
            link
            fedilink
            3
            edit-2
            1 year ago

            You are basically correct imo.

            Microsoft has been courting ARM for decades (the 90s had WindowsCE tho that might have been more MIPS than ARM, see Vadem Clio for a product ahead of its time).

            However like many relationships “the time wasn’t right” or “too busy for more than fun” so the courtship has yet to click beyond some neat devices that fizzled.

    • Veraticus
      link
      fedilink
      English
      61 year ago

      This is overall very true but the transition even for Apple was anything but smooth. There was a long period of time during which app support for ARM was pretty hit or miss. Happily that period is just about over and now everything is built for all archs.

      • @Chobbes
        link
        101 year ago

        I dunno, overall Rosetta 2 seems to be incredibly successful. It seems like most people were able to transition without worrying too much about whether their software would work at all or not, which I think is undoubtedly the smoothest an architecture transition like this has ever been.