win32 arm64 Support
What would you like?
Run a web application with Workerd on a computer with Win32-Arm64 OS.
Why is this needed? With Asus recently releasing laptops with Qualcomm CPUs, this will be more and more requested. See The Asus Vivobook S 15.
Other I managed to start my Web app with workerd regardless.
By adding in "win32 arm64 LE": "@cloudflare/workerd-windows-64" in Install.js as a knownPackage. I dont know what side-effects this brings.
That would be nice. I had to do the same workaround as OP to get my dev env. running.
Hi, I've opened the PR #2997 in order to contribute. Feel free to help me with the configuration of bazel since it's the first time I touch this kind of stuff.
I dont know what side-effects this brings.
Probably nothing, I think the binary exe run under emulation of x86_64 on the ARM64.
I was not able to connect to a pg db with workerd for windows x64, under windows arm64. I'm using prisma + hono + wrangler@3 and the request was running indefinitely without error message or timeout. Only solution found was to rollback on wrangler@2. Just for your information if somebody has the same behavior.
any updates on this ?
Latest Surface Pro / Laptop line uses Snapdragon X ARM64 processors, continuing the Windows ARM trend. As an owner of one, this would be really convenient. I was intending to evaluate using Durable Objects for a new project, but even the small friction of setting up a WSL environment just to run the tutorial has me putting it off.
Hello, any updates on this? I have a Snapdragon X Elite ARM64 laptop and am unable to run wrangler natively and must use WSL.
I recommend anyone watching this, go upstream and follow the roadmap task to add free-tier public Windows ARM64 images to Github Runners. My understanding is that this is blocking Bazel from support, which in turn blocks this project.
https://github.com/github/roadmap/issues/1098
(also related, https://github.com/actions/runner-images/issues/10820)
Best not to bother the Cloudflare folks until the infrastructure exists for them to automate the Win ARM64 target build. It's disappointing, but not entirely surprising, that Microsoft hasn't prioritized shipping these runner images despite pushing ARM so hard in Windows lately.
Just in, at least the first upstream prerequisite appears to be unblocked: https://github.com/github/roadmap/issues/1098 (public ARM64 Windows action runners) is now shipped.
Not totally familiar with the chain of events here, but I gather Cloudflare may still have to wait on changes in Bazel to support ARM on Windows. Still, this seemed to be the largest blocker.
After trying to track down remaining blockers here, it's not clear what remains to be done. https://github.com/cloudflare/workerd/pull/2997 was an early attempt at Windows ARM support stymied by lack of public Arm64 workers and some kind of Bazel incompatibility, but Bazel seems to offically support Win Arm 64 now and the public workers are launched. I wonder if that same changeset could work now. Can anyone more familiar with the requirements in workerd comment on whose court the ball is in now, so to speak?
After trying to track down remaining blockers here, it's not clear what remains to be done. #2997 was an early attempt at Windows ARM support stymied by lack of public Arm64 workers and some kind of Bazel incompatibility, but Bazel seems to offically support Win Arm 64 now and the public workers are launched. I wonder if that same changeset could work now. Can anyone more familiar with the requirements in
workerdcomment on whose court the ball is in now, so to speak?
Unfortunately this is still not easy to support, even with the arm64 runner being available based on workerd's dependencies. The build uses rules_js and by extension yq to import npm packages, which is not yet available for arm64 Windows (https://github.com/mikefarah/yq/issues/2348). There might be more similar dependency issues, this is just the first error causing the build to fail. I hope that supporting arm64 will become easier as it becomes available for dependencies.
Any updates on this? It looks like https://github.com/mikefarah/yq/issues/2348 is resolved, which was the blocker preventing progress on this issue.
Any updates on this? It looks like mikefarah/yq#2348 is resolved, which was the blocker preventing progress on this issue.
Unfortunately this is not a priority for the upcoming quarter. It's good that the yq issue is resolved, but it is likely that there are several other dependencies that do not support arm64 Windows/would require complex workarounds.
Not sure if it can be useful for anyone: I am using wrangler with npm and installing nodejs for x64 instead of ARM64 fixed the issue. Cloudflare sees it as a normal x64 environment. I do the same with python to fix some dependencies that refuse to work in ARM64 win
By adding in "win32 arm64 LE": "@cloudflare/workerd-windows-64" in Install.js as a knownPackage. I dont know what side-effects this brings.
Before Officially support, doing this in upstream is beneficial.