Natron on Apple silicon

Hi there;

I’m curious if Natron is expected to work on Apple macbooks running the new M1 Max processors?

I have the latest (2.4.1) version installed, and Natron crashes as soon as the UI is drawn…I’m unable to interact with it at all. I’m curious if this is unusual?

Thank you!

It’s an issue with macOS Monterey, not M1 (Big Sur worked perfectly). See https://github.com/NatronGitHub/Natron/issues/712

This will be fixed in Natron 2.6.

In the mean time, you can try this one, which has a workaround which may work or not (it works for me, not for some other): https://github.com/NatronGitHub/Natron/releases/tag/v2.4.3-rc1

Native M1 support is not a priority (none of the current developers have this hardware).

Thanks very much, very interesting.

Since we’re on the topic of future versions, I’m curious if I can ask about the python version that will be shipping with Natron? Is there an effort to move to Python 3.0?

Or: is there a way to tell Natron to use a different Python version than what’s included in its installation?

(I know this is a big issue for developers to consider, I’m not trying to start an argument about this one, just curious).

Natron 2.5 will use Python 3. You can find test build on GitHub.

No, you are tied to the version included with Natron.

Thank you. It appears the 2.5 alpha1 still suffers from the same crashing as I was experiencing with 2.4, so hard for me to test the thing I’m trying to test. The 2.4.3 test Frederic pointed me to does seem less crashy (though still crashy intermittently), but because I’m on this M1 I have python compatibility issues there. So I’m a bit stuck.

I see you guys are actively developing this right now though, so I will hold tight and wish you the best getting 2.5 across the finish line!

There should be no python-related issues, especially not m1-related, since the binary is x86, so it’s running under rosetta.
Anyway, I will make a new 2.5.0 build that includes the Monterey workarounds. They will still crash when you open a second project, but if you open one project and work on it it should run fine

Well, strictly speaking, you are 100% right - there are no python issues with natron that I’m experiencing per se. I apologize that I am being confusing.

My ultimate problem is that I have a script that uses numpy to match footage to a Macbeth chart. This script has worked beautifully for me in the past, on a different development macbook that was quite old. I upgraded, and now my stuff is all broken, and I’m trying to fix it. Numpy is annoying to get working under the best of circumstances, but numpy + Natron instability + monterey + M1 = an unpleasant mess I’m trying to untangle.

To try to eliminate some variables for myself, I’ve shifted over to a Windows machine, which runs Natron 2.4.1 fine of course. I see that this version uses Python 2.7.15. I’ve installed this version (and the associated numpy module) using Anaconda on my windows machine, and have added the path to this module using sys.path.append(path/to/py2.7.15/lib/site-packages), yet I still seem unable to import numpy in Natron’s script editor (numpy throws a messy error about DLL compilation issues). At the moment my theory is that python compiled as part of the natron installation package differs from the python compiled by anaconda, but honestly this is new to me and I’m just grasping at straws here.

I think none of this is your all’s problem; this is just me trying to get some code to run in Natron, and I’ll keep banging around trying to see if I can find a path forward. If it’s the case that anyone within earshot has a less-cantankerous way to use numpy within Natron I would love to hear about it!

Natron + Python on Windows is a bit messy.

I compiled the last supported version of numpy(+openblas) for Python2 here:
Natron-RB-2.4-Windows-Python2-numpy-1.16.4-1.zip (14.3 MB)

This has been custom built for Natron, do not use on anything else.

Copy everything in bin to NATRON_FOLDER/bin/
Copy everything in lib to NATRON_FOLDER/lib/

Holy wow, amazing! This absolutely worked perfectly for me, and solved what I’ve spent several days trying unsuccessfully to fix! Thank you so very much!

I’m not sure how easy it is to offer such an easy solution on Monterey, but this is a great fix for me right now. Thank you again!

I uploaded new 2.5.0 alpha builds on github. But I think what you were missing was how to install any packacke in Natron. Here’s how to do it (on macOS, but windows and linux are the same, just change the path to the localtion of natron-python):

/Applications/Natron\ 2.4.3\ macOS12\ rc1.app/Contents/MacOS/natron-python -m pip install numpy
/Applications/Natron\ 2.4.3\ macOS12\ rc1.app/Contents/MacOS/natron-python -m pip list
Package    Version
---------- -------
numpy      1.16.6
pip        20.3.4
psutil     5.9.0
QtPy       1.11.2
setuptools 44.1.1
six        1.16.0
wheel      0.37.1

Note that installing numpy on Windows through natron-python -m pip does not work, that’s why I made the zip.

@devernay: amazing!! I didn’t realize at all that’s how I could install packages for natron, I’ve been jumping through hoops for a year or two trying to work around this and I could have just been doing it so simply this whole time. I can’t thank you enough, this is so helpful!

Also, just to confirm: your latest 2.5a2 on my macbook M1 Max indeed runs fine (when I directly launch the file I’d like to work with), I was indeed able to successfully install numpy as you instructed, and my script now works exactly as it did before (with a few fewer lines trying to hammer an external numpy into the mix!)

Also, @rodlie, your fix worked similarly beautifully on my Windows machine; I got your numpy installed and it too works great.

Again, many many thanks to you both for helping you through this, as well as for the extra effort in teaching me how to help myself a bit better moving forward. I truly appreciate it!