Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

mr_roboto

macrumors 6502a
Sep 30, 2020
856
1,866
Apple’s approach in system design these days is veering away from the traditional thinking of how PCs boot and manage the system. Even if it was built on UEFI, it would look quite different to what UEFI looks like on WinTel systems and not be very compatible, I’d wager. Because of Apple’s functionality around DFU, RecoveryOS, and the Secure Enclave, they are using the SSD to store what we’d normally consider “firmware”. It looks like Apple can even pair specific “firmware” with a specific version of the OS, rather than the latest being used all the time, which is interesting.

Oddly enough, time being the flat circle it is, I’m reminded that UEFI was a more beefed up pre-boot environment to enable more complex functionality before the OS can boot compared to what came before it. Apple needed it in the Intel transition so it didn’t lose the features that Open Firmware provided. More recently, Apple’s been trying to strip that functionality out of the firmware itself so that the first stage (LLB) can be as simple as possible. Something that makes sense if part of your goal is security, but also going in the opposite direction compared to UEFI.
That last is why UEFI wasn't a realistic option. Apple's new (to Mac) boot architecture on Apple Silicon is designed with security as a primary focus. To this end, firmware provides just the minimum features required to get an OS kernel started. The complicated features Apple used to do in the firmware environment (note: "complicated" includes things like the old option-key boot volume picker!) are now provided by hidden bootable macOS partitions (recovery volumes).

Minimalism is the friend of anyone trying to audit code essential to security, and it doesn't get more essential than the pre-kernel firmware environment. UEFI is the opposite of minimalistic; it has an enormous attack surface as it's a reasonably full featured OS in its own right. Full TCP/IP stack, device drivers, graphics, sound, everything. You can play DOOM in UEFI: https://github.com/Cacodemon345/uefidoom.
 

Love-hate 🍏 relationship

macrumors 68040
Sep 19, 2021
3,057
3,235
There was literally just an article on this on the front page. The only reason boot camp doesn't exist is because Microsoft doesn't make Windows for ARM available to Apple due to some secret exclusivity agreement that they have with Qualcomm which is due to expire soon. There are no technical reasons. Also, bootcamp doesn't support any form of Linux.


In how long could we realistically expect to get windows on arm macs ,as part of boot camp program?
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
In how long could we realistically expect to get windows on arm macs ,as part of boot camp program?

Realistically? Forever. But who knows, maybe in a couple of years something will change and there will be official bootable Windows on Macs. I would not hold my breath.

To put this into perspective, this is like asking "how long could we realistically expect until we can use a BMW drivetrain on a Tesla"?
 

Love-hate 🍏 relationship

macrumors 68040
Sep 19, 2021
3,057
3,235
Realistically? Forever. But who knows, maybe in a couple of years something will change and there will be official bootable Windows on Macs. I would not hold my breath.

To put this into perspective, this is like asking "how long could we realistically expect until we can use a BMW drivetrain on a Tesla"?
I mean according to XDA ,the deal between MS and QC will end soon right ? That means we could very well get windows arm license for non-OEM

I hope your analogy is wrong haha
 
  • Like
Reactions: gank41

januarydrive7

macrumors 6502a
Oct 23, 2020
537
578
I mean according to XDA ,the deal between MS and QC will end soon right ? That means we could very well get windows arm license for non-OEM

I hope your analogy is wrong haha
This would immediately apply for virtualizing Windows on AS macs, not booting them on bare metal.
 
  • Like
Reactions: gank41

leman

macrumors Core
Oct 14, 2008
19,521
19,678
I mean according to XDA ,the deal between MS and QC will end soon right ? That means we could very well get windows arm license for non-OEM

I hope that we can get licensed Windows for use in virtual machines soon.

