If PC is so great, why is there no PC 2?

Posted by Unspector Blog on Monday, May 9, 2022

ARM-powered MacBooks and the Steamdeck are the harbingers of the unthinkable: PC 2

The multipurpose personal computer today is relatively unchanged from the IBM PCs of the 80s, right down to its software and guts. Sure: every part of the PC has been improved and reworked multiple times, but kids born today may not be able to recognize a cell phone from the 80s without explicitly being told just from looking at current smartphones, it is reasonable to expect that they could identify an IBM PC as a PC from looking at current ones.

And the similarities aren’t only skin deep: you can expect to install software on modern Windows-PCs from the late 90s without virtualization or emulation and get them to run relatively often. While Microsoft is trying since Windows 8 to force developers using their “new” WinRT runtime, a lot of software still uses the “old” Win32 runtime (both statemets are strongly simplified).
Additionally nearly all current PCs are powered by either Intel or AMD CPUs, which aren’t too different from each other as x86 64bit CPUs.
Nearly every high-powered computer has been built that way at the end of the 2010s: Obviously Windows desktops and laptops, but also MacBooks, iMacs and MacPros and even PlayStations and Xboxes have been x86-based machines, only differentiated by software.

This 30 to 40 years of legacy baggage puts current PCs in a delicate postion compared to current tablets and smartphones: modern smartphones tend to run efficiently with comparably long battery lifes and barely noticeably heat radiation. So little heat radiation in fact, that nearly no smartphone uses dedicated cooling fans and dissipates heat passively. Modern laptops tend to run rather hot - even during menial tasks - and don’t battery life is less than a day.

For a long time the argument for laptops has been their superior performance to smartphones and tablets, which justifies their heat development and short battery life. But this argument is becoming more and more mute, as each generation of mobile devices becomes more powerful - without sacrificing either performance nor battery life. Especially tablets like the current generation of iPad Pros have the horsepower to completely obliterate a lot of laptops, without breaking a sweat, but software compatibility and a restrictive ecosystem are holding them back.

Arguably this changed with the release of MacBooks powered by the M1 processor: suddenly performance and battery life weren’t mutually exclusive in a laptop form factor and smaller versions even omitted the cooling fans, since heat dissipation is much lower than in traditional laptops. The M1 processor left the traditional x86 CPUs of PCs and laptops behind and utilizes ARM CPUs like smartphones and tablets. Therefore legacy software support is not as good as with x86-based Windows laptops.
Apple is no stranger to switching CPU architectures and leaving some legacy software behind: on one hand macOS tends to wipe the slate clean every few years with new version breaking compatibiliy with old apps, on the other hand Macs moved from PowerPC to Intel-based x86 PCs during the 2000s.
ARM powered MacBooks can outperform Windows laptops both in performance and battery life at the same time - without being more expensive than other premium manufacturer’s offerings, which puts Microsoft and its partners in a bad position.
Still, Windows can leverage one important feature: backwards compatibility. Apple provides some compatiblity with software originally compiled for x86 with their Rosetta 2 execution layer. Though - if Apple’s last architecture switch is an indicator - the time of support for this backwards compatibility is numbered and at the same time legacy applications running through this layer tend to take some performance hit.

But Apple gains another advantage by using ARM CPUs: more control over their ecosystem and platform. Where so called “Hackintoshes” (PCs not build by Apple, but still modified to run its software) have become rather infamous in the past few years, this scene will be effectively dead in a few years, when Apple stops supporting x86-based Macs and requires their proprietary hardware to run macOS. Additionally M1 powered Macs are able to use iOS-apps due to their shared architecture. Applications on iOS tend to be bought through the AppStore and only the most dedicated users will try and circumvent the security features in place to block applications from other sources. At the same time macOS is much more open and comparable to Windows and Linux: There exists the official AppStore by Apple for macOS, but applications can be installed from other sources as well. Especially legacy software is often only available directly from the vendor and not from Apple, which means only the vendor earns revenue from this software.
With Apple’s push to ARM it will be much easier to lock down the ecosystem in the same ways as iOS already does - something Microsoft can currently only dream of with Windows.

Microsoft already started making Windows 11 more exclusive than Windows 10, by recquiring so called tamper proof modules. These TPM-chips are at the core of many security features like anti-virus and anti-cheat software, because the integrity of the operation system as well as the hardware can be cryptographically verified. If Microsoft would want to lock down the Windows ecosystem in a way comparable to iOS, the requirements for a TPM would be quite understandable.
Microsoft’s advantage in providing broad support for software from sources other than the Windows store, becomes it’s disadvantage in this effort, but there may be an opportune moment coming up to block these sources or make it considerably harder to “sideload” applications: Windows for ARM, when old .exes simply stop working - or only work through a compatiblity layer, like Rosetta, which can be left behind after a few years.

There has been a push by Microsoft to try this in the past, when it announced, only UWP-apps using the WinRT runtime would be allowed to work in upcoming versions of Windows, and not the classic .exe using the Win32 runtime discussed before. This idea has been stopped dead in its tracks due to complains by famous providers of alternative app stores for Windws, most notably Valve and Epic, both of which don’t deliver source code, but precompiled .exes to their users. Neither Steam nor Epic Game Store may be considered app stores in the sense of Apple’s AppStore and Google’s PlayStore, but there really is no discerning difference: Steam and EGS deliver software and set up the environment for them to run in - even if this compiled software tends to be primarly games and nearly no productivity software.

Valve is not only developing the Steam store, but also contributes heavily to the Proton compatibility layer, which makes pre-compiled Windows software executable on Linux-based operating systems. And Valve didn’t stop there, but continued to launch the Steamdeck handheld, which is entirely Linux-based, but runs Windows .exes through Proton surprisingly well. One part contributing to this achievement seems to be the x86-based hardware by AMD, which could make software originally compiled for x86 (though for Windows not Linux) that much easier to run; though it may not be impossible to utilize this layer to make .exes compiled for the Win32 instead of the WinRT runtime executable on Linux for ARM in the future.

If you squint really hard you can see a future drawn in broad strokes here: The IBM PC era seems to be coming to an end. Both the x86-archticture and the builtin broad backwards compatiblity with legacy software may end with it. And as video game consoles tend to leave behind old games, when a new generation is released, so may PC 2 leave behind a lot of older software not fit for the more closed and more tightly integrated future of Windows-based productivity machines rivalling ARM-powered MacBooks.
But the story doesn’t seem to be that obvious for video games and maybe the end of “PC” and the beginning of “PC 2”, will also include the beginning of the “legacy PC”, based on Linux, but running Windows .exes just as well. Otherwise Steam, EGS and other providers of legacy software for Windows would be stranded on an old platform using old hardware.