Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM64 Native Compilation support #17288

Closed
ossdev07 opened this issue Mar 8, 2019 · 4 comments
Closed

ARM64 Native Compilation support #17288

ossdev07 opened this issue Mar 8, 2019 · 4 comments

Comments

@ossdev07
Copy link

ossdev07 commented Mar 8, 2019

Hi,
I am trying to compile Electron for my Native ARM64 based machine but I am not able to get proper steps which should be followed for this architecture.

Can you please let me know whether:

  1. There is support for ARM64 in Electron Package?
  2. What are the compilation steps which need to be followed to achieve success?
  3. Any suggestion which I can refer to get success in the compilation.

I am really interested to work in direction of getting Electron run over ARM64 architecture, which will also benefit a lot of other communities too.

Looking forward to quick help from your side.

Regards,

@jkleinsc
Copy link
Contributor

jkleinsc commented Mar 8, 2019

@ossdev07

  1. Electron does support ARM64 on Linux and we distribute ARM64 binaries on all of our releases.
  2. Electron relies on GN (supplied by Google as part of Chromium) to build and GN doesn't run on ARM64, so we do a cross compile build of Electron on x64 Linux. I looked into getting GN to build on ARM64 and ran into many problems but you are welcome to look into it further to see if you can get it working.
  3. Maybe a refining question here - are you looking to build Electron or build Electron apps on ARM64? If it is to build Electron apps on ARM64, then everything is already setup for you to do so.

@vielmetti
Copy link

If i read this right, this is GN:

https://gn.googlesource.com/gn/

"GN is a meta-build system that generates build files for Ninja."

In turn, here is Ninja:

https://ninja-build.org/
https://github.com/ninja-build/ninja

"Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible."

If I were to start on this I'd make a stab at getting Ninja to build, but as @jkleinsc notes, this may not really be necessary depending on what you are doing.

@nornagon
Copy link
Member

nornagon commented Mar 8, 2019

Electron is based on Chromium, which does not itself make any concerted attempt to be buildable on ARM hosts. All ARM-based Chromium (and Electron) builds are cross-compiled from x64 hosts. You're welcome to take on this challenge, but I suspect there's a long road ahead of you if you want to build Electron on an ARM host!

@nornagon nornagon closed this as completed Mar 8, 2019
@ossdev07
Copy link
Author

ossdev07 commented Mar 9, 2019

@nornagon @vielmetti @jkleinsc
Hi Guys,
Thanks for providing a quick review regarding my support request.

I do agree that both Electron & Chromium doesn't have native compiling support over ARM64 architecture.
But my target is to success over Native platform and going by demand for ARM64 architecture in recent times, I would really like to work in this direction.
Can you please provide me with some pointers regarding where to start and some help which I can use to overcome issues and get some success.

And Yeah, I do agree that I have a long road ahead of me but the journey would be easier if you guys can help me out in figuring out ways to achieve successful compilation over ARM64.

Regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants