Copilot+ PC Review: Windows on ARM is finally here

+

Copilot+ PC Desktop

Back in 2017, I wrote a blog post predicting intense competition between Intel x86-based and ARM-based PCs. And finally, after many years of lukewarm development efforts on the part of Microsoft and Qualcomm, that competition is here with Windows 11 Copilot+ PCs running powerful ARM-based Qualcomm Snapdragon X Elite CPUs with built in graphics and AI acceleration.

As shown in the desktop screenshot at the top of this post I’ve been using a Copilot+ PC as a productivity and development workstation this month, and I must say that I’m thoroughly impressed overall. In this blog post, I’ll outline why.

They are insanely fast

The most distinctive feature of Copilot+ PCs is that they are unbelievably fast for a Windows system. Apps open instantaneously, and operations such as large file copies take half of the time or less compared to the most powerful Intel-based PCs. Even the Search box immediately finds files buried anywhere on the system and sorts them by relevance.

The 12 Oryon CPU cores in the Snapdragon X Elite seem to take anything I can throw at them. Running Teams, Outlook (in Edge), two Linux virtual machines, Visual Studio Code, GitHub Desktop, Podman Desktop, and Slack simultaneously uses under 10% of the CPU most of the time on my system, and Geekbench 6 gets single- and multi-core scores that put it on par with recent generation high-end Intel CPUs like the Core i9.

Task Manager

Geekbench 6 score

The AI features are mostly good

Copilot is quite good at generating useful results with references and links, and the integration into Windows feel natural. It returns results almost immediately, and noticeably faster than within a web browser. The first time you click the Copilot button, it asks you for your name and what voice style you prefer for the Copilot assistant.

Live Captions is also a useful feature that I didn’t expect I would use as much as I do. It does a fairly accurate job of captioning anything you’re watching in a grey bar at the top of your desktop and understands even the heaviest of accents. The first time you use it, it will download a large number of language files.

While the image and video editing enhancements are excellent, the AI image generation in Paint is hilariously bad. It seems to be stuck in the early days of image generation (e.g., 6 fingers on a hand, dogs with different sized legs), but it’s better than nothing and probably OK for very simple images. It runs off of a locally-installed AI model.

Recall and Click to Do are available in preview to Windows Insiders right now. Recall generates a detailed and accurate timeline of nearly any file and app activity but isn’t a feature that those of us who organize everything on our PC may find useful. Click to Do, on the other hand, is quite useful. It provides quick actions for anything on your screen – even if it’s part of a picture.

Native Windows ARM apps are common

Microsoft has made all of their key productivity apps available for ARM-based Copilot+ PCs, including the ones I rely on: Edge, Visual Studio Code, Teams, and Office 365. Similarly, most other major productivity app vendors already have native Windows ARM versions on their website or the Microsoft Store. This is also true for nearly all development apps, frameworks, SDKs, and tools, such as Podman Desktop (which I use for packaging and testing microservice-based cloud apps):

Podman Desktop Windows ARM

This means that major app vendors and developers are taking the platform seriously, which isn’t that unsurprising after Apple’s move to ARM on their PCs in 2020. There are also many websites that list apps that are available natively for Windows ARM – one example is https://armrepo.ver.lt/.

The only apps you definitely won’t find native support for on Copilot+ PCs are large games. This is because the hardcore gaming ecosystem has been developed for and still revolves around Intel x86 alongside discrete GPUs from Nvidia and AMD.

Intel x86 app compatibility is excellent

If an app hasn’t been made available for Windows ARM, you can install the Intel x86 version of it on your Copilot+ PC and the Snapdragon X Elite will translate the instructions to run on the system alongside any necessary component emulation in Windows.

My biggest worry was that there would be many Intel x86 apps that wouldn’t run using this emulation and translation. Surprisingly, however, this wasn’t a problem at all for me. Every Intel x86 app I installed had zero issues and actually ran faster than on my Intel-based PC. Even the most obscure apps I thought would have issues worked flawlessly and faster. This included Wi-Fi Analyzer, TightVNC Server, and even Cisco Packet Tracer:

Cisco Packet Tracer

Easy boot and recovery options

While ARM-based systems often have radically different boot processes compared to traditional systems, Copilot+ PCs use the same UEFI boot process as Intel-based PCs. When the Qualcomm logo appears at startup, you can press the Home button to enter a Boot Device Selection (BDS) menu that allows you to configure secure boot, UEFI entries, memory protection (RPMB), or boot from a USB thumb drive to reinstall Windows (or Linux). Qualcomm provides a Windows 11 thumb drive image you can use for this purpose.

Snapdragon logo

BDS Menu

Unlike Intel-based PCs, Copilot+ PCs create a dozen partitions at the beginning of the storage device for use by the Snapdragon X Elite bootstrapping process, but the remaining three partitions are the same as what you’d expect on an Intel-based PC. For example, in the diskpart utility shown below, Partition 13 is the UEFI System Partition (containing the Windows boot loader), Partition 14 is the Windows Recovery Partition, and Partition 15 is the Primary Boot Partition that contains the C:\ volume that appears in Windows File Explorer.

Disk partitions

Hyper-V is limited, but WSL works well

If you need to run virtual machines on Windows, you’ll likely be using the built-in Hyper-V feature. And if your Copilot+ PC shipped with Windows 11 Home edition as mine did, you’ll need to add that feature using the Deployment Image Servicing and Management (dism) command by creating and running a batch file as described here. Generation 2 only

While Hyper-V itself runs fine and fast once installed, virtual machines must be Generation 2. Generation 1 isn’t even selectable as an option, as shown here. This means that you can’t run older or 32-bit operating systems within virtual machines or emulate legacy hardware devices.

Unlike running Intel x86 apps, Hyper-V won’t translate Intel instructions. Thus, installation ISOs must be for the ARM architecture only. That means you can’t install Windows Server in a virtual machine as Microsoft doesn’t provide an ARM version of it. However, Windows 11 for ARM works fine, as does Linux provided you reduce the number of virtual processor cores to one (it won’t boot otherwise). Since most software is multi-threaded, this results in occasional slower performance during the installation and afterwards. Nested Virtualization Moreover, if you enable the nested virtualization feature for a virtual machine and then attempt to start it, you’ll get an error stating that the platform doesn’t support it, as shown here. As a result, you can’t run virtual machines within other virtual machines on this platform.

Microsoft and Qualcomm likely didn’t prioritize full Hyper-V virtual machine functionality for Copilot+ PCs because they are designed for end users and developers. But Hyper-V is also used to provide additional security functionality for Windows 11, such as Hyper-V enforced code integrity and secure launch – and those features are fully supported and enabled in the Security Center.

Fortunately, the Windows Subsystem for Linux (WSL) installed perfectly and was lightning fast. Moreover, all of the WSL Linux distributions on the Microsoft Store are available in ARM versions.

This means that developers who need to run Linux, Linux containers, or Kubernetes can easily do so since most developer tools leverage WSL for this purpose, including the Podman Desktop suite I use. This also means that IT administrators can leverage WSL to configure their on-premises and cloud servers easily using a local Linux distribution via tools like SSH and Ansible. So, if you need to run Linux on a Copilot+ PC, I recommend using WSL instead of Hyper-V. Alternatively, you can install Linux natively on your Copilot+ PC when it becomes available – which should be very soon considering that Qualcomm provides offical support for doing so.

Summary

Make no mistake, this is not a version 1.0 product in any way. Microsoft and Qualcomm got it right, and Windows on ARM is a truly polished experience all around. While the AI features are nice, the biggest benefit Copilot+ PCs provide in my opinion is stellar performance. It still blows my mind how fast apps are on this platform. So, unless you are a gamer, or need to run a lot of Hyper-V virtual machines, ARM-based Copilot+ PCs are the way to go today. And while it’s been 7 years since my original prediction, it’s refreshing to finally see Windows run so beautifully on ARM.