Mythbusters: Windows IoT Enterprise LTSC for Arm
Investigating and clarifying some of the common myths surrounding Microsoft Windows IoT Enterprise LTSC for Arm.
Myths, rumors, and assumptions… versus acts
While doing some research for my recent high level overview article on Microsoft Windows IoT Enterprise LTSC for Arm, I came across a nice infographic PDF built by the fantastic team at Advantech, called Windows on Arm, Myth Busters. This graphical depiction of Myths versus Facts in the Windows on Arm ecosystem is an excellent overview, and contains even more items than I originally wrote about in my previous piece. So although some of these talking points were covered in my first article, there’s a lot of great information and explanations that the team at Advantech put together, making it worthwhile to spend some time and dive in closer to examine the PDF in more detail here.
Before we get started though, let’s once again recognize and give credit to Advantech for putting together such a great publication... I highly recommend filling out the form to download it!
Operating system myths
The first six myths that Advantech cover in their booklet are related to the physical properties of a Microsoft Windows installation. Keep in mind though that we’re talking about Microsoft Windows IoT Enterprise LTSC for Arm, which is a different OS than the regular Windows Home or Professional that you are probably already familiar with. Windows Home or Pro is what is generally installed on a desktop or laptop, and that version of Windows can also run on Arm-based processors that are found in a range of laptops from the usual vendors such Dell, HP, Lenovo, and more.
But in the case of Windows IoT Enterprise LTSC for Arm, the first six myths identified by Advantech are:
1. Windows is a large OS, so Windows on Arm also consumes significant power and resources, potentially resulting in poor performance.
2. The image size of Windows on Arm is either greater than or equal to that of Windows on x86.
3. Desktop mode is not available on Windows on Arm.
4. Windows on Arm is a stripped-down version of Windows.
5. Arm is based on the Reduced Instruction Set Computer (RISC) architecture and may face limitations when dealing with complex and multiple tasks.
6. Windows devices often consume power, so switching to the Arm platform offers no significant improvement.
Looking at the first one on the list, Windows can be a large installation if strictly speaking about the number of gigabytes of space required when turning on most or all of the available features, but sheer quantity of gigabytes consumed is not a direct translation to requiring significant power and resources. Instead, consumption of power and resources is dependent upon the processor and GPU wattage at idle and under load, and resource consumption is impacted by the number of applications and services installed and running and loaded in memory. Focusing on power consumption, Arm processors are, generally speaking, more energy-efficient than x86 counterparts when comparing similar speed, core-count, and performance.
The second myth, again related to installation size, can quickly be checked by a look at the Windows system requirements as documented by Microsoft here. Microsoft does not make a distinction between x86 and Arm requirements, and lists the optional minimum space required as 16gb of storage. Advantech states that an installation of Windows IoT Enterprise LTSC only uses about 6GB of space, which means 8GB of storage is even possible, though that would leave very little for applications and workloads, which is likely why Microsoft is claiming 16GB is the minimum. The default installation, with no customization or removal of any features, applications, or packages, resulted in a 10.4GB install size on a freshly provisioned NXP i.MX8MP EVK:
Next, Desktop mode is indeed available in Windows IoT Enterprise LTSC for Arm, again just like a “normal” Windows Home or Pro. There was a version in the past called Windows IoT Core that could be installed with no desktop, but that product was merged into Windows IoT Enterprise LTSC and is no longer available.
The fourth item in this section, is the assumption that Windows on Arm is a stripped-down version of Windows. “Stripped down” is hard to define, but the core functionality and ability to run applications and OS features are all included; the items to be aware of that might cause incompatibility are no emulation for hardware driver support and lack of Hyper-V virtualization, for users who run VM workloads on their IoT devices. Hardware drivers can be recompiled for Arm64 using the Microsoft Windows Driver Kit, however.
Next to last, Advantech makes mention of Arm-based processors as a member of the Reduced Instruction Set Computer (RISC) architecture family, and the worry that there could be issues dealing with complex compute and multi-tasking. This is not the case however, as Microsoft Windows IoT Enterprise LTSC requires an application processor, not a microcontroller. Any Arm-based processor capable of running Windows contains Cortex-A cores, includes a memory management unit, IO management, and other features that make multi-tasking and a general-purpose operating system possible.
Finally in the operating system section, there is a myth that all Windows devices consume a lot of power, and moving to Arm will not offer an improvement. Power consumption is primarily driven by hardware selections, again with the power draw and TDP of the CPU or SoC, peripherals, display size and brightness, or adding a discreet GPU such as in gaming laptops, edge AI devices, or highly visual workloads such as display walls and casino games, having the greatest impact. As mentioned, Arm-based processors are typically more power-efficient than x86 counterparts, and Windows has advanced power profiles, sleep modes, and other methods to extend battery life or minimize power usage.
Applications and workload myths
Moving into the next series of myths, Advantech focuses on providing facts about the types of applications that can run on Windows IoT Enterprise LTSC for Arm. There are three myths presented in the section, and they are very important to understand, so let’s list them out then explore them in detail like we did for the myths above:
7. Windows on Arm exclusively supports the execution of Arm64 applications.
8. Multimedia applications may perform poorly on Windows on Arm devices.
9. Windows Copilot can be extended to all versions of Windows running on Arm.
The first one in this section is aimed at the compiled application intending to be loaded and run by the user. Developers might assume that x86 apps need to be run on x86 hardware, and Arm-native apps are required when running on Arm hardware. However, Windows IoT Enterprise LTSC for Arm contains a built-in emulation system, allowing x86 applications to load and run as if they were on their native platform. This dramatically lowers the barrier to migrating or moving to an Arm-based platform, by eliminating the need to re-compile every application intended for the device. Of course, there are also lots of standard office, productivity, and other apps already providing native Arm versions as well.
Next, Advantech dispels the myth that multimedia applications perform poorly on Arm hardware. Performance on audio and video tasks is a direct result of hardware acceleration and rendering, versus software rendering, so this myth is directly addressed by having the right drivers available on a system. Vendors such as NXP and Qualcomm that produce SoCs capable of running Windows IoT Enterprise LTSC for Arm provide BSPs containing these drivers, so that devices perform comparable to what would be experienced on an x86 platform. Accelerated video, graphics, and other multimedia applications are available and functional on Windows IoT Enterprise LTSC for Arm.
Finally, Windows Copilot does need a bit of clarification, as AI-enabled devices and services become more commonplace (even on IoT devices). There are three Copilot products to be aware of: Copilot, Copilot Pro, and Copilot+. The first two, Copilot and Copilot Pro, are cloud-delivered services. Copilot uses OpenAI’s GPT-4 and DALL-E for generating text and images from a user prompt. Copilot Pro adds GPT-4 Turbo, and integration with Microsoft 365 online apps. But in both scenarios, a prompt is transmitted to the cloud, and the AI generation occurs on cloud servers, then the result is delivered to the user. Being browser-based, both of those will work fine with Windows IoT Enterprise LTSC for Arm. The final version, Copilot+, makes use of on-device inferencing for local AI processing. This requires a CPU or SoC with an NPU of 45 TOPS or more, but none of the current supported processors in either the NXP or Qualcomm families have this. The Snapdragon X Elite does meet the threshold for 45 TOPS and can run Copilot+, but that is a regular Windows Home or Pro product, not Windows IoT Enterprise LTSC.
Licensing and development myths
The last two sections are shorter, but critically important when evaluating Windows IoT Enterprise LTSC for Arm. In the final pages, Advantech tackles the important monetary question related to licensing, and how developers can plan for and build applications to run on Windows IoT Enterprise LTSC for Arm (which ultimately also translates into dollars, as speed and ease of development translate to organizational expenses. These myths are listed by Advantech as:
10. The Windows license fee for x86 is expensive, and the license fee for Windows on Arm may also be similarly high.
11. Windows on Arm has limited support for certain Windows frameworks.
12. Development and debugging on Windows for Arm architecture presents specific challenges, often necessitating developers to undergo an extended transition period and learning curves for adapting their app development processes from the familiar x86 architecture.
Keeping in mind that Windows IoT Enterprise LTSC for Arm is targeting enterprises who are building and deploying devices at scale into production environments, licensing and support costs are a major factor to be considered by teams designing products and solutions. Tech enthusiasts might be familiar with the retail price of Microsoft Windows Home and Pro, which are typically in the $100 to $200 range depending on the retailer. However, Windows IoT Enterprise LTSC starts out in the $20 to $30 range typically, and the ”LTSC” is important to make note of. It stands for “Long Term Support Commitment”, which means it comes with 10 years of security updates for protection against vulnerabilities, exploits, and other critical security events as they are discovered and patched by Microsoft. When we again consider that Windows IoT Enterprise LTSC is aimed at fleets of devices in the field, this is a massive benefit and piece of mind for a product team.
Moving into the final two myths, Advantech addresses concerns about development of applications intended to run on the platform. If a development team is already skilled at building Windows applications for x86 hardware, it is easy to transition to Windows on Arm as normal C and C++ code will run fine, as well as .NET applications and WinUI. Additionally, the Universal Windows Platform (UWP) provides a framework for building apps that run across a variety of hardware. Development occurs in common tools like Visual Studio, and there are native GitHub runners available for compiling on Arm, with final application testing easily available on-device on a Windows IoT Enterprise LTSC for Arm developer platform or even a simple Windows on Arm laptop.
Mythbusting Windows on Arm
Now that these 12 common myths about Windows IoT Enterprise LTSC for Arm, and their corresponding truths are better understood, product teams, developers, and businesses can make more informed decisions when launching new long-lifecycle hardware and software systems. Once again, thanks to Advantech for taking the time to put together the original document that inspired this analysis, and if you have any questions be sure to reach out to the experts at Avnet to get started on your project journey.