Skip to content

My Thoughts on Windows on ARM - Is It a Revolution Or A Repeat Of The Same Mistakes Of The Past (Copilot+)

K

Microsoft has been no stranger to releasing builds of windows for the ARM architecture, and each of these previous attempts has been nothing short of a disaster. Previous builds of Windows for ARM had limitations that made it impossible to do anything aside from web browsing and lightweight productivity tasks. Third-party software support was close to nonexistent as developers would need to port their software to run on ARM chips, which was impossible to expect with the low market adoption rate of Windows on ARM. Microsoft wants to break from tradition and finally release a build of Windows on ARM that people will actually want to use. After spending a bit over a week with the Samsung Galaxy Book Edge, I can say that this time is definitely different... in an exciting way. 

I am no stranger to using devices with ARM-based processors, I do often use Raspberry Pi's for various tasks and I also do a lot with ARM-based ChromeOS devices, so using Windows on ARM should not be a huge stretch since most of the tools I use are generally well-supported on ARM processors. 

The Hardware Changes

Previous attempts to bring Windows on ARM to market relied on low-cost, low-powered hardware that was subpar to even mid-grade smartphones of the era.  The Snapdragon X Elite is a powerful processor, especially pared with the 16 GB of RAM that all modern Windows on ARM machines are being released with. The amount of Internal Storage has also seen major improvements, with devices starting at 256 GB of eMMC 5.0 storage with base units. This is a stark contrast to the previous Windows on ARM Flagships, the Microsoft Surface RT (Nvidia Tegra 3 / 2GB RAM / eMMC)  or the Nokia Lumia 2520 (MSM8974 Snapdragon 800 / 2 GB RAM / 32 GB eMMC). 

One of the worst parts of the previous generations of Windows on ARM devices that limited the productivity was the lackluster displays, with most being 10.1 inch 720p or 1080p displays. It was also very difficult, if not impossible, to connect some devices to an external HDMI display.  

Port Selection

The port selection on many of these early devices was also very limited, often only being a charging port, MicroSD card slot and a single USB 3.0 port. Some of these devices downgraded the USB 3.0 port to a Micro USB 2.0 port with OTG support, requiring a special adapter to connect USB devices and eliminating the ability to charge the devices while using a USB accessory. 

Modern Windows on ARM Hardware

For my testing over the past week, I am using the Samsung Galaxy Book Edge, specifically the smaller 13.3 inch version which is configured with the Snapdragon X Elite X1E80100 @ 3.42 GHz), 16 GB of RAM and 512 GB of Storage.  The Samsung Galaxy Book Edge also includes 2 full-featured USB-C Ports, an HDMI Port and a Headphone/Microphone Combo.  The screen resolution is 2880x1800. Sadly, there are no expandable storage options. It is nearly impossible to find something I don't like about the hardware. This blog post is not intended to be a review of the Samsung Galaxy Book Edge, but it is fair that I disclose the hardware I used to experience Windows on ARM. I also chose this hardware as it is on-par with my primary Windows Device (The Samsung Galaxy Book 4 Pro). 

The Software Changes

Microsoft's previous attempts to push Windows on ARM to the general market used Windows 8 RT, a mess of an operating system and possibly one major reason that Windows on ARM failed. The operating system was loosely based on Windows 8, which was not well-received on traditional x86/x64 based machines, where people often downgraded to Windows 7 or installed third-party software to improve things - an option that was not available for Windows 8 RT.  Microsoft did work on improving things with Windows 8.1/8.1 RT, where they re-introduced a desktop mode and fixed the stability issues. 

With Windows RT 8/8.1, Microsoft decided to push people away from the legacy desktop applications that they were often accustomed to, in favor of "UWP" (Universal Windows Platform) applications released on the Microsoft Application Store. There was no simple way for developers to simply port their existing applications to the UWP platform, so a re-write was needed, which was often unlikely due to the low adoption rate of Windows RT. There were also numerous developers that wished to distribute their applications via their own websites instead of allowing Microsoft to act as a gatekeeper or skim a commission off any application sales.  

If you are someone who wishes to play games on your Windows RT device... good luck with that. You would be limited to a small subset of mobile games that you can also find on Android and iOS. You would often be better off playing these games on your phone, as the performance would likely be significantly better and you would have access to a larger collection of games. 

Windows RT was so bad that a thriving community of device owners was formed to put efforts into jailbreaking their Windows RT devices, and even included efforts to port Linux and Android to these devices. This community rapidly grew when manufacturers of Windows RT devices decided to pull the plug and started selling devices at a steep discount in a fire sale. It was not uncommon to be able to get a Windows RT device for under $100 at the time, so a number of people picked up devices to modify. 

When Windows 10 was released, it was very well received and finally convinced users of x86/x64 devices to upgrade, often skipping Windows 8/8.1 in the process. Unfortunately, there was no upgrade path for many users of Windows on ARM devices to upgrade due to the increased storage requirements of Windows 10... and forget about Windows 11. 

