You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@carlosedp All of the Windows 10 on Arm laptops that I am aware of to date are Qualcomm Snapdragon based. My daily driver laptop is a Lenovo Yoga C630, and there's a relatively new Microsoft Surface Pro X with a faster chip.
It looks like some work to get the boot sequence for rk3399 boards compatible with Windows lives at https://github.com/andreiw/rk3399-edk2 by @andreiw - with liberal warnings of things that still don't work.
@clarkezone fwiw, the 32-bit x86 version of Go's installer seems to work, at least from my limited testing (I'm not a Go user, I just wanted to build a Go app)
So, one thing to know about ARM64 on Windows is, it actually fully emulates x86 (not amd64, 32-bit apps oddly enough) for user-space apps - they Just Work (most of the time! kinda!)
So, with a bit of sleight-of-hand packaging, you can make an "ARM64" release that still mostly has x86 binaries
(I'm not sure what the performance cost of that is, though.)
One reason why windows/arm isn't sufficient is that several important APIs -- such as all of setupapi.dll, for example -- are unavailable in wow mode, which means we need actual arm64 binaries.
It's quite possible to get windows running on arm64 in qemu, by the way.
Reacted by Andre Alves Garzia, happyjake and Daniel Gurney
I have been working with MSYS2 on getting packages there built for Windows on ARM64 (using clang's mingw-w64 target like llvm-mingw does). I am curious if it would be possible to 'bootstrap' an ARM64 package of Go there (and/or if I can contribute to making that work, though I have 0 experience with Go).
Also, I am very interested in what options/licensing you figured out for Windows ARM64. We are currently using a QC710 to build, but I have been trying to figure out some sort of cloud hosting situation...
I am curious if it would be possible to 'bootstrap' an ARM64 package of Go there (and/or if I can contribute to making that work, though I have 0 experience with Go).
Amazingly, it Just Worked. I'm used to having to fight packages much more to get them to build 😀
Activity
carlosedp commentedon Jan 11, 2020
What is the best option for hardware to run Windows on arm64? Does it run on a RK3399 SoC board like the Pine64 Pro?
vielmetti commentedon Jan 11, 2020
@carlosedp All of the Windows 10 on Arm laptops that I am aware of to date are Qualcomm Snapdragon based. My daily driver laptop is a Lenovo Yoga C630, and there's a relatively new Microsoft Surface Pro X with a faster chip.
It looks like some work to get the boot sequence for rk3399 boards compatible with Windows lives at https://github.com/andreiw/rk3399-edk2 by @andreiw - with liberal warnings of things that still don't work.
driver1998 commentedon Jan 12, 2020
It can also run on KVM, I actually do my ARM64 dev on a KVM VM on RK3399.
clarkezone commentedon Jan 20, 2020
I would love to see an ARM64 version of go for Windows 10 so I can run it natively on the Surface Pro X:

Is what I'm currently seeing so it won't even run in emulation on this device or so it would seem.
necrose99 commentedon Feb 13, 2020
#25084 same deal.
necrose99 commentedon Feb 13, 2020
mitchellh/gox#140
platform.go and a few hax... latter.
https://github.com/golang/winstrap
ahh poohh but did not get an arm64 windows-arm build of gox... how nice.
winstrap-master_windows_arm.zip
might help...
backerman commentedon Feb 21, 2020
Did you use the 32- or 64- bit download? The 32-bit x86 version should run in emulation.
necrose99 commentedon Feb 21, 2020
my windows wants is any golang honeypots and RPI3/4 makes for good decoys/bait...
/topSec SBC's are less expensive to utilize emulation meh..
anaisbetts commentedon Mar 2, 2020
@clarkezone fwiw, the 32-bit x86 version of Go's installer seems to work, at least from my limited testing (I'm not a Go user, I just wanted to build a Go app)
bradfitz commentedon Mar 2, 2020
Reposting @anaisbetts's comment from elsewhere:
(I'm not sure what the performance cost of that is, though.)
zx2c4 commentedon May 13, 2020
One reason why windows/arm isn't sufficient is that several important APIs -- such as all of setupapi.dll, for example -- are unavailable in wow mode, which means we need actual arm64 binaries.
It's quite possible to get windows running on arm64 in qemu, by the way.
144 remaining items
gopherbot commentedon Aug 20, 2021
Change https://golang.org/cl/344070 mentions this issue:
internal/dl: highlight Windows ARM64 installerinternal/dl: change GOARCH=arm64 pretty string ARMv8 → ARM64
internal/dl: highlight Windows ARM64 installer
jeremyd2019 commentedon Mar 21, 2022
Hi,
I have been working with MSYS2 on getting packages there built for Windows on ARM64 (using clang's mingw-w64 target like llvm-mingw does). I am curious if it would be possible to 'bootstrap' an ARM64 package of Go there (and/or if I can contribute to making that work, though I have 0 experience with Go).
Also, I am very interested in what options/licensing you figured out for Windows ARM64. We are currently using a QC710 to build, but I have been trying to figure out some sort of cloud hosting situation...
jeremyd2019 commentedon Mar 22, 2022
Amazingly, it Just Worked. I'm used to having to fight packages much more to get them to build 😀
necrose99 commentedon Apr 3, 2022
git clone @ github.com/mh-cbon/go-msi
go mod init github.com/mh-cbon/go-msi && go mod tidy && gox -osarch="windows/arm64"
can build on stock win11 ... go-msi_windows_arm64.exe is produced.
point being might be able to msi/msix an installer as well ..
internal/dl: change GOARCH=arm64 pretty string ARMv8 → ARM64
internal/dl: highlight Windows ARM64 installer
Bump Go versions used for testing and releasing
Port to arm64
Port to arm64
Port to arm64
Port to arm64