12

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?

                    Polygon5 I think I got the issue. Looks like macOS forces execution of such scripts wrapped with app bundle as an intel build. Rosetta is needed to initiate execution of launch script. But the main Orion app is already running using current architecture (means Apple Silicon in your case) ๐Ÿ™‚

                    Which you can also confirm using "Activity Monitor" after launching Orion profile.

                      dino Rosetta installation pops-up even on direct execution.

                        dino
                        I Think you did !
                        Yes, the main Orion is running as "Apple" and since I don't have rosetta installed couldn't be run otherwise, right?
                        So, is there a workaround ? ๐Ÿ™‚

                        • dino replied to this.

                          Polygon5 For now you can use terminal (as a workaround, to open any profile) to do that as a workaround. Like executing direct path to script in terminal will do the job.

                          ~/Applications/Orion/Orion Profiles/<Unique-ID>/Orion - Test.app/Contents/MacOS/Orion (Replace with your path)

                          Or

                          you can make target profile as "Default" using "Profiles" Library (or as "Manage Profiles..."), and then make your target profile as Default (means with what profile you want to run your main Orion App) by context menu, and relaunch main app, you will be running your target profile now.

                          We will look into this dependency and will try to find alternative to it soon for sure ๐Ÿ™‚

                          No one is typing