Modern Windows on ARM devices ship with Windows 11 and it is simply fantastic. Unlike previous builds of Windows RT, Microsoft has finally introduced feature parody between the x86/x64 and ARM devices instead of limiting ARM-based processors to a small subset of features, ironically modern Windows on ARM devices actually includes more features than the version of Windows for x86/x64 - specifically with on-device AI.

The most significant change between Windows RT and Windows 11 is that Microsoft decided to change their stance on legacy x86/x64 software. Microsoft created a translation layer that removes the need for application developers to make any changes to their code to allow it to work on Windows on ARM, most applications just work out-of-the box - it's a hefty claim to make, and I can confirm that it appears to be true. There are definitely some performance benefits for developers to creating an arm-specific version of their applications, but this now requires a simple re-compile of their application instead of re-building it from scratch. Microsoft has also thankfully moved away from the UWP framework and the "Modern/Metro UI". 

There are a few third-party applications that have problems, specifically Google Drive for Windows. I am confident that Google and other third-party developers are working to resolve these issues. Fortunately, most of the third-party software I have installed on my device worked without any issue, even when only having an x86/x64 version.  

Windows Subsystem for Linux (WSL)

If you are a user of the Windows Subsystem For Linux, then you will probably be delighted to know that it works exactly as well as it does on an x86/x64 based machine. The only thing that users need to be considerate of is that WSL does not benefit from the Windows x86/x64 translation layer. This is often not a problem as an overwhelming majority of ARM processors run a Linux based operating system, so developers often release ARM builds of their applications. If you are installing applications via apt or another package manager, it will automatically install the version of the software that matches your device architecture. You really only have to be careful when installing from a tarball or downloading the application installer from a developers' website. 

Aside from a single custom application I wrote years ago, I have had absolutely no issues with shifting my workload from an x86/x64 WSL instance to an ARM-based WSL instance. The one application I had issues with was due to some laziness on my end that I intended to fix anyway so it would work on my ARM-based machines. The code changes only took about 15 minutes to do and worked flawlessly on both my ARM and x86/x64 based machines. 

If you are a software developer who uses node or python, your code and modules should run without issue, but you would need to ensure that the third-party dependencies of your code were written to support ARM, most are, but there may be a few packages that only work with x86/x64 based machines. The number of packages that only support x86/x64 packages is rapidly shrinking, partially attributed to modern ARM-based ChromeOS and MacOS devices. 

On Device AI

One feature that is currently exclusive to ARM-based machines is the ability to use some of Microsoft's On-Device AI features. The Snapdragon X Elite features a built-in NPU (Neural Processing Unit) that allows offline/on-device AI features to be used without the need for a high-end GPU or the need to offload tasks to a cloud service. This is a huge win for those who wish to leverage AI tools with sensitive or private data. As of this writing, most of the AI tools are gimmicks, but I do hope to see this change. 

I want to resist the urges to add fuel to the fire when it comes to criticizing the Microsoft Recall Tool that was ... recalled. It was a huge selling point for modern ARM-based machines, but Microsoft removed before shipping any ARM-based laptops to customers after developers found some serious security problems with the tool, mostly that the data/screenshots were stored in an unencrypted format that allowed for other applications to easily access sensitive information. It was also discovered that it was possible for Recall to index information such as credit card numbers and passwords. I do honestly hope that Microsoft does resolve the issues with Recall because I, personally, would love to use this tool to help with my short-term memory lapses. 

My Thoughts

There is a common misconception in the technology space where experts refer to ARM-based devices as "low power" devices; however, this is just outdated and inaccurate. It is true that ARM-based devices are more power-efficient than x86/x64 based devices, it is a mistake to assume they are unable to handle the workloads a person would expect from a primary computing device. Most people would consider me a "power-user" and I can confidently say that my Windows on ARM device can keep up with my demanding workload. It is almost impossible for me to spot any differences in performance or features from my Windows x64 and Windows ARM-based devices, everything I have thrown at it just worked. I am confident that most users would struggle to spot any differences, and you could probably swap out an x86/x64 based machine for an ARM-based machine and most people would never notice.

As of this writing, the biggest problem I see that will hold ARM-based devices back from mass market adoption is the cost. Modern ARM-based machines hover at around $1000 on average, it is possible to get a competent x86/x64 based machine for $329. I know the Snapdragon Elite X is a premium processor designed for premium devices, there needs to be a budget option that does not make many sacrifices when it comes to performance. In the Chromebook World, there are plenty of x86/x64/arm-based machines available at similar price points for both premium and budget machines.

I am honestly excited to see the future of Windows on ARM and cannot wait to see the push towards on-device AI instead of further relying on third-party services which could potentially leak sensitive information or lock people into an expensive subscription service.