In-App Extensibility Support for ARM/Apple Silicon Devices
Update March 10th, 2021: Photoshop is now available natively for Apple silicon devices.
Previously Updated December 17th, 2020: As of Creative Cloud Desktop App Version 5.3.5.518, plugin and extension installation is not supported for users of ARM processors, (with the exception of the Adobe XD Plugin Manager). We regret this inconvenience and expect a fix in the next version of the Creative Cloud Desktop App due at the end of February 2021. Unfortunately, at the time of this writing, alternate installation methods like ExManCmd and third party tools like Anastasiy’s Extension Manager cannot install plugins on ARM devices. It is not possible to roll back the Creative Cloud Desktop App. We will update you as soon as a workaround is available.
With the release of Apple silicon devices and respective Photoshop betas for Windows ARM and Apple silicon, it’s natural to wonder how these releases impact in-app extensibility for users and developers.
︎
What does ARM / Apple silicon mean for in-app extensibility?
Both Microsoft and Apple are now shipping hardware that is based on the ARM architecture, and this has implications for users and developers alike, especially given the large library of Intel-based software. As such, both companies provide compatibility layers that enable you to run Intel-based applications on the new architectures. The approach each company takes is different, but enables the ability to utilize software not yet optimized for the architecture to still be used by users and developers.
Note: Using Windows ARM’s emulation for Intel-based applications is not currently suggested for running Photoshop 22.x. (See https://helpx.adobe.com/photoshop/kb/windows-arm-support.html)
Support Matrix
There are several extensibility features available in the Creative Cloud applications. To quickly understand the support for each, consult the following table. Additional detail is provided below.
https://gist.github.com/kerrishotts/6a8bea49c4e52f1bfe738df4a406bef4#file-support-csv
C++ Plug-ins
You’ll need to recompile your plugins for ARM-based architectures. We’ll be releasing documentation on how to do this shortly and will update this post when the documentation is available.
Update: Instructions on recompiling your C++ plugins are located in the documentation packaged with the Photoshop SDK download available at console.adobe.io.
CEP Panels
CEP panels will be continue to be supported, at launch, on Creative Cloud applications that currently support CEP on Intel, except for Photoshop running natively on ARM/Apple silicon Devices. CEP will work when running Photoshop with Rosetta 2 on Apple silicon.
ExtendScript & ScriptUI
ExtendScript and ScriptUI continue to be supported on both native ARM binaries and compatibility mode for Intel binaries. Developers should not infer the degree of support based on any missing features in prerelease beta software.
Generator
Generator will work only only for Intel-based versions of Photoshop. It will not be natively supported on ARM/Apple silicon Devices. Generator will work when running Photoshop with Rosetta 2 on Apple silicon.
UXP
UXP is supported natively on all architectures. This means that if a user needs to use plugins in a mixed environment (UXP, CEP, Generator, etc.), they can do so under Apple silicon using Rosetta. If they only need UXP plugins, they can switch to the native build on ARM/Apple silicon devices.
Of course, on Intel devices, UXP and the other extensibility solutions continue to co-exist and will do so for an unspecified amount of time.
Frequently Asked Questions
What about a slow CEP deprecation?
As you may know, Adobe is planning to deprecate and eventually remove CEP support from Creative Cloud applications. It is being replaced by a more modern solution (UXP).
For binaries that provide Intel code, the deprecation policy is the same as it has always been — Adobe does not have a firm timeline for deprecation and removal, and the ultimate decision of when CEP can be deprecated and removed will be up to each application.
For binaries that provide only ARM code, that policy is a little different. Note that Apple silicon was only announced pretty recently, so our previous guidance on CEP deprecation only ever considered an Intel-based ecosystem (Windows on ARM device uptake has not been particularly fast), and we have not been able to speak about plans for Apple silicon until now. For all apps except Photoshop, the initial betas may not support CEP (or other extensibility features), but it is currently planned when released from the beta program. For Photoshop, CEP and Generator support is removed for the native ARM build ONLY. This means that should a Photoshop user need CEP or Generator, they must run Photoshop under compatibility mode.
How long will Intel binaries be supported?
The transition to ARM-based architectures will not happen over night. Intel machines will continue to exist and be supported for a long time to come. ARM-based PCs, on the other hand, are pretty new to the scene, and Windows ARM-based machines have not seen fast uptake. Apple’s own recent releases are their lowest tier devices, and as such, many Enterprises and Creatives are likely to wait and see any compatibility issues be ironed out, and to see what a higher-level tier of machines will be capable of.
Apple has not been shy about indicating that they will migrate their entire Mac line to Apple silicon quickly, but that process is likely to take a couple years. Even after the transition period, Apple will continue to support Intel-based Macs for many years after, and it seems unlikely that they would remove Rosetta 2 support from Apple silicon devices in such a short time period.
As such, for those Creatives who need to utilize extensibility features not supported natively on Apple silicon devices, they will likely have the opportunity to use compatibility mode for quite some time to come.
How do I run an app using Rosetta 2 on Apple silicon devices?
For applications that are delivered as Intel-only bundles, compatibility mode is enabled automatically. There is nothing further for the user to do. For applications that are delivered as “universal” bundles, you can switch between the native and compatibility mode at will on Apple silicon devices.
- Open Finder and navigate to the application in question
- Right-click the application
- Select Get Info
- Check Open in Rosetta
- Open the application as normal (the first launch will be a little slower due to the on-the-fly translation performed by Rosetta 2, but additional launches will not have this startup penalty)
The selection on Apple silicon devices is persistent until the user changes their selection. Note that changing the selection will require an application restart.
For Creative Cloud applications with extensibility features, everything remains the same when an app is running in compatibility mode. This means that the same extensibility feature-set is available. While the application itself may not be optimized for the ARM architecture, benchmarks for Apple silicon are showing that performance is quite good, even for translated applications. As such, it’s unlikely that the user experience will be significantly degraded on Apple silicon devices.
For more stories like this, subscribe to our Creative Cloud Developer Newsletter.