89 comments

[ 4.2 ms ] story [ 149 ms ] thread
More likely: it will not.

My gut says that Microsoft, at an institution level, can not coordinate and build software at scale because they have two opposing requirements:

1. Legacy software must continue to work

2. Rewriting large swathes of the OS is not in scope

MS will continue to add new paint jobs to the UI, more confusing layers for settings, and other "killer features" like ads in your OS, AI, and search that searches everything but your files until the world moves on to some upstart alternative with less baggage.

Im not convinced microsoft is capable of doing anything successfully aside from pissing on their userbases shoes while hiring contractors to do all the heavy lifting. Im skeptical that they have the technical expertise to do anything deeper than making a chaotic UI.
There are different tribes within Microsoft, maybe if the Windows kernel team is still functional they might be able to pull it off (I would be surprised if they hadn't the kernel working on ARM all along, and Windows NT originally was a multi-architecture operating system (according to Wikipedia: initially 32-bit x86, DEC Alpha, MIPS and then later PowerPC, Itanium, ARM(!), and 64-bit x86).

If the same people who are now responsible for the Windows desktop are also responsible for the actual tech stuff, then god help us all though ;)

I vaguely remember a version of Windows 10 getting released for RaspPi a few years ago...
Windows already runs on ARM, it’s just not very popular but Microsoft has ARM variants of some of its Surface devices

Edit: From the article: “Microsoft obviously already does Arm-compatible builds of Windows.”

Microsoft has transitioned from 16bit DOS, to 16bit windows, to hybrid win95, full 32bit to 64bit architectures. All with mostly seamless backwards compatibility, this with billions of active users running literally 1000s of different configurations. I would love to know what you mean by ‘inability to build and coordinate software at scale’
And also made it work on IA64, Alpha, PPC and MIPS.
That was a different, much smaller and more agile Microsoft, with a different leadership and MUCH smaller software base. Of all those you mentioned, the 32bit to 64bit architecture would be the most relevant but even that was almost two decades ago and there was hardware support for existing programs to keep working (and Windows 32bit programs are still released and used to this day).

Keep in mind that the problem isn't having Windows build and run on an Arm chip - they already have that - but having all existing programs keep working as they did on the new chip without any perceived loss of functionality and performance.

And aside from Microsoft, i do not see Intel and AMD to stay still and go "oh well, it was nice while it lasted".

IMO of everything mentioned in the article, the most realistic option is for Microsoft to have the next Xbox use ARM chips instead of x86 as they'll have little existing backwards compatibility concerns (and can always benefit by selling existing games again for a new console :-P).

> Of all those you mentioned, the 32bit to 64bit architecture would be the most relevant

It's worth remembering that Dave Cutler was in charge of that transition. He's widely viewed as one of their best.

Dave also worked on the initial Azure platform in 2008.
Also Windows NT and XBox One.

If Microsoft had a high profile project, until he retired, Dave was the go to guy to lead it.

They already have a good-enough Rosetta-like x64 -> ARM translation layer. You can run any x64 windows program on ARM windows. They can optimize the performance more, but that’s not a whole-company effort, a small dedicated team can make the optimization happen. If Qualcomm or Nvidia start shipping M3-comparable chips I can see it going pretty smooth without large changes at MSFT.
> but having all existing programs keep working as they did on the new chip

Surely not relevant to the vast majority of consumers.

Developers and businesses may have old executables they still use. But those users can buy Intel based PCs.

Isn't that latter category the one Microsoft cares much more about?
But the true backwards compatible think here is x86: afaik up an until uefi took on, x86-64 computers still booted into real mode, so much so that some vendors shipped computers with freedos…

But the music stops when the isa is completely different

They already did that. Most legacy x86, x64 Windows software runs on the ARM version of Windows 11. Most or all of the OS is written for ARM, remember they basically had that done with Windows RT. What has been missing is good performance. The best Windows ARM devices available now are like low end Intel level devices that then lose more performance through compatibility layers. What's needed is both better CPUs/GPUs (+ drivers for games) and 3rd parties to write ARM software. Even Office has an ARM64 version already.
If Microsoft could backport some of the ARM64 work they did for their Azure platform into Windows 12, it should be a wonderful transition.
A) Most of the OS is portable code (go and look at the list of platforms which Windows NT and later have been sold on)

