Rosetta on M1 is "hit and miss"?

DSP, Plug-in and Host development discussion.
KVRian
552 posts since 30 Aug, 2012

Post Tue Mar 23, 2021 8:56 am

According to Apple's info about Rosetta: "Rosetta 2 works in the background whenever you use an app built only for Mac computers with an Intel processor. It automatically translates the app for use with Apple silicon."

OK, then how come some plugins that work perfectly in Big Sur on Intel do NOT work in M1 with Rosetta?

KVRian
767 posts since 3 May, 2005 from Victoria, BC

Post Tue Mar 23, 2021 9:11 am

Rosetta works at the process level, meaning plugins and their host must be the same architecture. So if you are running an M1 host, it can only load M1 plugins, not Intel plugins running under Rosetta. For AU, Apple has worked around this running AU plugins out of process with a bridge. Most VST hosts however do not supply a bridge, so they are unable to run Intel plugins. Instead you will need to run the host under Rosetta.

Rosetta does not support AVX, AVX2, and AVX512 instructions, so if a plugin requires them, it will not run under Rosetta.

Otherwise plugins should run, can you give any examples of plugins that don't?

KVRian

Topic Starter

552 posts since 30 Aug, 2012

Post Tue Mar 23, 2021 9:25 am

FigBug wrote:
Tue Mar 23, 2021 9:11 am
Otherwise plugins should run, can you give any examples of plugins that don't?
Yes - mine! They work in Logic 10.6.1 on Big Sur Intel but do not work in Logic on M1 with Rosetta. Validation fails with plugin I/O pinout configuration. Something as basic as that I would think should not be an issue yet it "fails" without much clue as to why. I/O reported is as it should be (mono/stereo):

Code: Select all

FORMAT TESTS:
Reported Channel Capabilities (explicit):
      [1, 1]  [2, 2]  
Input/Output Channel Handling:
1-1   1-2   1-4   1-5   1-6   1-7   1-8   2-2   2-4   2-5   2-6   2-7   2-8   4-4   4-5   5-5   6-6   7-7   8-8
X                                         X                                                                      
# # AudioChannelLayouts (2), Input Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
  0x640001, 0x650002,
Is Audio Channel Layout Available:
Mono    Stereo  Binau.  AU_4    Ambi.   AU_5    AU_5_0  AU_6    AU_6_0  AU_7_0  AU_7_0F AU_8    AU_5_1  AU_6_1  AU_7_1  AU_7_1F
X       X                                                                                                                      
ERROR: 4097 IN CALL Problem with initial Channel layout state
* * FAIL

KVRian
767 posts since 3 May, 2005 from Victoria, BC

Post Tue Mar 23, 2021 9:35 am

Does it work in other hosts? So far I've found the plugin bridge and Logic very buggy on M1 macs.

KVRian

Topic Starter

552 posts since 30 Aug, 2012

Post Wed Mar 24, 2021 5:13 am

FigBug wrote:
Tue Mar 23, 2021 9:35 am
Does it work in other hosts? So far I've found the plugin bridge and Logic very buggy on M1 macs.
Yes it does work in other hosts on M1 including GarageBand. AAX version also works in Pro Tools.

KVRAF
4728 posts since 17 Dec, 2009

Post Sat Mar 27, 2021 7:32 am

Does it work if Logic is running "Rosetta" mode?

I found more than a handful plugins that misbehave if logic is Native and plugs are rosetta.
Image

KVRian

Topic Starter

552 posts since 30 Aug, 2012

Post Sun Mar 28, 2021 6:32 am

Ploki wrote:
Sat Mar 27, 2021 7:32 am
Does it work if Logic is running "Rosetta" mode?

I found more than a handful plugins that misbehave if logic is Native and plugs are rosetta.
That I have not tried - but I had that thought as well. Will report back what I find out.

KVRist
366 posts since 17 Jan, 2005

Post Mon Sep 20, 2021 2:22 am

Fender19 wrote:
Tue Mar 23, 2021 9:25 am
Yes - mine! They work in Logic 10.6.1 on Big Sur Intel but do not work in Logic on M1 with Rosetta. Validation fails with plugin I/O pinout configuration. Something as basic as that I would think should not be an issue yet it "fails" without much clue as to why. I/O reported is as it should be (mono/stereo):
Our findings on a M1 mac with "Intel" only plug-ins:
You have to open the Terminal in "Rosetta" mode (right-click Terminal and use info dialog to tick "Open using Rosettta") Then run auval and it runs now in "Intel" mode (you can check this with the activity monitor - column "Kind"). Auval will then execute your plug-in in "Intel" mode like on an Intel mac and it should validate properly.

You can use same method with your host (e.g. run Logic in Rosetta mode) and validate the plug-in in plug-in manager. After that it is safe to switch back Logic to run in "Apple" mode and it will show up your Intel plug-in (due to the AU bridge).

Best
accSone

Return to “DSP and Plug-in Development”