But native booting (aka Bootcamp) is an entirely different matter. As mentioned earlier in the thread, Intel Macs basically run the same hardware as Windows PCs, so booting Windows on them was straightforward (and the few proprietary Appel components like the security chip could be supported easily via basic drivers). But ARM Macs use custom hardware, custom CPU protocols, custom storage protocols, custom boot sequences, custom GPUs... just booting Windows on such as system would require major changes to the Windows kernel and basic systems. And then there is the question of the GPU complex, expensive to maintain driver stack... no, neither Apple nor Microsoft would be interested in investing this many resources to have natively bootable Windows, when they can invest minimal resources and have Parallels or VMware figure out the rest.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,493
4,053
I mean according to XDA ,the deal between MS and QC will end soon right ? That means we could very well get windows arm license for non-OEM

Probably not. Two major factors. First, Microsoft doesn't necessarily need Apple. Mediatek and Samsung are likely more primary targets for expanding past Qualcomm. Samsung has been one of the vendors using Qualcomm chips to make "always connected PCs" laptops. Would be extremely odd as to why they wouldn't want to swap out Qualcomm for their own SoC if they had the chance. Mediatek
https://www.anandtech.com/show/17070/mediatek-announces-dimensity-9000

By 2023 , if Qualcomm's Nuvia acquistion went well there would be even more competition among those other two. If Qualcomm has a significant lead over those two they won't need a "Lock out" agreement to keep Microsoft interested.

Those three ( Qualcomm , MediaTek , Samsung) are fine with provisioning Microsoft a UEFI boot context upon which to run Windows. "bring up" OS support from the vendor also. Apple is not on either one.

Microsoft could push kernel changes and create a UEFI bootstrap layer on top of Apple "open for unsupported basement hacking" boot context, but why when there are other folks who are willing partners? Spend more money to engage with an indifferent (at best) non-partner.... why?


Second, there is no "non-OEM" market. There is no widespread "motherboard only" parts suppliers that is seriously in the PC space ( hand waving about Raspberry Pi boards isn't an effective equivalent ). There are no "screwdrivers and some trusty thermal paste" builders for ARM. As long Windows on ARM is primarily aimed at laptops then OEM are likely going to be the primary suppiers. ( Microsoft doesn't need a loosey-goosey licenses to sell since the majors buy their licenses on bulk contracts).

If there was a desktop ARM motherboard market then maybe. Apple isn't going to enable that.


Microsoft could stick to a "consumer PC OS" licensing system where virtualization of Windows ARM is only allowed on a system that licensed ARM to the system in the first place. ( *cough* just like Apple ). Windows 10 on ARM primarily would be coupled to laptops that ship with it.



I hope your analogy is wrong haha

In that there is substantive engineering work and development costs to adapt to a vendor who isn't trying to limit the overhead of adaption when there are other contractors available that will partners to get the job done ... It isn't wrong.

Don't get caught up in the "brand names" being tossed around here. The way Apple has set things up on their "Apple Silicon" systems, it is a Rube Goldberg contraption to get non macOS solutions up and running bare metal. That probably isn't going to change. Making Macs more iPhone/iPad app friendly is far more synergistic money for Apple then trying to get Windows to apps to urn. This isn't 2005-6. Mac is jumping into their own Apple 'pond' not Windows' 'pond' .

