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

Extensions: Distribute ARM64 binaries #98818

Closed
joaomoreno opened this issue May 29, 2020 · 12 comments
Closed

Extensions: Distribute ARM64 binaries #98818

joaomoreno opened this issue May 29, 2020 · 12 comments
Assignees
Milestone

Comments

@joaomoreno
Copy link
Member

joaomoreno commented May 29, 2020

Related to: #98587

Hi extension authors! 👋 This issue's purposed is to reach out to extensions which ship native node modules and let you know that we'll start shipping Code on Windows on ARM for Insiders now and Stable later.

Even though extensions can keep having native x86 *.node dependencies, it is ideal that you'd ship ARM dependencies instead. This can easily be achieved by running npm install with an environment variable npm_config_arch=arm64, Visual Studio should be able to handle the recompilation for you.


Here are top extensions which are known to possibly download native node modules at runtime:

Extension Contacts Issues
C++ @sean-mcmanus
C# @gregg-miskelly dotnet/vscode-csharp#3006
LiveShare @lostintangent

Here are the top 1000 extensions in the Marketplace which include substantial native node modules:

Extension Dependencies Contacts
Arduino serialport, node-usb-native, usb-detection @testforstephen
Spell Right spellchecker-darwin-6.0.9-x64.node, spellchecker-darwin-7.1.7-x64.node, spellchecker-deb-6.0.9-ia32.node, spellchecker-deb-6.0.9-x64.node, spellchecker-deb-7.1.7-ia32.node, spellchecker-deb-7.1.7-x64.node, spellchecker-rpm-6.0.9-ia32.node, spellchecker-rpm-6.0.9-x64.node, spellchecker-rpm-7.1.7-ia32.node, spellchecker-rpm-7.1.7-x64.node, spellchecker-win32-6.0.9-ia32.node, spellchecker-win32-6.0.9-x64.node, spellchecker-win32-7.1.7-ia32.node, spellchecker-win32-7.1.7-x64.node @bartosz-antosik
Cloud Code pty.node, conpty_console_list.node, conpty.node @kschaab
luaide darwin_x64_69.node, darwin_x64_73.node, darwin_x64_75.node, linux_x64_69.node, linux_x64_73.node, linux_x64_75.node, win32_ia32_69.node, win32_ia32_73.node, win32_ia32_75.node, win32_x64_69.node, win32_x64_73.node, win32_x64_75.node @kangping
Azure IoT Device Workbench keytar, node-usb-native, serialport, usb-detection @chagong
ES6 Mocha Snippets gcsignals.node, keytar.node, is-elevated.node, keymapping.node, watchdog.node, pty.node, onig_scanner.node, spdlog.node, fse.node, nsfw.node, vsda.node @spoonscen

We would appreciate if you could let us know if you have addressed this and whether you hit any snags. If you end up creating an issue on your issue tracker, also let us know so we track it too. Thanks! 🙏

@joaomoreno joaomoreno added this to the June 2020 milestone May 29, 2020
@joaomoreno joaomoreno self-assigned this May 29, 2020
@gregg-miskelly
Copy link
Member

@joaomoreno dotnet/vscode-csharp#3006 can be used to track the C# extension.

@gregg-miskelly
Copy link
Member

I should also add - there is not currently an ARM64 .NET Core SDK Installer. I believe dotnet/core#3765 tracks that. Without that, the experience will be a bit clunky.

@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented May 29, 2020

Linux ARM/ARM64 support are targets for the next release of our C/C++ extension: microsoft/vscode-cpptools#429, microsoft/vscode-cpptools#2506 ; however, we've only seen around 1% of the feedback for ARM being for Windows (Surface Pro X), with 99% of the requests (seemingly) being for Linux, so we were not planning to do any work for Windows ARM -- but now it sounds like we should. I've only started preliminary investigation, so not sure how much time it will actually take to finish yet for Linux or Windows ARM (hopefully in June), and the debugger component is being tracked separately. Are there any plans for VS Code Linux ARM support (#6442)? Looks like that's only shipping in the alternate headmelted/vscodium distros that don't support the remote extension or our C/C++ debugging experience (which is restricted to VS Code).

UPDATE: I was confused about local versus remote in regards to VS Code Linux ARM support (i.e. VS Code on x64 remoting to Linux ARM is supported), so local Linux ARM support doesn't matter as much.

@testforstephen
Copy link

@dilin-MS @dooriya are owning vscode-arduino extension now, i will invite them to have comments.

@dilin-MS
Copy link

dilin-MS commented Jun 1, 2020

Thanks for letting us know!
Arduino and workbench has no plan supporting Windows on ARM currently. I set up issue for Arduino and workbench for better tracking the feature in the future. Thanks a lot!

@rossburton
Copy link

rossburton commented Jun 17, 2020

(i.e. VS Code on x64 remoting to Linux ARM is supported)

Is this in a development branch or something? My VS Code 1.46.0 says "unsupported architecture arm64" when I use a macOS client and remote ssh to a Linux/arm64 box.

@sean-mcmanus
Copy link
Contributor

@rossburton
Copy link

rossburton commented Jun 18, 2020

That says arm64 on Windows, whereas I care about Arm64 on Linux for extensions. How I use it is macos for the actual UI, connecting to a remote linux/arm64 server.

@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Jun 18, 2020

@rossburton Oops, sorry for my confusion. What extension is giving the "unsupported architecture" message? Our C/C++ extension is working on remote arm/arm64 support for Linux, so if VS Code itself is giving that error, then that would be blocking for us.

@rossburton
Copy link

It appears to be the C/C++ extension.

@sean-mcmanus
Copy link
Contributor

@rossburton Oh, your description threw me off -- we show "Architecture is not supported" (or a translated version of that). We're tracking that with microsoft/vscode-cpptools#429 and microsoft/vscode-cpptools#2506 (we're working on ARM first, followed by ARM64).

@joaomoreno joaomoreno modified the milestones: June 2020, Backlog Jun 30, 2020
@joaomoreno
Copy link
Member Author

Closing this on our part, since there is no action to do for us. Issue will remain open for discussions.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants