The first iteration of Windows ARM didn't have any x86 emulation layer, so that one was doomed from the start. The second iteration did, but it initially couldn't run 64bit apps and the performance was poor. They do have 64bit support now and it sounds like the emulation performance has come a long way.
Here is my question though, comparing how this works on Mac.
Will Windows have the opposite? ARM running on x86?
I continue to wonder how Microsoft expects to work long term. Are they expecting that every developer is just going to keep x86 and ARM based app perpetually or users be stuck always using that emulation layer if they are running ARM?
Microsoft won't be able to 100% transition to ARM like Mac did. At some point all Intel Mac's will be old enough to no longer get the latest version of Mac and for developers to stop targeting and they drop Intel support.
I just don't see many developers bothering with an ARM native Windows version when doing so means they have to support both or risk annoying customers later.
> I just don't see many developers bothering with an ARM native Windows version when doing so means they have to support both or risk annoying customers later.
The market dictates what developers do. If Windows on ARM is the new shiny and it hits the three key laptop parameters of no fan noise, long battery life, cool case, then people will buy it and developers will build for it.
I think the official line from Microsoft would be that most software should be using .NET anyway, and in that case the same binary should Just Work on either architecture. In reality there is still a lot of native software though, so who knows how that will play out. Games in particular will always be native.
You have to understand that Windows comes from a separate division than .NET and they have no overlap. Microsoft isn't a cohesive company. .NET comes from the developer division (DevDiv) and UWP comes from the Windows division (now Server & Cloud). The Windows folks always hated .NET and the developer division has been lukewarm about UWP.
It's actually kinda annoying once I started paying attention, as many software vendors just detect "Windows" and give you a x86/x64 installer, even when the company offers a ARM64 build that would presumably be faster or be more energy efficient. I installed a bunch of stuff that were Intel binaries without even knowing that I wasn't running native. But I haven't noticed any performance issues, and yeah everything just works.
In 2018 that lockdown situation morphed into "S Mode" which you can turn off in the control panel. The only trick is that you can't turn it back on. It's just that the ecosystem isn't there, both in terms of developers and performant devices.
Hopefully today's announcement is a turning point for that but atm windows on ARM is about on the same tier as a pre-carplay infotainment system.
I think the idea is to all apps and developers gradually transition and develop with ARM support - after all even the mobile devices will be running on ARM sooner or later so future apps, games will be developed with ARM in mind anyway. x86 apps will be supported - with some paid support for example.
But it all depends on the market share of ARM at one point. But you can run DOS apps still so with emulation layer - and the increasing performance of ARM - one way or another old apps will be able to run on ARM. For those who will need to those.
Unlike Mac, Microsoft just can't drop past generations and call it a day.
> But it all depends on the market share of ARM at one point.
Right thats kinda my point, unless I have missed it I have yet to see any real talk about ARM on custom built machines and I doubt gamers are going to give that up anytime soon.
Apple was able to force the transition to happen. I highly doubt Microsoft is going to risk actually dropping x86 from Windows on any reasonable timescale and there has to be something for ARM to x86.
Unlike when Apple announced that all of Mac was transitioning, there isn't a reason for a developer to think that anytime soon they can drop x86, so why complicate what they have now by adding ARM?
> Right thats kinda my point, unless I have missed it I have yet to see any real talk about ARM on custom built machines and I doubt gamers are going to give that up anytime soon.
A lot of gaming these days is running on mobile phones and portable PCs - and now laptops - will highly likely leverage ARM sooner or later. Add to that some eGPU with Nvidia cards and you get a monster.
Intel is in a deep trouble.
>Unlike when Apple announced that all of Mac was transitioning, there isn't a reason for a developer to think that anytime soon they can drop x86, so why complicate what they have now by adding ARM?
ARM is the future as there is a desire to have long battery life and performance increase. Microsoft right now does have x86 emulation layer and app support right now is much better already than it was before (in RT era where it did not even have the emulator).
Devs are developing apps across all the devices and ARM based Mac is already requires you to develop ARM compatible apps.
>I have yet to see any real talk about ARM on custom built machines and I doubt gamers are going to give that up anytime soon.
The vast majority of gamers game on smartphones and tablets with ARM processors.
Some of the biggest gaming hits recently have also been cross-architecture and cross-platform, namely Genshin Impact and Honkai: Star Rail. Native ARM and x86 releases, runs on Windows, Android, and iOS. There are also gaming hits like Fate/Grand Order that don't have an x86/Windows release at all due to not even considering desktops/laptops.
> The vast majority of gamers game on smartphones and tablets with ARM processors.
Those are clearly not the gamers I am talking about. The gamers I am referring too are not switching to playing on mobile phones. If they are switching to handheld devices they are going with x86 devices like the Steam Deck.
There is a massive market out there of games that do not support those platforms. That are only just now scratching the surface with games like Death Stranding releasing on iPhone and Mac.
Except for Nintendo the 2 main AAA consoles are x86 based, and I have seen no rumors of that changing.
So great, there are large mobile games but lets not pretend that there is not a huge market that the future is not already here for and shows very little signs of actually changing anytime soon.
https://steamcharts.com/ that is what I am talking about. Which unless I am mistaken the only one of those in the top list that actually runs on mobile is PUBG.
> There are also gaming hits like Fate/Grand Order that don't have an x86/Windows release at all due to not even considering desktops/laptops.
That is nothing new, Pokemon GO came out in 2016. That isnt a sign that gaming is changing but that gaming is expanding to include new types of players. But the "hardcore" AAA gaming market still very much exists, and is firmly on x86 right now.
Porting a game from x86 Windows to ARM Windows may take some effort, but for most games, nowhere near as much as porting to a different operating system. There just isn’t that much assembly code or even SIMD intrinsic use in your average game. And thanks to Microsoft’s Arm64EC ABI, the conversion from x86 to ARM can be done piecemeal. If, say, the game depends on some proprietary third-party library that isn’t willing to offer an ARM version, that library can be run in emulation while the rest of the game is compiled natively for ARM.
The AAA game world is very conservative, so I can’t guarantee that PC game developers will port their codebases to ARM. It really depends on the size of the audience and how well the x86 emulator works as a substitute. Even if ARM takes over on Windows laptops, I’m not sure laptops are enough, when laptop users are already accustomed to not being able to run AAA games well.
But if the audience gets large enough, it’s hard to believe that developers won’t try recompiling. It’s just not the same level of effort as a port to Mac or Linux.
> The AAA game world is very conservative, so I can’t guarantee that PC game developers will port their codebases to ARM.
Unreal, Unity, CryEngine and Godot all support ARM, so - testing and third-party binary libraries aside - there shouldn't be any reason to not have an ARM port.
> Which unless I am mistaken the only one of those in the top list that actually runs on mobile is PUBG.
Even in that case it's "kind of but not really". PUBG Mobile is a distinct game from regular PUBG, they have similar core gameplay but they are developed independently of each other.
Fortnite is the outlier there, being the exact same game across every platform. COD Mobile and Apex Mobile are/were also officially sanctioned clones of the original game, similar to PUBG Mobile.
>Those are clearly not the gamers I am talking about.
You specified gamers, you should have explicitly specified PC gamers if they are who you referred to.
Note that PC gamers are, as much as they deny it, a minority of out of all gamers as a whole. The vast majority of gamers play on mobile or consoles, and of those mobile far outnumbers consoles too.
Consoles can also switch processor architectures with the changing forces of the wind, they don't have to support backwards compatibility unlike x86 and Windows. If Windows ends up becoming more ARM dominant than x86, consoles will likely follow suit to make subsequent Windows ports (and then also mobile ports?) easier.
Going on a tangent, I find it very annoying that PC gamers despite being the minority somehow want to claim gamers aren't gamers. PC Master Race is a meme, not reality.
>Which unless I am mistaken the only one of those in the top list that actually runs on mobile is PUBG.
Stardew Valley at #10 also has mobile ports.[1][2]
>But the "hardcore" AAA gaming market still very much exists, and is firmly on x86 right now.
The games I cited are AAA games, FSVO AAA; they are developed and/or published by big, established studios and/or publishers. Frankly, I find the AAA moniker worthless these days, but I digress.
That didn't sound correct to me, and I found an article [0] that says the numbers are pretty similar.
I play some games on PC+PS5 and some on mobile, so I'd probably count as both a mobile and "legacy" gamer, but if I had to choose one gaming market to immediately disappear from the face of the earth, it would be mobile gaming for me, absolutely.
The graph is misleading because they group PC and consoles together against mobile. That implies mobile would slaughter both of those segments individually.
It's also missing some very important markets like Japan and South Korea, presumably included in "48 markets multi-market average" but not explicitly shown individually. Makes one wonder, eh? :V