Apple has done some substantive work to make the basics of virtualization work better while 'punting' on the virtualization infrastructure context to the VM vendors ( who have to use Apple's stock minimal system). That puts the virtual UEFI up out of the boot security layer that Apple has laid down ( If it opens holes in security it is likely just limited to the virtualized environment .) Again Microsoft may end working with folks who done the Rube Goldberg contraption work for them in the long term.... but short term as long as licenses are directly tied to laptops, probably a low priority.
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
I understand that this is really a complex and not really economical “solution,” but how feasible would it be to emulate a uefi layer atop iboot just for the purpose of running ARM windows? I’m not sure of the potential performance issues either, so anyone more intelligent than me (everyone) feel free to explain.
 

Colstan

macrumors 6502
Jul 30, 2020
330
711
While this discussion is interesting from a hypothetical perspective, I think what is missing are hard numbers from the business side of things and whether it makes financial sense for Apple to put resources into Boot Camp for ARM. I've said something like this before, but it is worth repeating.

From an Apple Insider article from last year, according to tracking data directly from sources who service Macs, only 2% of Intel users had Boot Camp installed. That is down from 15% in 2010. So, Boot Camp has become much less relevant over time. Apple Insider did an informal poll among their own readership and found that 35% of respondents had Boot Camp installed. The tech enthusiasts who visit the MacRumors forum do not reflect the general public.

That article was written five months before the M1 Macs began shipments. Boot Camp use among Intel users was already in significant decline, and with the transition to Apple Silicon, it's reduced even further. At this point, x86 Boot Camp installs are a rounding error on a spreadsheet, and I doubt either Apple or Microsoft care about that tiny sliver of people who want to run ARM Windows through Boot Camp on Apple Silicon.

I'm not diminishing the desire to run Windows apps without needing virtualization or a WINE derivative like Crossover. I myself still use Boot Camp on my Intel Mac mini to play an occasional Windows game. However, the switch to Apple Silicon is a hard break. It was a nice bonus with x86 and it gave comfort to switchers, but its time is quickly coming to an end. It's better to look toward to the future than pine for a relic of the past. The Mac has been reinvigorated and doing better than ever; it stands on its own and doesn't need native Windows support to prosper. Plan for the future accordingly.

I realize that in five years, people will still be asking about Boot Camp, eGPU support, and how they can run macOS on x86, but it's worth dispelling these notions whenever possible.
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
While this discussion is interesting from a hypothetical perspective, I think what is missing are hard numbers from the business side of things and whether it makes financial sense for Apple to put resources into Boot Camp for ARM. I've said something like this before, but it is worth repeating.

From an Apple Insider article from last year, according to tracking data directly from sources who service Macs, only 2% of Intel users had Boot Camp installed. That is down from 15% in 2010. So, Boot Camp has become much less relevant over time. Apple Insider did an informal poll among their own readership and found that 35% of respondents had Boot Camp installed. The tech enthusiasts who visit the MacRumors forum do not reflect the general public.

That article was written five months before the M1 Macs began shipments. Boot Camp use among Intel users was already in significant decline, and with the transition to Apple Silicon, it's reduced even further. At this point, x86 Boot Camp installs are a rounding error on a spreadsheet, and I doubt either Apple or Microsoft care about that tiny sliver of people who want to run ARM Windows through Boot Camp on Apple Silicon.

I'm not diminishing the desire to run Windows apps without needing virtualization or a WINE derivative like Crossover. I myself still use Boot Camp on my Intel Mac mini to play an occasional Windows game. However, the switch to Apple Silicon is a hard break. It was a nice bonus with x86 and it gave comfort to switchers, but its time is quickly coming to an end. It's better to look toward to the future than pine for a relic of the past. The Mac has been reinvigorated and doing better than ever; it stands on its own and doesn't need native Windows support to prosper. Plan for the future accordingly.

I realize that in five years, people will still be asking about Boot Camp, eGPU support, and how they can run macOS on x86, but it's worth dispelling these notions whenever possible.
I agree that bootcamp has become less relevant over time, and that at the current juncture there’s little incentive for either side to invest in bootcamp. However, in the future this may change, as Microsoft at least has a passing interest in keeping Windows on ARM alive. And considering Apple is now releasing the undisputed best ARM laptops, it may at some point appeal to MS to have a compatible Windows available.

Now the technical requirements are the only remaining question.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
I understand that this is really a complex and not really economical “solution,” but how feasible would it be to emulate a uefi layer atop iboot just for the purpose of running ARM windows? I’m not sure of the potential performance issues either, so anyone more intelligent than me (everyone) feel free to explain.

It won't do you any good since, again, Windows kernel will not run on Apple hardware. Interrupt handling simply does not work the same way, and there are probably some other details like basic CPU setup and platform registers. And — you will still need the drivers to support the proprietary hardware and I/O.

Of course, you can also emulate all those, but... that's exactly what Parallels does. At this point you are just doing plain old virtualization.
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
It won't do you any good since, again, Windows kernel will not run on Apple hardware. Interrupt handling simply does not work the same way, and there are probably some other details like basic CPU setup and platform registers. And — you will still need the drivers to support the proprietary hardware and I/O.

Of course, you can also emulate all those, but... that's exactly what Parallels does. At this point you are just doing plain old virtualization.
I see, thanks
 

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
And considering Apple is now releasing the undisputed best ARM laptops, it may at some point appeal to MS to have a compatible Windows available.

And honestly, I don't see this as useful to Microsoft. They need a hardware vendor that can compete with Apple. Apple itself can't meet the needs Microsoft has for Windows.

That said, I do hope MS at some point makes stand-alone ARM Windows licenses available. Preferably before my Intel Mac Mini stops being useful for running Windows VMs.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,493
4,053
, as Microsoft at least has a passing interest in keeping Windows on ARM alive. And considering Apple is now releasing the undisputed best ARM laptops, it may at some point appeal to MS to have a compatible Windows available.

Microsoft doesn't need Apple's M-series to keep Windows on ARM alive at all.

Qualcomm's new 8cx Gen 3 uses Samsung "5nm" process and 4 X1 cores plus some updates and gets the following

"...
07:24PM EST - Single threaded perf +40% vs previous generation

07:24PM EST - 85% faster MT perf



07:25PM EST - Matches 22W i5 performance at 9 W

07:26PM EST - Or at 15W offers 25% more perf than i5

07:26PM EST - 60% better perf/watt

07:26PM EST - 8cx Gen 3 GPU - +60% faster Adreno Gen on Gen
..."



It isn't a "M1" beater but it basically putting in on par with the last gen 10 and 11 Intel offering for mainstream laptops. (**) The X1 core wasn't (small) area optimized by ARM; will to trade more performance for "bigger than legacy smartphone budget area" . The X2 even less so. What was lacking was someone just willing to make a bigger die with leading edge ARM stuff. Qualcomm took the first step. When Windows is ready for X2 it won't be hard at all for Qualcomm , Samsung , and MediaTek to all turn out 4 X2 core + 4 efficiency core SoCs in 2023 .

Apple isn't to only path to something with approximate parity with the X86_64 solutions. That is all Windows on ARM needs to survive. Especially in laptops where a 2x battery lifetime advantage will draw some "value add" tie breaker calls with some consumers to that side.

What Windows on ARM really needs is someone who isn't as deeply interested in selling Celluar radio also. For example approximate parity with i5 x86 , better battery life yet cost effective enough for Windows 11 SE model. ("chromebook killers" ). In terms of unit sales, that would probably be a huge help. Higher volume is what Windows on ARM needs to stay alive. Not Apple "table scraps that fall off of Macs. ". Actual double digit million per year volume, 95+% time Windows on ARM native laptops. [ If Windows on ARM just takes 8-10% of Windows market, then it would be much bigger than "part time" Macs . They don't have to 'kill off' x86_64 laptops.. just get some substantive flow. ]

