Windows on Arm Environments
Arm Laptop and dev boxes
Limited availability
Thinkpads x13 with Snapdragons are expensive.
Volterra is out of stock
Arm does not have any more to loan
Linaro has a couple to spare surface-10 / Volterra•
About 10 projects are being run on Linaro CI machines
Cannot club multiple projects as they are not running VMs / Docker images
Security implications.
Not a predictable environment. Prone to system downs.
Raspberry Pi could be used to run Windows
Faster than qemu-wine
Cross compiling on Linux boxes
•Can use for MSVC projects but not recommended
https://github.com/mstorsjo/msvc-wine
Works well for LLVM, but would still need WoA box to run and test
No GCC support
windows-arm64 VM using QEMU-system on x64
Can bring up a Arm64 VM within Windows x64
Acceptable for browsing an basic usage
Not suitable for compiling and running big projects
Windows Emulation using QEMU-user and WINE on Linux X64
Use QEMU to emulate a ARM64 machine on Linux x64 machine
Wine enables a .exe to run on Linux
$ qemu-aarch64 /path/to/wine-arm64/wine ./program.exe
Docker image with WoA
Waiting on docker to support WoA
(Not a solution, but useful after WoA machine is available)
App Assure, FastTrack, TestBase
Expensive, need to buy licenses for 150 users
ARM instances from AWS, Oracle, Google, Azure
Azure offers Win arm64 instances using Ampere Altra
https://actuated.dev/blog/native-arm64-for-github-actions
You now have to maintain the software packages installed on that machine
If you use KinD or Docker, you’re going to run into conflicts between builds
Out of the box scheduling is poor - by default it only runs one build at a time there
Others can provide a aarch64 linux instance
Windows ARM64 VM using Parallels on AppleSilicon
Microsoft supported and good performance on Parallels
Expensive to buy a Mac and Parallels license
UTM is an alternative, but no MS license yet.
GitHub Actions for ARM64
Coming in 2024. You may register using the link: https://resources.github.com/devops/accelerate-your-cicd-with-arm-and-gpu-runners-in-github-actions/
Better than Azure instances as it is billed per minute as opposed to hourly on Azure.