Do plugins built for Intel 64-bit work on M1 Macs using Rosetta?

This may be a naïve question, but are plugins built for 64-bit Intel processors supposed to run on the new ARM-based M1 Macs using Rosetta? I can see 3 possibilities:

  1. that just won’t work at all
  2. it works just fine via Rosetta, which emulates the 64-bit Intel code on the M1
  3. same as 2. but too slow to actually work properly for audio-processing code

Or does it depend entirely on how the host loads plugins?

2 for the most part it seems - I’m having a lot of problems getting Logic to run my plugins but that seems to be my issue at this point.

1 Like

#2 - I’m seeing about 30% performance hit. Plugins and host must be same CPU architecture. For AU Apple has added an out of process host, so ARM hosts can load Intel plugins. It would be up to each host to implement something like this for VST. Downside is AU plugins can no longer identify what host they are running under.

1 Like

thx - that explains an issue I was seeing.

But just until JUCE code is updated to contemplate the case of the Logic host process, I guess, right?

contemplate the case of the Logic host process, I guess, right?

Not as simple as it was.

When running on Apple Silicon, Logic behaves differently.
But the actual sandbox host process is provided by macOS
(Available since Big Sur). Currently it is used by Logic (and GarageBand I assume).

The process name in Activity Monitor gets the host name.
So it might be possible to filter it from there.

1 Like

Thanks everyone for the insights! So in principle it could work with a performance hit, and some things need to be adjusted in JUCE.
I will at some point bite the bullet and buy an M1-based Mac, although I’m also looking forward to this (if it’s only for sporadic testing): “Apple M1 Chip – EC2 Mac instances with the Apple M1 chip are already in the works, and planned for 2021.” (source: https://aws.amazon.com/blogs/aws/new-use-mac-instances-to-build-test-macos-ios-ipados-tvos-and-watchos-apps )

Due to code-signing issues relating to Big Sur I build on my intel Mac on Catalina. In Xcode you can build for “Any Mac (Apple Silicon, Intel)” which will create a universal binary. These work perfectly fine on the M1 Mac I have - they run correctly as arm.

1 Like

Maybe someone can help.

Just tested my plugin with M1. With Rosseta mode everything is working.
With the last version of Cubase my plugin is in a blocklist (“Unsupported architecture”).

The build was made on intel Mac with selected Architecture “Standard Architecture (Apple Silicon, Intel)”.

What can be a problem? What should I check or what I missed?

Checked my binary with File command
Inside I see only “Mach-0 64-bit bundle x86_64”

Why is it like this? And why there is no arm64?

fixed.
I changed target to MacOs 10.13 and now it works.