What Apple did for Macs when switching architectures, though, was to port their own software to the new architecture. Microsoft doesn’t even port fucking Minesweeper to ARM.
I firmly maintain that if Microsoft gave a shit about ARM, they would be defaulting every one of their compilers to produce fat x86/aarch64 binaries. The reality is, however, that they don’t care about the hardware so long as it is good enough.
if Microsoft gave a shit about ARM, they would be defaulting every one of their compilers to produce fat x86/aarch64 binaries
Wasn’t the point of .NET once that native binary code isn’t needed? I’d say if Microsoft gave a shit about ARM, everything would have been ported to .NET.
Emulation is always slower and eats more battery. Microsoft’s laziness is proof they don’t care about that hardware, so may just as well buy an iPad Pro instead.
To add to what the other person said, there are some Windows-only games even today that run better on Linux than on Windows (I don’t have examples off the top of my head.)
Its not laziness, they have lost developers support over time and lets be honest here, Windows 8 arm was roundly laughed out the door. Expectations are now marketing hallucinated by copilot.
This is typical Microsoft “agile”: minimum effort and delivery.
Emulation is almost always slower and eats more battery.
FTFY. There have been some cases where emulation actually outperforms native execution, though these might be, “the exceptions that prove the rule.” For example, in the early days of World of Warcraft, it actually ran better on WINE on Linux than natively on Windows.
this is for the transition. no point in porting your software if nobody has the hardware. This will get people to get the hardware, as they can just keep using the existing software, and wait until it’s properly ported
No, this won’t get people to get hardware that looks horribly slow because everything needs to run through a translation layer. They do have the sources. They could just recompile them for the new hardware. If their sources are not total crap.
I’d expect there’s quite a lot of assembly and endianness-dependent stuff here and there. It’s Microsoft. Their culture is about pride of things being arcane-complex inside, cause if you can untangle that, you are a good programmer. They think that. I think they think that. Maybe they are just vile.
Windows NT historically ran on lots of CPU architectures, PowerPC, MIPS, Alpha, Itanium, etc, and that included the bundled software like 3D Pinball. I would have expected it to still be quite portable.
You may be spot on with that. Though the assembly part can be fixed by code translation at compile time. Endianess and shitty programming habits are another thing that the cross-executor must deal with, too, so maybe this has been covered already. Or it will blow up in their faces, anyway.
Sure, but the vast majority of Mac software at the time, including loads of first applications from Apple, couldn’t run on Tiger. You had to run it in the “Classic” environment - and they never ported that to Intel.
Tiger shipped just 4 years after the MacOS 9.2 and plenty of people hadn’t switched to MacOS X yet.
The reality is Apple only brings things forward when they can do it easily.
Apple has done eight major CPU transitions in the last 40 years (mix of architecture and bit length changes) and a single team worked on every single transition. Also, Apple co-founded the ARM processor before they did the first transition. It’s safe to assume the team that did all those transitions was also well aware of and involved in ARM for as long as the architecture has existed.
Nobody will buy the hardware if they can’t commit to supporting the software. In a previous role, I was responsible for advising purchasing decisions for my company’s laptop fleet. The Surface X (Arm edition) looked cool, but we weren’t willing to take the risk, because at the time Microsoft had far worse transitional support than they do now. It’s gotten better, but no one in their right mind is going to make the kind of volume purchases that actually drive adoption until they demonstrate they are in it for the long haul. It’s a chicken and egg problem, and Microsoft doesn’t care what hardware you are using, so long as it is running Windows or using (expensive) Windows services.
Another thing they did is add hardware support for the x86 strong memory model to their ARM chips, allowing for efficient emulation. Without this, translated code takes a big performance hit.
Did Qualcomm add something similar to their ARM CPUs ?
What Apple did for Macs when switching architectures, though, was to port their own software to the new architecture. Microsoft doesn’t even port fucking Minesweeper to ARM.
Isn’t that the point? This new layer is supposed to make it easier to port everything, and they’re saying that’s what Rosetta did for Apple/Mac.
No, the point of Rosetta was to be a stop-gap for 3rd party software because Apple did all porting in-house software long ago.
Prism is Microsoft’s tool for staying lazy. Microsoft ships ARM-based Surface tablets since 12 years!!!
In all architecture transitions (PPC->Intel then Intel->ARM), Apple Chess has always been a native port from day one.
I firmly maintain that if Microsoft gave a shit about ARM, they would be defaulting every one of their compilers to produce fat x86/aarch64 binaries. The reality is, however, that they don’t care about the hardware so long as it is good enough.
Wasn’t the point of .NET once that native binary code isn’t needed? I’d say if Microsoft gave a shit about ARM, everything would have been ported to .NET.
Translation layers aren’t porting
Fair enough, but to the end user it doesn’t matter if it works.
Emulation is always slower and eats more battery. Microsoft’s laziness is proof they don’t care about that hardware, so may just as well buy an iPad Pro instead.
This is a pretty interesting counter example: https://www.eteknix.com/running-yuzu-on-switch-gives-you-better-performance-than-native-gaming/
But, as others have said, exceptions confirm the rule.
To add to what the other person said, there are some Windows-only games even today that run better on Linux than on Windows (I don’t have examples off the top of my head.)
Wine is not CPU emulation.
Its not laziness, they have lost developers support over time and lets be honest here, Windows 8 arm was roundly laughed out the door. Expectations are now marketing hallucinated by copilot.
This is typical Microsoft “agile”: minimum effort and delivery.
Not porting simple stuff like Minesweeper is definitely laziness on Microsoft’s part.
FTFY. There have been some cases where emulation actually outperforms native execution, though these might be, “the exceptions that prove the rule.” For example, in the early days of World of Warcraft, it actually ran better on WINE on Linux than natively on Windows.
WINE literally stands for “WINE Is Not an Emulator”.
They’ve still got things that haven’t changed since about Windows 3.1, like that ODBC dialog window.
this is for the transition. no point in porting your software if nobody has the hardware. This will get people to get the hardware, as they can just keep using the existing software, and wait until it’s properly ported
No, this won’t get people to get hardware that looks horribly slow because everything needs to run through a translation layer. They do have the sources. They could just recompile them for the new hardware. If their sources are not total crap.
I’d expect there’s quite a lot of assembly and endianness-dependent stuff here and there. It’s Microsoft. Their culture is about pride of things being arcane-complex inside, cause if you can untangle that, you are a good programmer. They think that. I think they think that. Maybe they are just vile.
Windows NT historically ran on lots of CPU architectures, PowerPC, MIPS, Alpha, Itanium, etc, and that included the bundled software like 3D Pinball. I would have expected it to still be quite portable.
You may be spot on with that. Though the assembly part can be fixed by code translation at compile time. Endianess and shitty programming habits are another thing that the cross-executor must deal with, too, so maybe this has been covered already. Or it will blow up in their faces, anyway.
Microsoft really never do that port if they have a translation layer
Apple released a native x86 version of Tiger with their first Intel Macs.
Sure, but the vast majority of Mac software at the time, including loads of first applications from Apple, couldn’t run on Tiger. You had to run it in the “Classic” environment - and they never ported that to Intel.
Tiger shipped just 4 years after the MacOS 9.2 and plenty of people hadn’t switched to MacOS X yet.
The reality is Apple only brings things forward when they can do it easily.
Apple has done eight major CPU transitions in the last 40 years (mix of architecture and bit length changes) and a single team worked on every single transition. Also, Apple co-founded the ARM processor before they did the first transition. It’s safe to assume the team that did all those transitions was also well aware of and involved in ARM for as long as the architecture has existed.
Nobody will buy the hardware if they can’t commit to supporting the software. In a previous role, I was responsible for advising purchasing decisions for my company’s laptop fleet. The Surface X (Arm edition) looked cool, but we weren’t willing to take the risk, because at the time Microsoft had far worse transitional support than they do now. It’s gotten better, but no one in their right mind is going to make the kind of volume purchases that actually drive adoption until they demonstrate they are in it for the long haul. It’s a chicken and egg problem, and Microsoft doesn’t care what hardware you are using, so long as it is running Windows or using (expensive) Windows services.
What better way to sell devices than by halfassing them to oblivion?
Another thing they did is add hardware support for the x86 strong memory model to their ARM chips, allowing for efficient emulation. Without this, translated code takes a big performance hit.
Did Qualcomm add something similar to their ARM CPUs ?