B) Microsoft's x86 emulation on ARM is surprisingly good (based on my personal experience of running Windows 11 on Parallels on an M1 Mac)

> Rewriting large swathes of the OS is not in scope

Is this impossible for AI to do the majority of the work, then let specialists make it work?

As it stands right now, this instant, AI isn't good enough to do that in a sufficiently automated fashion so as to replace entire swaths of OS code, making that infeasible. I say right now this instant because the state of the art (SOTA) is rapidly evolving, and so it's entirely possible that will be possible by the end of 2024, given how fast things have moved in the 13 months since ChatGPT was released.
What a crazy, absurd take. Windows 11 already runs nearly flawlessly on Arm. I'm running Arm windows right now!
(comment deleted)
I bought a Lenovo x13s because I wanted a lightweight laptop for travel when I didn’t need much horsepower.

This thing far exceeds my expectations. I tought it would only be a "light travel" laptop, but I use it almost all the time. I'm using it right now.

It does not feel slow, almost everything just works (the exception is things that have device drivers that aren’t shipped with Windows 11) and I really can get 20 hours of battery. I used to be an Intel fanboy—never even had an AMD machine—-but I don’t think I’ll ever get an Intel laptop again.

For other readers, Lenovo x13s has Snapdragon chip inside. How is the software compatibility?
Everything works except for some oddball ham-radio software that has drivers and--weirdly enough--Acronis True Image. I switched to Uranium backup for image backup.

Windows 11, web browsing, remote desktop work fine, and I even do some coding in Visual Studio C#/C# on it.

I recently picked up a nice spec refurb on eBay with 32GB RAM for <$500. Also, really liking it and have been using it as my primary laptop for a few weeks. Fanless really makes a laptop more usable. Can have it on bed without worrying about clogging up the intake.

I've also used it to play World of Warcraft on the go again with no annoying fan noise. WoW actually has a native arm64 support on Windows, so that works very well.

I have heard bad things about the keyboard, compared to legacy Thinkpads. How is your experience?
I only use Windows because it lets me run x86 binaries. If that's not the case any more why would I use Windows?
What makes you think Windows is dropping support for x86 binaries?
Because instruction set emulation is generally pretty slow.
I haven’t done any objective tests but I frequently run Windows 11 on ARM via Parallels on macOS and - it’s kinda insane (subjectively) how fast it is. Emulated x86 code is pretty fast there as well - I can easily get a solid 60 FPS on some x86 steam games as well.
60 FPS for some steam games, very nice. Now lets see how fast an x86 electron app runs.
I used Discord in Rosetta 2 for a while before there was a proper aarch64 build, it was fine.
Isn't the point of electron to be cross platform? (I get a company may have not released an ARM build or wherever, but seems an odd choice for emulated performance comparison)
Some steam games? What steam games? Cyberpunk 2077? Starfield?
I don’t have a good list of which games I validated in parallels and which I didn’t (since I’ve stopped gaming for the last 6 months or so).

And I do heavily play boomer shooters so it’s likely I was impressed by performance of less demanding games.

Doom Eternal is one AAA game I definitely would want to play in Parallels but can’t because the Vulkan version is not new enough. I’m confident though that Microsoft could bring these APIs up-to-date on an “ARM PC” though, if it has capable 3D hardware.

GTA V (admittedly not a very modern title anymore) is very playable on Apple Silicon systems, you can find plenty of demo footage on youtube.
It's slower than native, but that hardly seems like a reason for Windows to remove their emulation features entirely.
It works really well on macOS though.
> Apple's Arm cores now have significantly higher performance per clock cycle than any traditional x86 PC processor.

I am not an expert but this claim sounds way to high.

the claim probably does not include server processors, if that may make a difference.
Server cores don’t tend to have more perf per clock on a single core. They scale by having multiple cores.

So I’m not sure this matters because the statement in question is per core.

ARM is also a bit of cargo cult. Apple CPUs are efficient and performant, other ARM CPUs not so much. If it's really the ISA or other "secret" Apple sauce, which makes all the difference, is not completely clear.
Also some things to consider is that apple dropped the majority of legacy software support and runs native arm64 code for a majority of apps.

also somewhere I saw that amd64 is better performance per watt than m2 or m3

