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

Complete win32-arm64 implementation #98587

Closed
1 of 4 tasks
joaomoreno opened this issue May 26, 2020 · 7 comments
Closed
1 of 4 tasks

Complete win32-arm64 implementation #98587

joaomoreno opened this issue May 26, 2020 · 7 comments
Assignees
Labels
feature-request Request for new features or functionality file-watcher File watcher windows VS Code on Windows issues workbench-os-integration Native OS integration issues
Milestone

Comments

@joaomoreno
Copy link
Member

joaomoreno commented May 26, 2020

A solid win32-arm64 build will start rolling out to insiders pretty soon. A few things are still left undone:

Currently they should still work since Windows 10 ARM ships with an emulation layer for x86, which these components are running on. But it would be great to get native performance on each of them.


PS C:\Users\jomo\Downloads\VSCode-win32-arm64-1.46.0-insider> Get-ChildItem . -Recurse -Include *.exe,*.dll,*.node | ForEach-Object { [PSCustomObject]@{ Name = $_.Name; Machine = dumpbin /HEADERS $_.FullName | Select-String -Pattern machine } }

Name                     Machine
----                     -------
keytar.node                          AA64 machine (ARM64)
iselevated.node                      AA64 machine (ARM64)
keymapping.node                      AA64 machine (ARM64)
watchdog.node                        AA64 machine (ARM64)
conpty.node                          AA64 machine (ARM64)
conpty_console_list.node             AA64 machine (ARM64)
pty.node                             AA64 machine (ARM64)
winpty-agent.exe                     AA64 machine (ARM64)
winpty.dll                           AA64 machine (ARM64)
spdlog.node                          AA64 machine (ARM64)
nsfw.node                            AA64 machine (ARM64)
rg.exe                   {             14C machine (x86),                    32 bit word machine}
sqlite.node                          AA64 machine (ARM64)
crypt32.node                         AA64 machine (ARM64)
winregistry.node                     AA64 machine (ARM64)
vsda.node                            AA64 machine (ARM64)
foreground_love.node                 AA64 machine (ARM64)
CreateMutex.node                     AA64 machine (ARM64)
windows_process_tree....             AA64 machine (ARM64)
CodeHelper.exe                        14C machine (x86)
libEGL.dll                           AA64 machine (ARM64)
libGLESv2.dll                        AA64 machine (ARM64)
Code - Insiders.exe                  AA64 machine (ARM64)
ffmpeg.dll                           AA64 machine (ARM64)
libEGL.dll                           AA64 machine (ARM64)
libGLESv2.dll                        AA64 machine (ARM64)
vk_swiftshader.dll                   AA64 machine (ARM64)
@joaomoreno joaomoreno added feature-request Request for new features or functionality windows VS Code on Windows issues workbench-os-integration Native OS integration issues labels May 26, 2020
@joaomoreno joaomoreno added this to the Backlog milestone May 26, 2020
@joaomoreno joaomoreno changed the title Complete Win32-ARM64 implementation Complete win32-arm64 implementation May 26, 2020
@bpasero bpasero added the file-watcher File watcher label May 26, 2020
@roblourens
Copy link
Member

There is no windows ARM azure pipelines agent, right? Do you know anything about cross-compiling for ARM on windows, or do we have a build machine that we can set up?

@joaomoreno
Copy link
Member Author

There is no ARM build machine no. Cross compilation seems possible for C++ since the ARM tooling is installed in the regular Windows agents. But Rust is another story, it should be quite straightforward to compile rg to ARM64. Is that what you were thinking?

@roblourens
Copy link
Member

I have to get it to cross compile PCRE2 which is C which I guess should be possible, and the Rust code should be straightforward to build for arm but I haven't convinced it to work yet, I'll keep working on it.

@rmourey26
Copy link

Today, I tried both the 64bit system install and zip file manual install of vs code win32-64x - 1.48.2 and both versions had the same issue with codehelper. Upon opening the vscode app as either a user and or an admin, codehelper.exe will not open and creates the error in the attached screen shot. A.

Also, after opening vscode for the first time, regardless of whether you open as an administrator or a user, the .vscode folder (that houses extensions) is added to the folder associated with the primary windows user rather then a folder designated by the admin. Is that a known issues associated with this thread. As a result of this specific issue, I am unable to utilize vscode for my current project. Thanks to everyone for your time and input.

![codehelper_vs_code_error_8_31_20]

(https://user-images.githubusercontent.com/20747769/91774822-b2d3f800-ebb7-11ea-8163-3780b110e3bf.PNG)

@rmourey26
Copy link

Update - I located codehelper.exe within C:\Windows\System32\my-app\resources\app\out\vs\platform\files\node\watcher\win32 folder and changed settings within codehelper.exe properties/compatibility to run on Windows 8 compatibility mode and as an admin. I re-opened VSCode and as of now I no longer receive the "app could not start" error for codehelp.exe. I will provide another update after more extensive testing and simply utilizing vscode to ensure full issue resolution.

@joaomoreno
Copy link
Member Author

@rmourey26 This is irrelevant to this issue. Please file a separate issue if you have a problem.

@joaomoreno
Copy link
Member Author

Closing this bundle. The issue remains for traceability.

@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
feature-request Request for new features or functionality file-watcher File watcher windows VS Code on Windows issues workbench-os-integration Native OS integration issues
Projects
None yet
Development

No branches or pull requests

4 participants