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

Please generate win-arm64 zip and runtime pack #530

Closed
AdamYoblick opened this issue Feb 20, 2020 · 16 comments · Fixed by #757
Closed

Please generate win-arm64 zip and runtime pack #530

AdamYoblick opened this issue Feb 20, 2020 · 16 comments · Fixed by #757
Assignees

Comments

@AdamYoblick
Copy link
Member

We'd like to crossgen the winforms binaries to arm64 and have them be publicly available. I know arm64 support for WPF still needs to be investigated, but @richlander indicated there are customers looking for an arm64 native build of winforms.

I've already done a proof of concept building winforms for arm64 and our test app seems to run just fine on an arm64 machine. I can give customers instructions how to build winforms for arm64 from source, but it would be nice if they could just download it.

Thank you!

/cc: @merriemcgaw

@dagood
Copy link
Member

dagood commented Feb 20, 2020

/cc @NikolaMilosavljevic @dleeapho

Installers for win-arm64 are related (dotnet/runtime#1529, for .NET Core, not only WindowsDesktop), but note that the request is just the zips in this issue.

@AdamYoblick
Copy link
Member Author

I created this issue just in case the arm64 installers were a long way off. If they are in the near future, I think we'd rather go in that direction, but I don't know the timeline 😄

@merriemcgaw
Copy link
Member

I don't know how far away WPF is from getting ARM64 set up. Is it an issue to have WinForms in the installer and not WPF? That seems a bit odd to me. If we can't get installers then the zip is fine.

@richlander
Copy link
Member

I think we should use the following prioritized ordering:

  • Enable the desktop runtime pack to be used on ARM64, for Windows Forms.
  • Enable the desktop runtime pack to be crossgen'd on ARM64, for Windows Forms.
  • Enable WPF to be used on ARM64 (including crossgen).

@dagood
Copy link
Member

dagood commented Mar 17, 2020

Does the shared framework (runtime) itself have a priority or is it intentionally not on that list?

@merriemcgaw
Copy link
Member

@richlander - can you clarify the difference between the first two bullet points? We've done our testing when it's directly compiled as ARM64. Now we need to enable crossgen and the zip files enabled. This is not our area of expertise :)

@merriemcgaw
Copy link
Member

@dagood - I think this is focused on WinForms delivery first. I don't think we're considering WPF first.

Are we looking at a CoreSDK ARM64 installer? Should we be part of this sort of effort?

@NikolaMilosavljevic
Copy link
Member

We already produce arm64 ZIPs for runtime. We are also working on native arm64 installers for shared runtime, tracked in dotnet/runtime#1529 - note that these will be native installers and not x86 ones under emulation.

@merriemcgaw
Copy link
Member

Thanks @NikolaMilosavljevic

Would adding the crossgen and zips be a job for the WinForms team (and later WPF when they're ready) or does setup team want to grab that?

@NikolaMilosavljevic
Copy link
Member

@merriemcgaw I am looking into enabling ZIP creation right now.

@merriemcgaw
Copy link
Member

As always, you rock @NikolaMilosavljevic !

@JensNordenbro
Copy link

JensNordenbro commented Apr 30, 2020

Hi @AdamYoblick! Is there a way to download a preview SDK (on x64) to try and build winforms applications for win-arm64 as an outcome for this being closed?

@AdamYoblick
Copy link
Member Author

Hi there, @JensNordenbro ! 😄

This won't be publicly available until a new version (preview, or otherwise) of the .net core sdk is released. I'm not familiar with their release schedule. @dsplaisted , I looked at the roadmap at https://github.com/dotnet/core/blob/master/roadmap.md but that only listed major releases. Is there somewhere else I should be looking for this?

Also, while not technically officially supported, we did a proof of concept for building winforms for arm64. Instructions are at https://github.com/dotnet/winforms/wiki/Building-for-ARM64.

Please let me know if you need any more information.

@JensNordenbro
Copy link

Thanks @AdamYoblick !

I will try it.
Do you know if crossgen is possible on the WinForms-stuff when building using those instructions?

I was a bit surprised that this was not a given on the roadmap for .NET 5 or even working already in Core 3.1 since Surface X is a released product and .NET Framework is not planned to be ported to ARM64 whereas .NET Core already is. I will hold my thumbs for .NET 5 inclusion! That would be awesome!

@AdamYoblick
Copy link
Member Author

If you build with those instructions, you won't need to crossgen. That's the process for building directly for arm64.
The official winforms build doesn't build for arm64. We build for x64 and those bits are crossgen'd to the various archs as part of the windowsdesktop build.

I'm finding out about when these crossgen changes will be available in the sdk. I'll get back to you.

@AdamYoblick
Copy link
Member Author

This change will likely go into preview 5 of the .NET 5 SDK. Unfortunately I don't think we have a public schedule for preview release dates, so I'm not able to say when that will be. 😦

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants