What does Apple Mac switching to custom ARM mean for Blender?

https://www.bloomberg.com/news/articles/2020-06-09/apple-plans-to-announce-move-to-its-own-mac-chips-at-wwdc

Seems like there could be some serious refactoring-- but you never know. Maybe it’s just a recompile. Doubt there’s x86 compatibility.

4 Likes

Hard to say without such a machine to work with. Maybe ‘just’ a recompile, but it also depends heavily on how the OS changes.

Well, will it depend if the OpenGL still have support in new computers?

2 Likes

Blender already builds on ARM (for Linux), any issues are more likely to be related to OpenGL or getting all dependencies properly built.

3 Likes

They will likely ship it with some sort of emulation. They can’t expect the entire software market to have ARM Versions ready to go. Microsoft already did this with the Surface Pro X.
The emulation reduces performance of course, but my guess is that they’ll make up for it with faster hardware. “Buy our new Mac - all your applications will be almost as fast as before.” is not a good sales pitch.

1 Like

I don’t think that Apple will do that easily. They have really accepted the idea of break with the past.

1 Like

There’s a lot of talk they won’t ship with emulation because of the licensing fees they would have to pay to Intel and AMD.

It will be interesting.

Ah! Well, interesting indeed. :grinning:

1 Like

While it might be true that a few random package maintainers have managed to build blender for arm64 up to now, that burden will now fall to blender proper to maintain, ship alongside mac x64, and get to production quality.

Besides that non-zero, and ongoing, cost there you have to account for the rest of software stuff.

  • Blender itself doesn’t just need recompiled, all the library dependencies (literally more than 50 of them) including Python 3.7+ do as well[1]. Do they support ARM64 and do they support it well? Time will have to be spent discovering the answer to that question and dealing with any of them that don’t.
  • Could this impact usage and plans for things like OIDN and Embree? Maybe. You’ll definitely lose those 2 on arm64 platforms.
  • Blender’s usage of SSE instructions would have to have NEON counterparts implemented or otherwise certain things are going to be much slower than necessary like Cycles CPU rendering and various sections of the core math library, compositor, and a few other places.

The wildcard is what they do with the actual OS at this point. Apple loves opengl (/s), maybe they decide it’s time to really put it to bed during this switch? Maybe they mandate a new application framework be used for creating apps and only those apps run on the new system? No one knows yet.

[1] For instance, let’s take Python. Even though arm has been around forever in several useful form-factors AND that Microsoft has shipped full blown PCs on arm64 since 2018, the Python download page only lists iOS AND only by a third-party. So it does support it. But I mean, does it really?

2 Likes

Proprietary software company introducing proprietary hardware?

Personally I think MacOS is becoming more irrelevant by the day, especially to the free software world.

6 Likes

@deadpin while your right this is extra work to maintain, even in the case that it’s supported, this has been done before (when Blender supported power-pc).
Although admittedly, there were fewer dependencies back then.

Whatever the case, Blender is in a good position regarding portability, it already builds on operating systems and compilers (besides those that are officially supported),
if there is a move to ARM on any of the current supported OS’s, we’re well positioned to add support.

7 Likes

I was wondering: Could this transition to ARM favor better porting of Blender on Raspberry PI 4? The latest version of the PI has 8 GB on board and it would be great to bring a Pocket Blender always ready for use (I think of school students, above all)

Addenda:
Raspberry PI - Vulkan update: now with added source code. I imagine a futuristic Blender 3.xx with direct porting to ARM and Vulkan support

1 Like

What about RISCV support ? :slight_smile:

1 Like

Remember, Blender 3.xx is gonna come after 2.93 LTS, so it’'ll probably be 2021. I think 2.93 LTS is planned to release late 2020. We’re not doing that crazy +0.01 increment after three years of work again!

On a slide in the Platforms State of the Union session they mentioned they worked on bringing Blender to ARM Macs (at 20:22)

3 Likes

Is Apple willing to help Blender support metal?

We will probably find out within the next week. Apple said they are going to submit a patch bringing arm powered MacOS support to blender. https://developer.apple.com/videos/play/wwdc2020/102/?time=1222

8 Likes

I intentionally wrote 3.x because a transition to Vulkan would take time, between implementation, testing and release. I don’t think it can be obtained already from a 2.93 LTS. And it is not said that it will happen before two more years.

With regard to Vulkan support, here is the current roadmap https://code.blender.org/2020/06/modules-roadmap-june-2020/

2 Likes