Universal binary plugin loads under Rosetta on Mac M1

My build machine is Intel i9 Macbook Pro, OS X 12.4. I have a typical JUCE plugin build - AU, VST, VST3, AAX. I spent some days getting my build updated for universal binary.

I have 4 dependent third party libs. Researched and re-built all of them for both x86_64 and arm64. Added arm64 to my projucer archs for my plugin. Built all of that successfully. Third party libs are .dylib. Ran “lipo -info” on plugin binary and all .dylibs - all show x86_64 and arm64.

On an M1 Pro Mac, using latest Reaper, I inserted AU and it spawned a Rosetta-looking plugin wrapper task in Activity Monitor, so my conclusion is that my plugin is still somehow running the intel slice.

Any ideas what could be causing that?

I’d it possible that this is reapers issue? What happens when you try to load that up in logic?

This usually happens when the host itself is started via rosetta, then all plugins will be loaded this way as well!

Good suggestion to suspect Reaper first. I got Logic installed on the device and inserted the plugin. I see “Logic” in Activity Monitor with Kind == Apple. I see “AU Hosting Service (Logic)” with Kind == Apple. I do not see any AUHostingCompatibilityService. So, hopefully that means all is good and my plugin is running natively on arm.