Skip to content

all: port to Windows/arm64 #36439

Closed
Closed

Description

@vielmetti

Opening this issue to track interest and progress in a port to windows/arm64.

This is completely separate from the open issue #26148 (windows/arm32) but might be informed by it.

The specific codebase I'm motivated by for this request is for WireguardVPN, and the specific discussion to reference is https://lists.zx2c4.com/pipermail/wireguard/2020-January/004832.html & surrounding.

Activity

  1. added this to the Backlog milestone on Jan 8, 2020
  2. added
    NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.
    on Jan 8, 2020
  3. carlosedp commented on Jan 11, 2020

    @carlosedp

    What is the best option for hardware to run Windows on arm64? Does it run on a RK3399 SoC board like the Pine64 Pro?

  4. vielmetti commented on Jan 11, 2020

    @vielmetti
    Author

    @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.

  5. driver1998 commented on Jan 12, 2020

    @driver1998

    It can also run on KVM, I actually do my ARM64 dev on a KVM VM on RK3399.

  6. clarkezone commented on Jan 20, 2020

    @clarkezone

    I would love to see an ARM64 version of go for Windows 10 so I can run it natively on the Surface Pro X:
    image

    Is what I'm currently seeing so it won't even run in emulation on this device or so it would seem.

  7. necrose99 commented on Feb 13, 2020

    @necrose99

    #25084 same deal.

  8. necrose99 commented on Feb 13, 2020

    @necrose99

    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...

  9. backerman commented on Feb 21, 2020

    @backerman

    I would love to see an ARM64 version of go for Windows 10 so I can run it natively on the Surface Pro X:
    image

    Is what I'm currently seeing so it won't even run in emulation on this device or so it would seem.

    Did you use the 32- or 64- bit download? The 32-bit x86 version should run in emulation.

  10. necrose99 commented on Feb 21, 2020

    @necrose99

    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..

  11. anaisbetts commented on Mar 2, 2020

    @anaisbetts

    @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)

  12. bradfitz commented on Mar 2, 2020

    @bradfitz
    Contributor

    Reposting @anaisbetts's comment from elsewhere:

    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.)

  13. zx2c4 commented on May 13, 2020

    @zx2c4
    Contributor

    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.

  14. 144 remaining items

  15. gopherbot commented on Aug 20, 2021

    @gopherbot
    Contributor

    Change https://golang.org/cl/344070 mentions this issue: internal/dl: highlight Windows ARM64 installer

  16. jeremyd2019 commented on Mar 21, 2022

    @jeremyd2019

    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...

  17. jeremyd2019 commented on Mar 22, 2022

    @jeremyd2019

    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 😀

  18. necrose99 commented on Apr 3, 2022

    @necrose99

    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 ..

  19. added a commit that references this issue on Feb 1, 2023
  20. locked and limited conversation to collaborators on Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions