Windows on ARM is off to a shaky start, but it is the future
After waiting and waiting, the Snapdragon Developer Kit for Windows on ARM that was promised to be released before the end of the summer was finally released on 2021-11-14. It's called the ECS LIVA Mini Box QC710 Desktop, and it can be purchased from the Microsoft store with a zero refunds policy, in your browser or in your Microsoft Store app. We have known the specifications since the original announcement back in May, and based on the specs many people were expecting a low end price, but the actual price ended up being $219 USD before tax. This is a bit more expensive than what some were expecting, but it could be to combat supply chain shortages by discouraging ordinary people from buying it, thus leaving enough supply for developers. This is unfortunate as ideally Microsoft would want to jump start Windows on ARM development by getting these devkits into the hands of as many developers as possible, but at least we have it at all and it is indeed cheaper than other Windows on ARM devices.
As soon as I had both the devkit and free time in my grasp, I set about recording my experience with setting it up. I made a playlist on YouTube where you can watch and skip through the various things I attempt to do. Something odd I discovered was that the devkit has 50 partitions, most of which are OEM partitions of just a few megabytes each. Contrast this to my Lenovo Miix 630 which only has three partitions. All but one of the mysterious OEM partitions was a RAW data partition, and the one that wasn't was a FAT filesystem that simply had a log file for the UEFI BIOS. Speaking of that, the UEFI BIOS is extremely simplistic with only 5 options, one of which dumps you into a command line interface with several dozen commands to choose from. I've decided not to mess with it too much out of fear of bricking it, but at least in theory there are options and ways to do things.
The original announcement of the devkit implied that there would be a lot of native ARM software preinstalled on the devkit, including LLVM. However, the unit I received had only a bare bones basic Windows 10 Home installation, with no customized software that I could find. I had thought the dozens of other partitions might have held it, but if so, it's too-well hidden from me. It seems that instead you will have to track down and download the ARM versions of the software that was supposed to be installed, and install it yourself. Perhaps this is for the best, given the extremely small storage space of 64 GB that has to support 50 partitions and a full Windows install before you can add any of your own stuff.
Another curiousity of mine was display output support. When connected to a 4k60hz display, the highest output resolution seems to be 2560x1440 at just a hair under 60fps as the only framerate option. When connected to a 1080p144hz display, you have to lower the resolution below 1080p to get the highest framerate option of just a hair under 75hz, but there were other framerate options too. I settled with the 1440p setup for most of my testing, so that the YouTube videos could be nice and high resolution. (This of course resulted in them taking several days to fully process correctly.)
I could have discovered in advance from the specifications, but the devkit doesn't support hardware virtualization at all. It started with Windows 10 Home and can be upgraded to Windows 11, but it can't run Hyper-V or WSL2, which means you can't use WSLg to test Linux ARM graphical apps. This was a rather disappointing realization for me. However, since it can run Windows 11, it can be used to test 64-bit x86 app emulation as well as the ARM64EC architecture. It's worth noting that Microsoft officially confirmed that Windows 10 is no longer getting 64-bit x86 emulation support despite it being in insider preview builds, that turned into a Windows 11 exclusive along with WSLg.
Here's a table showing a comparison of what can and can't be tested among the devices I am aware of:
|Ability||Lenovo Miix 630||ECS LIVA QC710||Surface Pro X|
|Run Windows 10||Yes||Yes||Yes|
|Run WSL 1||Yes||Yes||Yes|
|Run 32-bit ARM||Yes||Yes||Yes|
|Run 64-bit ARM||Yes||Yes||Yes|
|Run 32-bit x86||Yes||Yes||Yes|
|Run Windows 11||No||Yes||Yes|
|Run 64-bit x86||No||Yes||Yes|
|Run WSL 2||No||No||Yes|
It's easy to see there are three "tiers" of support here, predicated on Windows 11 processor requirements and whether said processor supports hardware virtualization. At one point Windows 10 on ARM was going to get hardware virtualization support, but that seems to also have been absorbed into Windows 11 instead. Either way, this table should be helpful when considering whether to purchase the developer kit or to seek a more expensive option. Qualcomm lists other Windows on ARM devices that you can research as well, just be sure to check if they are on the Windows 11 list and if they have hardware virtualization support.
One major snag, however, is that the ability to upgrade from Home to Pro seems to be broken on the QC710 at the moment, both on Windows 10 and on Windows 11. When you go to the Activation settings and click the button to buy the upgrade, it launches the Microsoft Store app, and clicking the buy button there asks me to sign in and then after a successful sign in it just displays an error message. I have tried every remedy I could find online, including fully resetting the device with a Windows 11 cloud reset, which wipes and reinstalls everything cleanly from scratch, but it still doesn't work. However, opening that Microsoft Store app link on my Lenovo Miix 630 works just fine, and lets me get to a screen where I could in theory pay to upgrade from Pro to Pro for Workstations. I can get to the Pro for Workstations upgrade screen on the QC710 too but it is broken in the same way as the regular Pro upgrade. Whatever the issue is, it seems specific to the QC710. I submitted feedback about it in the Feedback Hub, so it will hopefully be fixed, but for now it's another disappointment. UPDATE 2022-06-24: I was finally able to upgrade it from Home to Pro! They seem to have fixed whatever issue I was encountering at last.
Despite this shaky start, the future of Windows on ARM looks bright. I've seen news articles that Qualcomm wants to create chips to compete with the Apple M1, which will be a huge leap forward in performance for Windows on ARM. I've also seen news articles that MediaTek wants to make chips for Windows on ARM PCs. Then there are also news articles about a supposed secret exclusivity deal between Microsoft and Qualcomm that meant only Qualcomm chips could be used for Windows on ARM devices, but it's supposedly expiring soon, which could allow for MediaTek and others to license Windows on ARM. We may even be able to buy our own Windows on ARM licenses someday, and perhaps even run it legally on Apple M1 via bootcamp. In theory the Qualcomm exclusivity deal was the only thing stopping Microsoft from letting people throw money at them. It will be nice to be rid of the monopoly, and to see Qualcomm have to actually compete.
On a final amusing note, the Microsoft Store won't let you install the Xbox app on the QC710, but if you download and run the Xbox app installer from xbox.com, you can see that it just forces the Microsoft Store to install it anyway, even updating the download and install progress on the very same screen that claims it cannot be installed. And, it does work too, though you can only install games from the Microsoft Store app and not the Xbox app. Other 64-bit x86 apps can be installed from the Microsoft Store just fine, so it's unclear why just the Xbox app is in this half supported half not supported state. I'm sure with enough interest we'll see more games and gaming apps gain native ARM64 or ARM64EC support, and maybe then the Xbox app will be able to be installed without tricking the Microsoft Store app.