Yes Apple will have a M2 and M3 over time. Again they don't need a "M" killer, just something ARM that is following those on the upward performance curves that are competitive enough against x86_64 to draw some user migration. That's it. If the Nuvia acquistion lives up to the hype then could be a parity race with Apple, but that isn't necessarily required. Have to outcompete Windows x86_64 first and foremost to have a longevity shot. However, as long as ARM keeps putting substantive money into a "bigger Performance" cores there is a path forward for Windows on ARM. ( we'll see who ends up owning ARM long term if Nvidia doesn't get them and if that causes a funding flow problem. But for the next 2-3 years it is probably very healthy. )



[ NOTE: 8cx gen 3 has Microsoft Pluton built-in

https://www.microsoft.com/security/...-chip-designed-for-the-future-of-windows-pcs/

Again points to which SoC vendors are trying to do what Microsoft asks versus those who don't. Microsoft will more likely put effort behind helpful partners... not the ones running off to do a substantially different security model. ]


Now the technical requirements are the only remaining question.

That both Microsoft and Apple are on paths to a embedded security processors with different APIs is a factor. Can Rube Goldberg kludge around the semantic gaps, but neither one is going to be particularly interested in paying for that. Some others may step in and do/fund the grunt work out of their own pockets.


(**) Yes there is (or will be ) Intel Gen12 and AMD Zen 3 APUs coming at the higher end that will still have the performance lead but also still won't come close on power savings. (Windows x86_64 isn't going to implode in the next 2-3 years ) . But again all have to be is completive enough to get some system sales to drive continuing to invest and improve Windows on ARM.
 
Last edited:
  • Like
Reactions: Krevnik

alien3dx

macrumors 68020
Feb 12, 2017
2,193
524
I understand that this is really a complex and not really economical “solution,” but how feasible would it be to emulate a uefi layer atop iboot just for the purpose of running ARM windows? I’m not sure of the potential performance issues either, so anyone more intelligent than me (everyone) feel free to explain.
get a pc lol . much cheaper 5x compare a basic mac. for big commercial company may apply windows 365 ( pricing uhk uhk)
 

dgdosen

macrumors 68030
Dec 13, 2003
2,817
1,463
Seattle
FYI, In a Parallels VM running Arm Windows 11 - the M1 Pro Geekbench scores are ~1550 Single Core/5200 Multi Core. I played with it... Seems 'snappy' enough to me. Not that I'd want to live there.

For anyone interested in knowing - you can run x86_64 apps on the Window Arm VM.
 

Gnattu

macrumors 65816
Sep 18, 2020
1,107
1,671
That having said, there might be some details, which are not sufficiently abstracted - i cannot rule this out. I did go over the asahilinux blog and most issues should be covered by either UEFI (for PCIE, USB, block devices, graphics etc.) or ACPI (interrupts, core and device power management, frequency scaling etc.).
What about memory management, the basic function of an OS kernel? Apple Silicon does not store the access flags as bits inside each page table entries like all other ARMv8 CPUs, instead, they store an index in each page table entry which points to another table, where the actual permission for that page is stored. Does this sound like a significant enough change that require a kernel modification?
 

quarkysg

macrumors 65816
Oct 12, 2019
1,247
841
What about memory management, the basic function of an OS kernel? Apple Silicon does not store the access flags as bits inside each page table entries like all other ARMv8 CPUs, instead, they store an index in each page table entry which points to another table, where the actual permission for that page is stored. Does this sound like a significant enough change that require a kernel modification?
If I'm not wrong, ARM's specification dictates how the MMU should function, so all ARM based OSes should have the same workings as far as low level memory management (at least at the driver level) is concerned.
 
  • Like
Reactions: Gnattu

Gnattu

macrumors 65816
Sep 18, 2020
1,107
1,671
If I'm not wrong, ARM's specification dictates how the MMU should function, so all ARM based OSes should have the same workings as far as low level memory management (at least at the driver level) is concerned.
You are right. I went back to the manual and it actually states that those 4 bits can be used for implementation defined purposes instead of the default behavior.

Screen Shot 2021-12-07 at 14.52.46.png
 
  • Like
Reactions: quarkysg

Gerdi

macrumors 6502
Apr 25, 2020
449
301
What about memory management, the basic function of an OS kernel? Apple Silicon does not store the access flags as bits inside each page table entries like all other ARMv8 CPUs, instead, they store an index in each page table entry which points to another table, where the actual permission for that page is stored. Does this sound like a significant enough change that require a kernel modification?

Unless Apple cores are not compliant to ARMv8-A, this might be a problem. However the fact that Windows runs under virtualization gives confidence, that they are compliant. Note, that the guest OS is always responsible for stage 1 translation at EL0&1 and the VM (hypervisor) adds stage 2 translation at EL2, which is not visible to the guest OS nor does it need to know.
 
Last edited:
  • Like
Reactions: Gnattu

elvisimprsntr

macrumors 65816
Jul 17, 2013
1,052
1,612
Florida
Personally, I moved to hosting Windows VMs on an Intel NAS a long time ago ('17), but then I don't have any intensive applications. Just a single vendor application that insists on using .NET vs more platform agnostic options.

With Wifi 6 (802.11ax) reaching GB speeds, I can use Microsoft's M1 native Remote Desktop application to connect to a Windows VM. I can even connect to a NAS hosted Windows VM remotely via a secure IPSec VPN connection.




Screen Shot 2021-12-20 at 1.37.49 PM.png



Screen Shot 2021-12-20 at 1.27.24 PM.png
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.