Will the upcoming transition to ARM processors have any implications for the Vuo development?

I'm thinking specifically in terms of multi-OS support/porting, or is everything so abstracted that it doesn't matter?



We aim to have Vuo natively

jstrecker's picture
Submitted by

We aim to have Vuo natively supporting ARM by the time Apple starts selling ARM-based Macs to the general public.

The work consists of three main areas: LLVM changes, providing binaries, and updating dependencies.

  • Much of the work will consist of the LLVM updates that we already had planned. Beyond that, we'll need to make sure our compiler code that uses LLVM isn't making any assumptions that we're on x86_64.

  • We'll have to provide a "universal binary" of Vuo.app that contains binaries for both x86_64 and arm64. So we'll need to modify our build system (process of compiling/linking Vuo). Since Vuo.app, Vuo.framework, and exported apps and plugins will contain binaries for both architectures, they'll be a larger file size.

  • In addition to Vuo itself, all of Vuo's dependencies will need to be compiled/linked for ARM. We can compile/link the dependencies that are open-source ourselves. We'll be relying on the developers of proprietary dependencies to provide ARM versions.

For node developers such as yourself, we'll need to change the process in some way to support ARM. I'm not sure exactly how we'll do that yet. Possibly the vuo-compile command will put both the x86_64 and arm64 versions in the same .vuonode file. We'll know more as we go forward.

Great, thanks for the update

MartinusMagneson's picture
Submitted by

Great, thanks for the update Jaymie! I am mostly worried it will negatively impact a possible port to a Windows version in the future though. I'm guessing that ARM will take precedence here - but will it ease an eventual port, or will it make the whole process more difficult (I realize this might be too early to know now)?