KiCad on Apple M1

Has anyone tried the current version of kicad on the new M1 chip in the Apple Mini or MacBook yet?

Does the GNU toolchain exist for the M1 yet?

KiCad can be compiled with Clang and Visual Studio, the build system is cmake, so why “GNU toolchain”?

EDIT: according to https://docs.kicad.org/doxygen/md_Documentation_development_compiling.html#build_osx Clang is used on Mac.

Second EDIT: according to https://github.com/KiCad/kicad-mac-builder some tools from the GNU toolchain are used. Clang is part of the official XCode. Existence of the build time dependencies should be easy to test with brew.

KiCad should be able to be used through the x86_64 emulation framework (I think it is called Rosetta?), but might not work on native M1 aarch64 code yet due to dependency issues (some have not been updated to work yet).

“should be” being the operative word?

I was hoping someone is already using it? Might be too early yet.
Either way, I’ll report back once I get my Mac mini.

So will you be compiling it or install & run? I havent yet been able to compile it on big sur (intel machine)

install & run the .dmg if possible.

Check with @ebike from this thread, it appears to be working with Rosetta2:

Thanks for that info! Filling zones is a crucial feature, so that bug would make kicad unusable on the M1?

No.

It is just a very minimal change in the GUI that a newly created zone does not get it’s internals calculated automatically and you have to press the b key to do that.

Thanks for the clarification!

Now I know. Thanks for the information. It does help me too.

I’m running 5.1.8 under Rosetta2 on an M1 MBPro and I find it frustrating to the point of being unusable. The UI is laggy - far more than most other Rosetta apps. I’m not going to use Kicad on the M1 any more - pointless - will go back to my old 2013 Intel MBPro as that is much more responsive and usable.

Just for counterpoint: I’ve been running a week-or-so old 5.99 nightly on a new M1 mini (with Rosetta) and have had no issues, with speed or otherwise. The only exception seems to be that the 3D viewer can cause slowdowns in pcbnew as they exchange updates.

I’m actually impressed by how smooth it is, though that may be that the last time I used an EDA tool it was EAGLE, which was terrible… :slight_smile: I hadn’t actually realized it wasn’t native until I just went and looked.

@scubasail Not exactly sure what your situations is, but if you wan an Apple M1 thing, just buy it and try it! :slight_smile:

Anyway, work is in progress to be able to build it for arm on macos. It has been seen running, but it is not yet complete.

See https://gitlab.com/kicad/packaging/kicad-mac-builder/-/issues/352#note_483855358

I can confirm that the current stable kicad works perfectly on an M1, no laggy UI.

1 Like

Wouldn’t running it natively require being able to build it on MacOS Catalina? Maybe even Catalina on an M1 build host as I’m not sure if cross-compiling KiCad is realistic (or worth the effort to get to work).

@bson, you tell me. I got the impression from the weird ass path decisions in brew that cross-compiling is not an issue i.e. possible, but I didn’t really research it further as I don’t own any Apple hardware. I could be totally wrong with that assumption, but that is really not what the current packaging efforts are concerned about and it seems like someone has proved it can be built for arm thing. I don’t know if that was natively compiled or not. In other words, a native build for the M1 thing has been seen, but is not officially distributed or supported as such – yet.

The problem isn’t brew or anything you can obtain using it - the problem the last time I tried to build KiCad was its undocumented dependencies on ancient Apple SDK components that were no longer available (some you can download, others not) and almost certainly aren’t going to be available for M1. They harkened back to 10.11 or 10.12 (I forget, it was over a year ago), and had to be manually installed since XCode had long since stopped making them available. You might have them if you had a system that old that you incrementally upgraded, but for a more recent system I had no luck (and I didn’t then don’t today have any system that old). That’s where an M1 system would be. I think the dependencies were via third party libraries. Building for, or on an M1 system will require getting rid of these dependencies. (But who knows, maybe over the last year this has been improved? Since I couldn’t build it I couldn’t work on it, and have had no reason to track its development…)

1 Like

Is this natively or using Rosetta2?