Skip to content
This repository has been archived by the owner on Oct 14, 2024. It is now read-only.

Promote AdoptOpenJDK Version -> Windows ARM64 #141

Closed
1 task
eklipse2k8 opened this issue Feb 28, 2020 · 20 comments
Closed
1 task

Promote AdoptOpenJDK Version -> Windows ARM64 #141

eklipse2k8 opened this issue Feb 28, 2020 · 20 comments
Milestone

Comments

@eklipse2k8
Copy link

Java Version:
Version 8/11/12

JVM:

  • OpenJ9
  • [ X] Hotspot

@AdoptOpenJDK/tsc please can somebody +1 this request?

@karianna karianna added this to the March 2020 milestone Mar 6, 2020
@sxa
Copy link
Member

sxa commented Mar 6, 2020

At the moment we do not have any suitable machines in our infrastructure so we cannot build, let alone promote, builds for this architecture, although I'm quite interested in having it myself ;-)

@eklipse2k8 Have you tried our Linux/aarch64 builds under WSL? :-)

@karianna karianna self-assigned this Mar 15, 2020
@karianna
Copy link
Member

I'll see if the hardware can be procured through Azure (CC @gdams )

@gdams
Copy link
Member

gdams commented Mar 16, 2020

The Node.js folks have been doing windows arm64 builds. I'm not sure if this is cross-compiled or if they have dedicated hardware? Ping @rvagg to see if he can help.

@rvagg
Copy link

rvagg commented Mar 16, 2020

Dedicated, but not very serious hardware, it's early days. Ping @joaocgreis for an explanation.

@tresf
Copy link

tresf commented Mar 16, 2020

I've snagged a maxed-out Surface Pro X for testing purposes. I'd happily lend remote access to it as a build machine to an AdoptOpenJDK developer, or help sponsor procurement, etc.

@sxa
Copy link
Member

sxa commented Mar 18, 2020

So @karianna's question still stands - can we get such systems through Azure so we could have something in our CI @gdams?

@sxa
Copy link
Member

sxa commented Mar 18, 2020

I also have an aarch64 Windows machine myself, but am a bit short on time for working on getting a port running on it :-)

@gdams
Copy link
Member

gdams commented Mar 20, 2020

There are multiple people who have managed to get windows 10 running on a pi 4. I'm going to investigate further.

@gdams
Copy link
Member

gdams commented Mar 20, 2020

can we get such systems through Azure

@sxa555 there is currently no commercially available option in Azure.

@karianna
Copy link
Member

We'll need to purchase rent hardware from elsewhere for now (I'm trying to avoid using any fully locked down Windows Azure hosts, let's wait until they have a public offering there)

@tresf
Copy link

tresf commented Mar 20, 2020

There are multiple people who have managed to get windows 10 running on a pi 4. I'm going to investigate further.

I completely forgot about this. That makes the build very affordable too. Can we send a few devices your way? I see Microsoft has an official Pi 3B+ technical preview, would that be good hardware? Of course, at this price, you may choose to just buy one for yourselves, but at that price you can likely get 2 Pis + storage for < £85 (USD 100).

@joaocgreis
Copy link

For Node.js we have a couple of Asus NovaGo laptops running in my office connected directly to CI. We plan to move to Azure when ARM64 machines become available there.

Note that Visual Studio does not support native compilation on ARM64, but only cross-compilation from x86 or x64. So, since ARM64 Windows has emulation for x86, when compiling on an ARM64 machine the x86 version of Visual Studio is used.

@tresf
Copy link

tresf commented Mar 22, 2020

Note that Visual Studio does not support native compilation on ARM64, but only cross-compilation from x86 or x64. So, since ARM64 Windows has emulation for x86, when compiling on an ARM64 machine the x86 version of Visual Studio is used.

@joaocgreis thanks for this information. Are the cross-compilers only available to ARM64 Operating Systems? If not, do we need ARM64 at all? (e.g., Is this just for the unit tests to pass?)

@karianna
Copy link
Member

We need ARM to pass the tests and should we ever need to natively compile, then one to build as well.

@joaocgreis
Copy link

@tresf the cross compilers are available on any installation of Visual Studio. So, you should only need real hardware to run the tests.

To install the cross compilers, you need Visual Studio 15.9.0 or newer with the following components installed:

  • Visual C++ compilers and libraries for ARM64
  • Visual C++ ATL for ARM64
  • Windows 10 SDK 10.0.17763.0 or newer

Note that the process might be a little tricky if you need to compile and run tools during the build process. We can't cross-compile Node.js for ARM64 because we need this and the V8 build files haven't been adjusted to build the tools for the host architecture yet.

@tresf
Copy link

tresf commented Mar 27, 2020

Status update, @gdams was able to get Windows 10 ARM64 running on a Pi 4B. Two more Pi 4B kits are heading his way. 📦

@karianna karianna modified the milestones: March 2020, April 2020 Apr 7, 2020
@karianna karianna modified the milestones: April 2020, May 2020 May 6, 2020
@karianna karianna modified the milestones: May 2020, June 2020 Jun 11, 2020
@karianna karianna modified the milestones: June 2020, July 2020 Jul 15, 2020
@karianna karianna modified the milestones: July 2020, August 2020 Aug 2, 2020
@karianna karianna modified the milestones: August 2020, September 2020 Sep 8, 2020
@karianna karianna modified the milestones: September 2020, October 2020 Oct 1, 2020
@karianna karianna modified the milestones: October 2020, November 2020 Nov 5, 2020
@karianna karianna modified the milestones: November 2020, December 2020 Dec 2, 2020
@tresf
Copy link

tresf commented Dec 4, 2020

FYI, I've been using the ARM64 HotSpot build from Microsoft and it works very well on the Surface Pro X, well enough to contribute to this PR: java-native-access/jna#1264. I realize this is a TSC thread, but wanted to share my success story.

@aahlenst
Copy link
Contributor

aahlenst commented Dec 4, 2020

@tresf Input is always welcome. Progress is very slow in this area at the moment because I'm struggling to purchase suitable hardware that we can put into a rack. I'm still optimistic that we can resolve it until the release of 16.

@tresf
Copy link

tresf commented Dec 4, 2020

@tresf Input is always welcome.

Well, you guys were one step ahead of me. The only bug I've found so far in my specific use-case was patched on the new version before I could report it. I don't personally use Windows on ARM64 as a daily workstation, but I have a strong feeling that this use-case will start to grow exponentially if/once the M1 virtualization is more viable combined with the up-and-coming 64-bit Intel emulation.

@gdams gdams mentioned this issue Dec 7, 2020
@gdams gdams removed the TSC-Agenda label Dec 10, 2020
@karianna karianna modified the milestones: December 2020, March 2021 Mar 9, 2021
@karianna karianna removed their assignment Apr 13, 2021
@karianna karianna modified the milestones: March 2021, April 2021 Apr 18, 2021
@karianna
Copy link
Member

Moved to Adoptium

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

9 participants