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

How about supporting ARM64. #2053

Closed
pcfulife2 opened this issue Oct 9, 2019 · 13 comments
Closed

How about supporting ARM64. #2053

pcfulife2 opened this issue Oct 9, 2019 · 13 comments
Labels
arch-arm64 tracking-external-issue An issue is caused by an external system and won't be fixed in this repo
Milestone

Comments

@pcfulife2
Copy link

Windows 10 supports ARM64 processors. And, Windows 10 on ARM64 can run x86 applications. But, performance is significantly low because of emulation. And, it cannot run native AMD64 applications. So, some developers recompile their applications for better performance.

Win32 API supports ARM processors. (I saw native ARM64 applications which is not an UWP app) But, WinForms does not support ARM64 but only x86/AMD64. If WinForms supports ARM64, many WinForms applications will be able to run efficiently with ARM processors.

@merriemcgaw merriemcgaw added the ❔ question General question, not a problem in source code or documentation (yet) label Oct 9, 2019
@merriemcgaw merriemcgaw added this to the Future milestone Oct 9, 2019
@OliaG
Copy link
Member

OliaG commented Oct 10, 2019

Cc @richlander

@richlander
Copy link
Member

We are currently looking into this, for .NET Core (including WPF and Windows Forms). I am hopeful that we will add Windows ARM64 for .NET Core in 2020 but we have not finished planning and feasibility on that yet.

It would be awesome to see more requests on ARM64. If you have specific scenarios that you want to share, that would certainly help make this request a reality.

@kpreisser
Copy link
Contributor

kpreisser commented Oct 16, 2019

I think with the recent announcement of the ARM-based Surface Pro X, support for producing ARM64 binaries becomes more important, so that WinForms/WPF apps can run at native speed on such devices and can use the full 64-bit address space. Especially start-up performance is much better when running an ARM64 app than a x86 app.

Note that it seems basic WinForms functionality does already work when publishing an app for runtime win-arm64 (using manually built System.Windows.Forms.dll from master branch or from PR #1133):
grafik

Even the WebBrowser control (IE) seems to work (whereas I first thought IE would not be available natively as ARM64).

@richlander
Copy link
Member

That's awesome! We have had Windows ARM64 builds of .NET Core for a couple/few years, but they were never productized. It isn't surprising that Windows Forms works. WPF will not as we need to do a significant project to make it work.

But yes, once again proving that .NET is quite a flexible platform!

@moolwalk
Copy link

moolwalk commented Jan 23, 2020

I'm developing an application for Windows PE(Preinstallation Environment) for ARM64 PCs. The application code-base is WinForms on .net framework. MSFT Windows On ARM team says that they decided that .netfx won't be ported to WinPE ARM64, so I'm looking at adopting .net core for that application. Non-UI parts are easy to port to .net core 3.0 but UI codes can't be ported because there's no WinForm libraries in the SDK. I'm hoping that manually adopt the WinForm library for ARM64 but there's no prebuilt one.
Could I get a WinForm lib for ARM64 or get a simplest steps to build WinForm for ARM64? I have no experience of building WinForm at all so it's no easy fit.

@AdamYoblick
Copy link
Member

AdamYoblick commented Feb 21, 2020

Hi everyone!

I've completed a proof of concept for building winforms for arm64. This isn't "officially supported" yet, but it seems to work building on both my x64 machine (with the x64 .net core sdk), as well as building on the arm64 machine (with the x86 .net core sdk).

For more information, please see https://github.com/dotnet/winforms/wiki/Building-for-ARM64. If you run into any issues, please reply in this issue and I can try to assist if I can.

We will wait to close out this issue until arm64 is official supported and released. 😄

Thanks!

@RussKie RussKie added arch-arm64 and removed ❔ question General question, not a problem in source code or documentation (yet) labels Feb 21, 2020
@hmartinez82
Copy link

hmartinez82 commented Feb 25, 2020

@AdamYoblick I'm trying to convince the manager/pm that we should use .Net Core instead of .Net Framework for a project we're about to start from scratch. We don't have to support ARM64 right now, but it will appear in the roadmap pretty soon.

Is it safe to say that WPF for .Net Core on ARM64 will be released in .NET 5 ?

Thank you.

@weltkante
Copy link
Contributor

Is it safe to say that WPF for .Net Core on ARM64 will be released in .NET 5 ?

You are asking in the WinForms repository ;-)

@RussKie
Copy link
Member

RussKie commented Feb 25, 2020

There is a current expectation that .NET5 will be fully working on ARM64.

@hmartinez82
Copy link

@weltkante you're right 😅. I'll ask in the wpf repo

@JensNordenbro
Copy link

JensNordenbro commented Apr 29, 2020

  1. ARM64 support for Winforms (and WPF) would help make Surface Pro X great (again)!
  2. ARM64 support would make ARM64-based Windows 10 a first class citizen for many applications developed for a very long timespan
  3. Long term Windows could find its way into lower-end HW-platform with this support (and more)

@RussKie
Copy link
Member

RussKie commented Apr 30, 2020

FWIW it is being worked on - dotnet/windowsdesktop#757

@RussKie

This comment has been minimized.

@RussKie RussKie modified the milestones: Future, 5.0 Aug 11, 2020
@RussKie RussKie added the tracking-external-issue An issue is caused by an external system and won't be fixed in this repo label Aug 11, 2020
@RussKie RussKie closed this as completed Aug 11, 2020
@RussKie RussKie modified the milestones: 5.0, 5.0 GA Aug 11, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Feb 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 tracking-external-issue An issue is caused by an external system and won't be fixed in this repo
Projects
None yet
Development

No branches or pull requests