Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

[Feature Request] Windows 10 on Arm #1962

Closed
revnode opened this issue Feb 23, 2020 · 5 comments
Closed

[Feature Request] Windows 10 on Arm #1962

revnode opened this issue Feb 23, 2020 · 5 comments
Labels
N-investigation Needs: investigation

Comments

@revnode
Copy link

revnode commented Feb 23, 2020

Is your feature request related to a problem? Please describe.
Unable to use Insomnia on Windows 10 on Arm.

Describe the solution you'd like
A build for Windows 10 on Arm.

Describe alternatives you've considered
Curl? I suppose I could use curl.

Additional context
https://www.electronjs.org/docs/tutorial/windows-arm

I'm happy to help with this.

@gschier
Copy link
Contributor

gschier commented Mar 11, 2020

Ah yes, ARM seems like a good target to support as it's likely the future of computing.

From that article, it seems like there are a few hurdles to overcome:

  • Node 12 is recommended, which we can't use until we upgrade electron [Build] Update Electron #1847
  • Will likely need an ARM CI environment to build within (does GH Actions support Windows ARM?)

It seems like it should be fairly trivial after these two things are in place (knock on wood).

@gschier gschier added Accepted 👌 N-investigation Needs: investigation labels Mar 11, 2020
@revnode
Copy link
Author

revnode commented Mar 13, 2020

I was able to build it without issue on a CentOS 8 x64 Intel system running node v10.16.3

git clone https://github.com/Kong/insomnia.git
cd insomnia
npm explore npm -g -- npm install node-gyp@latest
yum install libcurl-devel fontconfig-devel
set npm_config_arch=arm64
npm run bootstrap
npm run app-build

Of course, it built it for Linux arm64, so not terribly useful unless you're running Linux. Will try to build it on Windows 10 x64 Intel next.

@revnode
Copy link
Author

revnode commented Mar 18, 2020

Didn't have much luck with Windows 10. Crashed during packaging. I think it's related to electron-builder. It would build for x64_x86, but crash when specifying arm64 as a target.

@bartdorsey
Copy link

What about building this for RaspberryPi? Seems like it should be similar since it's ARM as well.... Also Apple shipped ARM macs so it seems ARM really should be figured out.

@LouisStAmour
Copy link
Contributor

As FYI, I've made a specific ticket to track ARM M1 support over here: #2964

For other types of ARM support, there is this if it's needed: https://github.blog/changelog/2019-12-03-github-actions-self-hosted-runners-on-arm-architectures/ But I imagine cross-compiling, like on macOS for ARM, is also an option these days.
There's some recent interest in getting ARM for Windows builds running under Github Actions: actions/runner#785

Not sure if it helps much, as I'm not familiar with current Electron code, but here's some of what Microsoft did with VS Code to support ARM in various flavours: https://github.com/microsoft/vscode/blob/d1fff1a08360f0d35f124c990dc65a6bccd748d2/build/lib/electron.js#L85 and https://github.com/microsoft/vscode/blob/7d57a8f6f546b5e30027e7cfa87bd834eb5c7bbb/resources/linux/snap/electron-launch#L9-L12 etc. https://github.com/microsoft/vscode/blob/a5f84617e22e6e32afc18a808828f1e233361244/build/gulpfile.vscode.linux.js#L260-L264 for Linux
https://github.com/microsoft/vscode/blob/a5f84617e22e6e32afc18a808828f1e233361244/build/gulpfile.vscode.win32.js#L137-L139 for Windows

... ah, actually the best thing to look for in VS Code's build toolchain is probably VSCODE_ARCH as in the number of times it appears in https://github.com/microsoft/vscode/blob/b7aa0f7d406430a388e02b011222cb8e0ea565de/build/azure-pipelines/product-build.yml for their use of Azure Pipelines - https://azure.microsoft.com/en-ca/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/ That said they appear to compile on Linux x64 first and presumably use qemu to run other architectures' build steps on Linux, so they don't need to natively use ARM, it looks like... https://github.com/microsoft/vscode/blob/b7aa0f7d406430a388e02b011222cb8e0ea565de/build/azure-pipelines/product-build.yml#L14-L47

@wdawson wdawson closed this as completed Jun 30, 2021
@Kong Kong locked and limited conversation to collaborators Jun 30, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
N-investigation Needs: investigation
Projects
None yet
Development

No branches or pull requests

5 participants