-
Notifications
You must be signed in to change notification settings - Fork 909
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
packaging functions - Support ARM architectures #1803
Comments
I believe you would still need the Win32 emulation for choco.exe to run, but at least this would allow you to have the ARM type software installed through this method so not everything is through emulation. |
Yes, full .NET is only x86 on ARM64 devices, so any .NET applications will have to run emulated (though .NET Core supports native ARM64). Fortunately between CHPE, emulator JIT caching, and NGen, their perf isn't too bad. |
@ferventcoder from a package maintainers perspective, how should ARM then be specified in packages? Just normally through something like |
@AdmiringWorm That's what this issue is about - discussion on that. I think we'll want to create installer urls and other things for both ARM architectures. |
Any chance of addressing this? Recently my colleague switched to Windows ARM on parallels with his latest MacBook Pro and our choco installation script installed x64 which turned out to be incompatible with ARM64 processor, most notably Or perhaps, the maintainer could provide bullet points of what would need to be changed for people unfamiliar with choco inner works? |
This is currently marked as backlog, so it is planned to be addressed at some point.
I'm not on the Chocolatey team, so I can't give an official go ahead, but here are some pointers if you wanted to work on this:
|
Other than using my colleague's MacBook I gain access to ARM machine on Windows through: az vm create -n $VmName -g $Group --image MicrosoftWindowsDesktop:windows11preview-arm64:win11-22h2-pro:latest --size Standard_D8pds_v5 --public-ip-sku Standard --admin-username $UserName --priority Spot It costs very little, especially if you don't forget to turn it off.
This is awesome
The only fast and reliable way I found of doing it is through: $isArm = $null -ne $(wmic os get osarchitecture | findstr /c:"ARM" 2> nul)
Write-Debug "Test-IsArm: returning $isArm"
return $isArm
One thing to consider here is that 32-bit Arm support is being removed from Windows 11 |
You can also get the native architecture via the IsWow64Process2 call in the Win32 API. GetNativeSystemInfo won't work since it will lie to you on Arm64. |
Chocolatey package itself... https://www.7-zip.org/a/7z2301-arm64.exe Orangepi 5/ 5 plus or the like soon launching 32 gig boards on Amazon etc, and visual studio should run on native arm64.. of late |
If you're on an ARM-based Mac, you can use UTM. The performance is excellent (boots in ~15 sec). I've found it a great way to test my projects on Windows. |
SO many new ARM Windows machines have been announced for delivery in June, 2024. It's time for Windows vendors to start providing arm64 for everything... |
Any progress on this? I purchased Chocolatey to support it and didn't realize this was an issue. My main device at the moment is a windows 11 arm device. I have been kind of bouncing between chocolatey, winget, and scoop. Then I pin stuff in chocolatey so that it doesn't try to update it. |
There are no updates on this. This isn't something we are currently working on or have any short-term plans to do so. |
With all the new arm64 computers coming out this summer, it's going to rise in priority I'd think. Lots of buzz around that. I'm looking forward to trying out one. Docker Desktop is now supporting ARM64 on Windows. WSL2 has been there for years. I think Chocolatey and NSIS will be the only things in the way of DDEV support for Windows ARM64. I don't have much hope for NSIS. |
This is really unfortunate. As a package maintainer, occasional community contributor who literally only has an arm64 machine in which to use, support and maintain windows software/chocolatey packages on Windows 11 arm64 (a Mac as host), it's quite frustrating not having a path forward here. As a user having to manually install and upgrade basic software outside chocolatey that is not well suited for emulation (Java runtimes, NodeJS etc) feels like a step backwards. |
Packages currently select 32bit or 64bit as two architectures. We need to add ARM architectures as first class citizens to what can be passed as part of the package functions.
Follow on and related to #1800.
The text was updated successfully, but these errors were encountered: