ARM transitioning implications

Hi

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?

Cheers!

1 Like

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.

2 Likes

Thanks for the update, Jaymie! I don’t envy anyone dealing with platform changes like this. On a potential upside, is there any chance the move to ARM will positively impact the feature request for deploying to iOS? https://community.vuo.org/t/-/5017 (perhaps Raspberry Pi as well? https://community.vuo.org/t/-/5022)

1 Like

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)?

is there any chance the move to ARM will positively impact the feature request for deploying to iOS? (perhaps Raspberry Pi as well?)

Since both use ARM processors, yes — though the majority of the work will remain to be done (user interface APIs/conventions, I/O APIs, windowing system APIs, Unix API differences, and for iOS/iPadOS the restricted runtime environment and App Store review requirements).

I am mostly worried it will negatively impact a possible port to a Windows version in the future though.

It won’t be helpful toward Windows support for the majority of Windows machines, which have x86_64 processors. Unfortunately it’s just something we have to do to continue supporting macOS, and it will push back the Windows version. ARM support for macOS would potentially be helpful toward ARM support for Windows, if there are enough people using Windows on ARM processors to justify doing that.

1 Like

Thanks for the clarification Jaymie! :)

1 Like

Very excited for the potential to export to iOS devices in some future version of Vuo. Digital art deployed to an iPad is so much easier to power, protect, reboot etc. than deployment on a Mac, and interactive touchscreens would be way more fun too. :)