12

Steps to reproduce:

  1. Create a new Profile, in addition to the Default profile
  2. Launch the newly created Profile alongside the default

Expected behavior:

  • New Profile runs as a native Apple silicon application

Actual behavior:

  • New Profile runs as an Intel application under Rosetta

Orion, OS version; hardware type:
Version 0.99.121-beta (WebKit 614.1.20)
MacBook Pro (macOS Monterey 12.6 build 21G115) (16-inch, 2021) (M1 Pro)

Image/Video:
Prompt for Rosetta Installation on first launch of new Profile:

Activity Monitor showing the new Profile running as Kind Intel. All the Helper Processes remain Apple

    I was also able to reproduce this.

      Any ideas why this may be affecting you and not other M1/M2 users?

        The only plausible thing I can think of is because my original installation was via homebrew (brew install orion)

          I'm able to duplicate, and I installed Orion directly from the website. Only the main Orion process for the new profile runs as an Intel app on my M1 Pro.

            Somehow the Orion bash script installed in ~/Applications/Orion/Orion Profiles is running under Rosetta.
            Running the individual exec command inside of iTerm2 results in no new Rosetta processes.

            Even when running the Orion bash script, all web processes for the new profile run without Rosetta.

            ~This is bizarre~

            What this does mean is that performance should not be an issue.

              We will get to the bottom of this by next release.

                I can confirm this is happening on an M1, and I just installed Orion "regularly".

                I suspect that in RC testing this probably wasn't spotted, since everyone had Rosetta installed anyway, so wouldn't notice it unless they went to check for it!

                  @gp can you also share your findings from the Discord

                    if you s/exec/arch -arm64/g the bash helper script, that will start the new instance as an arm binary without Rosetta. This isn't portable, so you'd need to invoke arch first (without any params), which will give you the native system architecture.

                    Reference on that command - https://stackoverflow.com/questions/71065636/how-can-i-run-a-command-or-script-in-rosetta-from-terminal-on-m1-mac

                    exec is a bash built-in, and seems to spawn the new Orion process directly. In contrast, arch spawns a new thread as a child of the shell (i.e. bash), which is perhaps a little bit messy.

                    I am not sure why exec is invoking the app as an Intel binary though! I suspect the answer lies somewhere to do with this:

                    "In other words, when running code on Apple Silicon, macOS will keep to the same architecture through each calling chain. As some have already reported on Twitter, if you run a terminal app which is Intel-only, each shell that it launches also runs under Rosetta 2 and runs the Intel version of each tool which it calls, even though those tools may be Universal and have ARM-native code available too. When those tools haven’t already been translated by Rosetta 2, translation must occur before they can be run, causing a delay, even though they could have run their ARM-native code."

                    a month later
                    a month later

                    Release 0.99.122 - Nov 25, 2022, the problem remains although in release notes says it is fixed:
                    " Profiles runs with Rosetta under Apple Silicon #3398 @CyberArchon "

                    • Vlad replied to this.

                      Polygon5 Looks like CPU type identification error while generating launcher script.

                      Can you please zip the profile launcher "Orion - Test.app" (located under ~/Applications/Orion/Orion Profiles/<Unique-ID>/Orion - Test.app) and send to us, so that we can check the generated script.

                      Also please send output of command sysctl -n machdep.cpu.brand_string

                      If possible can you also send terminal output of attached command line tool please

                      cputype.zip
                      13kB

                        Polygon5 What if you try to run your Orion Profile directly, like executing "Orion - Test" app directly. Let us know if it still uses Rosetta? or the issue is limited to initial launch of any profile at creation time?