You have to admit, “secret Apple sauce” does sound rather tasty.
At the time of the M1 launch, Apple's chips preformed more instructions per clock cycle than Intel or AMD chips.

> What really defines Apple’s Firestorm CPU core from other designs in the industry is just the sheer width of the microarchitecture. Featuring an 8-wide decode block, Apple’s Firestorm is by far the current widest commercialized design in the industry.

https://www.anandtech.com/show/16226/apple-silicon-m1-a14-de...

They also ran the clocks slower for power efficiency.

Apple has had success switching micro architectures twice now because

1. they write a performant translator to run old apps on the new chips

2. they move to a faster processor

On the non-apple front, Qualcomm isn’t making faster chips than Intel or AMD; even the best translators are going to be very slow running legacy apps

Apple also had an earlier transition from Motorola 68K to PowerPC.
The current line of Mac OS has its roots in NeXTSTEP which started on a Motorola 68030 with MMU, and then also ran on HP PA-RISC, SPARC and Intel 386. When Apple later transitioned from PowerPC to x86, it was rumoured that they had been maintaining the x86 port all along.
It’s also important to recognize that Apple transitions after their current processors are, intentionally or unintentionally, far behind the state of the art in processor power.

When Apple transitioned to Intel the PowerPC platform was way behind on a performance basis. In this case it wasn’t deliberate. But when it transitioned from Intel to ARM, Apple was again way behind on performance compared to contemporary competitors, making the transition look better than if it was up to date.

If Apple had been at the forefront of Intel CPUs, the transition would have looked like a slight loss in performance for tremendous increases in battery life which most would have been happy with. But they weren’t so it looked like an increase in performance along with an increase in battery life, which made the transition a no brainer for Apple.

And they were able to do this because they tightly couple their OS with the hardware, so they can control the transition without having, say Acer stick macOS on a laptop that makes the M1 not look as great as the previous Apple Intel Mac.

> When Apple transitioned to Intel the PowerPC platform was way behind on a performance basis.

Apple transitioned after it became obvious that consumers were starting to prefer laptops over desktops, and Power PC (as well as Pentium IV) chips had problems with both power draw and heat.

As soon as Intel transitioned to Core, Apple transitioned to Intel.

Apple transitioned to ARM after Intel ran into the same issues with power draw and heat again,

In what way were Apple behind on performance at the end of the Intel era? They were shipping the same chips as everyone else and were getting similar performance and battery benchmarks as other brands (Dell, HP) in that same generation of processor.
Power PC led on floating point performance and Intel led on integer performance.

Since printing and graphics were one of Apple's largest markets, they were better positioned in that market with good floating point performance.

It's also the reason that Apple showed off Mac vs. PC Photoshop performance so frequently in that time period.

> If Apple had been at the forefront of Intel CPUs, the transition would have looked like a slight loss in performance for tremendous increases in battery life which most would have been happy with.

The M1 launched two months after the first Intel Tiger Lake processors, so Apple was pretty much on-time for moving the 13" MacBook Pro off of Intel's Ice Lake, and it wasn't behind on performance: https://nanoreview.net/en/cpu-compare/intel-core-i7-1185g7-v...

The larger MacBook Pro was later moving off Intel and was using a very old (2.5 years) Intel CPU at the time the M1 Pro and M1 Max launched, but even comparing against the CPUs Intel had at the time for machines of that class, the M1 Pro's performance looks fine: https://nanoreview.net/en/cpu-compare/intel-core-i9-11900h-v... And it's important to note that Intel themselves were largely to blame for the fact that the larger MacBook Pro was still using a 2.5 year old CPU: Intel never shipped Ice Lake processors for desktop or high-power mobile, so the Coffee Lake Refresh processors didn't have a successor from Intel until five months before the M1 Pro and M1 Max launched.

It's worth remembering that Apple was testing ARM Macs a decade ago. They waited until they had CPU performance that was good enough to run emulated x86 software to pull the trigger.

I'd add a point three to the above: Apple's own in-house software was ready to go when they launched the new chip.

As with Apple, Qualcomm claims so be faster than x86. This is true on the synthetic single core Geekbench benchmark compared to a 2019 Intel cpu. Today the Qualcomm beats the m3 in Geek-bench and the current amd 7940hs.

But for real applications the 7940Hs, beats the Qualcomm even on Cinnebench Single core and multicore

Which Qualcomm beats M3 in Geekbench?
Snapdragon X Elite does not beat the M3 in single-core. It does beat the M3 in multi-core because of the 12 high performance cores, compared to 4 in the M3. It's more of a M3 Pro competitor.
The problem you'll have with "real applications" is that they're written for amd64 or x86, and Qualcom's translator isn't exactly competitive.

They're going to need Rosetta-like translation performance to beat Intel. Which also begs the question: do modern Qualcoms even come with native 32 bit support? Unlike amd64, aarch64 has no 32 bit compatibility guarantees.

On Linux the situation will be very different. That's why I hope they release these devices for relatively cheap (because most applications and games will be quite slow) so Linux users can get good perf out of them for almost all native tools while Windows userspace catches up.

They don't need native 32 bit ARM Windows support. That's essentially dead and never really took off to begin with, it's a handful of ancient apps in the Windows Store from the Surface RT days. Microsoft has already said they're removing it from the next version of Windows. x86 support will still be kicking around on Windows on ARM64 which is by far the bulk of 32 bit Windows programs.

Microsoft's compatibility layers are pretty competitive. You get about 60% of the performance whereas Rosetta 2 is closer to 70%, which is impressive when you consider MS has no hardware bits to do that unlike Apple.

What has been more of an issue is the slow CPUs themselves. The upcoming Orion chips should perform similarly to M1 on x86 programs.

> Apple has had success switching micro architectures twice now because

3. They also ported the only apps who ran on Macs.

When Adobe, Autodesk, PTC, Cadence and so on, will have their programs ported to ARM, then yes, Windows will run on ARM.

(comment deleted)
I doubt M$ can displace linux at this point for anything but consumption.

To produce value you need to get away from bloat, not embrace it.

Linux has it's problems too, but it's open; so we can fix them.

Microsoft can't be fixed.

What’s the replacement for after effects? All those vsts, or the DAWs they run in.
After Effects and DAWs, yes thank you for proving my point.
That all windows can best linux at is consumption?

There's a lot of production software that maybe runs under wine/proton/etc with a lot of work. How does that prove your point? This stuff doesn't have really viable alternatives, that people who use it as a day job really would consider an alternative.

Then there’s stuff like solid works.

Also, here’s an experiment for you, pull some random 50 something from an Hr or accounting department, sit them in front of a laptop and have them do their job on Linux.

Dassault and HR, yes thanks for proving my point.
Most software is executed through the browser nowadays so most of those 50 something wouldn’t notice any difference.
Not really relevant if they can't figure out why wifi isn't connecting again. Answers like 'you just need to open the terminal and run....' don't work.
Pick a reliable WiFi vendor on Linux and you have less problem on Linux than your average windows machine crap. It's not like Windows has a working [fix WiFi] button.
I haven’t fiddled with wpa_supplicant in years, literally.

It’s not 2006 anymore unless you’re using one of those dumb linux distros. Anything Ubuntu- or Fedora- based will most likely work out of the box.

> Most software is executed through the browser nowadays

For values of "most" between 15% to 25% for an EE.

I'm 61, Hey @Dang -- why do you permit this disgusting ageism to go unchecked on Hacker News?
They wouldn't be PCs if they aren't on x86, just call them computers.
PC is an abbreviation of Personal Computer. The processor is irrelevant.
> PC is an abbreviation of Personal Computer. The processor is irrelevant.

The processor (mostly) is. The architecture, not so.

There were lots of devices called “Portable Computers” before x86 and there’ll be lots after.
Not unless Qualcomm Oryon manages to match Apple M1 performance levels for less than a Ryzen/Intel mobile CPU.
I believe they’re claiming better than M2, I don’t think M3 was out when they claimed that.

We’ll see.

It is a repurposed server chip so it is going to cost insane like their previous attempts - the ARM Thinkpad X13s was priced way too expensive to take a risk of not going Intel/AMD.
> It’s absolutely possible to get x86_64 to the same power/performance envelope as apple’s M series chips :)

And already very close to possibly passing ARM. We will see.

Speaking of dumping x86, what about that Itanium all the kids were talking about? :P
Not a chance. RISC-V exists now.