I am disappointed by the lack of a linux arm64 build for the latest IDE. I think that some of the issues raised in Best way to get IDE ARM64 builds? have been resolved, such as the lack of linux arm64 github runners. (I am new to the arduino world and new to github runners, but have 4 decades of experience in similar worlds.)
They are still not provided by GitHub:
It is possible to provide your own "self-hosted" Linux ARM runner machine:
However, from experience I know that self-hosted runners are quite challenging for Arduino to manage because the team works from various remote locations around the world, while a self-hosted machine must be maintained in a single secure physical location.
More likely this would be accomplished by using an x86 runner to cross-compile for ARM (probably using virtualization), but that is complex and not something we have resources to investigate at this time.
If you need to use Arduino IDE on a Linux ARM machine, the easiest solution will be to use Arduino IDE 1.8.19. The download links are listed here:
https://www.arduino.cc/en/software#legacy-ide-18x
You can also build Arduino IDE 2.x from source on your Linux ARM machine. You can use the information here:
https://github.com/arduino/arduino-ide/blob/main/docs/development.md#prerequisites
The truth is that Arduino IDE 2.x requires a lot of computing resources and I think that, although usable, you'll find it a bit sluggish even on a Raspberry Pi 5.
Why not just lease an ARM64 + Ubuntu virtual machine from Amazon Web Services, and use that as your "centralized" build server reachable from all your remote locations around the world? You would only need to spin it up when you really need a github "self hosted" machine.
It is something I have set up during the time before GitHub provided Apple Silicon hosted runners. It is quite complex and comes at a cost, but certainly possible for that use case. Unfortunately things that would possible for an individual or small team working on a software project become infeasible in the face of bureaucracy when you try to implement them within the context of a moderately sized company like Arduino so this approach eventually had to be discarded as an option for that particular endeavor.
Using GitHub hosted runners is much more inline with the values of an open source project because this approach means that anyone can fork the project and easily use the established infrastructure to generate their own builds. In addition to a "hard fork" scenario where someone decided to take the project in a different direction, such accessibility is super useful for contributors to be able to validate their work on relevant systems prior to submitting a pull request. In theory they could set up their own AWS EC2 instance, but that task is a huge barrier compared to simply enabling GitHub Actions in their fork.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.