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

UBS28

macrumors 68030
Original poster
Oct 2, 2012
2,893
2,340
It would be great to run Linux and Windows natively (ARM versions) to get around some Mac OS limitations that is still there when you use Parallels. Any idea why Apple doesn't support bootcamp for ARM?
 
It would be great to run Linux and Windows natively (ARM versions) to get around some Mac OS limitations that is still there when you use Parallels. Any idea why Apple doesn't support bootcamp for ARM?

They kind of do. You can boot your own kernel and system, Apple gives you documentation and the tools to do that, go ahead. It's just that there is no OS except macOS that can boot an Apple Silicon machine (with the exception of the the work-in-progress Asahi Linux of course).

The problem is that Apple uses custom proprietary hardware, custom proprietary protocols and all other kind of non-standard stuff. To boot Windows on an M1 machine, Microsoft would need to introduce significant changes to the Windows kernel itself. And then there is a problem of drivers. Who is going to write and maintain all these GPU drivers for Windows? It's not something that either Apple or Microsoft are interested in doing, and even if Microsoft wanted to, good luck asking Apple to give them all the internal hardware documentation they would need.

But there are some folks in the Linux community who are reverse engineering Apple hardware and they already got quite far.
 
To boot Windows on an M1 machine, Microsoft would need to introduce significant changes to the Windows kernel itself.

I do not believe there are kernel modifications required as long as Apple provides a compliant UEFI/ACPI. Of course drivers are an issue.
 
I do not believe there are kernel modifications required as long as Apple provides a compliant UEFI/ACPI. Of course drivers are an issue.
Then maybe we define kernel differently. A driver modification IS a kernel modification to me. For example, they have to change the nvme driver to deal with the quirk of Apple's implementation, and the nvme driver is part of the kernel.
 
Then maybe we define kernel differently. A driver modification IS a kernel modification to me. For example, they have to change the nvme driver to deal with the quirk of Apple's implementation, and the nvme driver is part of the kernel.

That driver must be part of the UEFI implementation, so it is a firmware component, not a kernel component - i did cover this already in my response. Thats how Windows boots from Raspberry PI for example without any kernel modification done by Microsoft.
Of course Windows allows to override the firmware later with a dedicated (kernel mode) driver - which you could qualify as loadable kernel component - but it is strictly not part of the kernel itself. We are not talking Linux here...
 
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.


 
Yeah AFAIK Apple has been quoted that they are just waiting for Microsoft. They said that they have the ability to make it a reality. That's not the exact quote but yeah. It's something like that
 
  • Like
Reactions: gank41
I do not believe there are kernel modifications required as long as Apple provides a compliant UEFI/ACPI. Of course drivers are an issue.
Apple Silicon Macs don't have UEFI or ACPI at all. They have a boot process which is mostly the same as an iPhone or iPad, just with extra features such as permitting downgraded security and boot from external storage. Apple has an overview here:


Asahi Linux is taking advantage of the "Permissive Security" option to provide a non-Apple "kernel" which is really a Linux bootloader.

From following stuff discussed by the Asahi team, it's not just boot firmware which Apple does differently from every other Arm SoC, it's also some of the key low level hardware like the interrupt controller.

There's nothing which makes it impossible to port a non-Apple OS - Asahi Linux has a pretty solid-sounding plan for everything they need to do for Linux - but it would require Microsoft to decide to support an Arm platform which is considerably different from the emerging customs and standards used by the rest of the Arm SoC world.
 
I do not believe there are kernel modifications required as long as Apple provides a compliant UEFI/ACPI. Of course drivers are an issue.

They use proprietary boot process and device discovery. They also use custom hardware interrupt mechanisms. And some other things that require custom kernel code. Hector Martin wrote about this extensively, check out the Asahi Linux blog.
 
Apple Silicon Macs don't have UEFI or ACPI at all. They have a boot process which is mostly the same as an iPhone or iPad, just with extra features such as permitting downgraded security and boot from external storage. Apple has an overview here:

I still don't buy that. If Apple wanted to support Windows via Boot Camp they'd undoubtedly provide whatever boot environment necessary for Windows. It wouldn't be difficult and I believe it's safe to assume they already have it working and are waiting on Microsoft to allow it.
 
I still don't buy that. If Apple wanted to support Windows via Boot Camp they'd undoubtedly provide whatever boot environment necessary for Windows. It wouldn't be difficult and I believe it's safe to assume they already have it working and are waiting on Microsoft to allow it.
Yeah i agree especially since they already said that they have the technology to make it a reality. Apple is only waiting for Microsoft
 
I still don't buy that. If Apple wanted to support Windows via Boot Camp they'd undoubtedly provide whatever boot environment necessary for Windows. It wouldn't be difficult and I believe it's safe to assume they already have it working and are waiting on Microsoft to allow it.
Yeah i agree especially since they already said that they have the technology to make it a reality. Apple is only waiting for Microsoft

So unfortunately this comes from an Ars Technica article that seems to have misunderstood Craig Federighi. In other interviews he talked about the technologies they developed to support Windows and it’s pretty clear he’s talking about virtualization, not bare metal support.

As @leman says, in addition to the boot environment and CPU idiosyncrasies there’s the little matter of the DirectX (and Vulkan) graphics driver stack. Remember they don’t have an AMD GPU anymore, so Apple has to make (and support!) their own or give MS the technical details to do so.

Is all this still possible? Yes. I still think it can happen but it isn’t so simple and there are both business and technical roadblocks that I think it have to be a joint announcement/project.
 
  • Like
Reactions: T'hain Esh Kelch
So unfortunately this comes from an Ars Technica article that seems to have misunderstood Craig Federighi. In other interviews he talked about the technologies they developed to support Windows and it’s pretty clear he’s talking about virtualization, not bare metal support.

As @leman says, in addition to the boot environment and CPU idiosyncrasies there’s the little matter of the DirectX (and Vulkan) graphics driver stack. Remember they don’t have an AMD GPU anymore, so Apple has to make (and support!) their own or give MS the technical details to do so.

Is all this still possible? Yes. I still think it can happen but it isn’t so simple and there are both business and technical roadblocks that I think it have to be a joint announcement/project.
Welp I guess we'll just have to wait and cross our fingers
 
Welp I guess we'll just have to wait and cross our fingers

I am afraid the likelihood of MS and Apple cooperating in bringing native Windows to Apple Silicon Macs is similar to Jeff Bezos showing at your door step and giving you all his $$$.

We have a great option: virtualization. Experiences show that these new Macs can run virtualized software with almost no loss of performance (even GPU-intensive stuff), so it would make more sense to pursue the realistic solution. Which is, keep pressuring Microsoft so that they allow us to buy ARM Windows licenses, keep pressuring Apple so that it makes emulation of DX and VK features easier (so that Parallels and friends can deliver high-quality virtualized DX12 drivers), and keep pressuring both MS and Apple so that MS includes Apple-specific features performance-enhancing in their x86-to-ARM runtime.
 
  • Like
Reactions: white7561
It would be great to run Linux and Windows natively (ARM versions) to get around some Mac OS limitations that is still there when you use Parallels. Any idea why Apple doesn't support bootcamp for ARM?
1. microsoft ain't apple company . microsoft 0 obligation to support apple m1.
2. diff world . The world now refer to x86-64 amd while the high end
proc using itanium and ibm use it own power. Microsoft been the last supported of itanium.
3. microsoft customer a lot , so fall back is their priority .While us mac user also have those rosseta thing.
4. Most apple product not open source , so if normal vendor want to max usage is hard. So can't blaim any of them. ** this apply to repair fiasco.
 
I still don't buy that. If Apple wanted to support Windows via Boot Camp they'd undoubtedly provide whatever boot environment necessary for Windows. It wouldn't be difficult and I believe it's safe to assume they already have it working and are waiting on Microsoft to allow it.
It's not as simple as providing the boot environment and I don't think your belief is true.
 
I still don't buy that. If Apple wanted to support Windows via Boot Camp they'd undoubtedly provide whatever boot environment necessary for Windows.

If Apple wanted to support Windows via Boot Camp they would not have designed custom protocols into their hardware that makes every other OS incompatible with Apple Silicon. Just some food for though.


It wouldn't be difficult and I believe it's safe to assume they already have it working and are waiting on Microsoft to allow it.

It wouldn't be difficult if Apple started designing their hardware with Windows support in mind around 5-6 years ago. What is your belief based upon? Technical info is out there. You are welcome to look at the extent of patches submitted by Asahi Linux community to make Linux work on M1 and decide yourself what is difficult and what is not.

So far, there is zero evidence to believe that Apple did even a minimal amount of work to support native Windows compatibility.
 
Microsoft had exclusivity deal with Qualcomm for Windows ARM, which is ending soon.
We can expect it to arrive soon on Mediatek ARM laptops and potentially ARM Macs too.
 
Microsoft had exclusivity deal with Qualcomm for Windows ARM, which is ending soon.
We can expect it to arrive soon on Mediatek ARM laptops and potentially ARM Macs too.
I think we can expect that Microsoft might offer retail versions of Windows on ARM for virtual environments like Parallels. If they also licensed it for bare metal environments like bootcamp then Apple would have to decide if they wanted to do the work needed to support it (boot loader, drivers etc).

There is no evidence that Apple has done any of this work but they made significant modifications to BootCamp to support the T2 Macs so its not completely out of the question either.
 
They use proprietary boot process and device discovery. They also use custom hardware interrupt mechanisms. And some other things that require custom kernel code. Hector Martin wrote about this extensively, check out the Asahi Linux blog.

And again, we are not talking Linux here. Windows is using UEFI and ACPI and without UEFI and ACPI no Windows boot - it is as simple as that. Linux on the other hand typically do not use UEFI drivers and have to compile these drivers into the kernel.

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.).
 
Last edited:
And again, we are not talking Linux here. Windows is using UEFI and ACPI and without UEFI and ACPI no Windows boot - it is as simple as that. Linux on the other hand typically do not use UEFI drivers and have to compile these drivers into the kernel.

I only mentioned Linux to illustrate how difficult this problem is, as there are folks who managed to boot it on M1 and they had to implement a lot of kernel patches. Situation on Windows would be more complicated. The chance to see bootable Windows on ARM Macs is close to zero at this point.
 
  • Like
Reactions: alien3dx
I am afraid the likelihood of MS and Apple cooperating in bringing native Windows to Apple Silicon Macs is similar to Jeff Bezos showing at your door step and giving you all his $$$.
People don't understand just how different the boot environment is. I kind of wonder why Apple didn't go with UEFI, it's pretty versatile and that's what microsoft went with for WoA tablets.

We have a great option: virtualization. Experiences show that these new Macs can run virtualized software with almost no loss of performance (even GPU-intensive stuff), so it would make more sense to pursue the realistic solution. Which is, keep pressuring Microsoft so that they allow us to buy ARM Windows licenses, keep pressuring Apple so that it makes emulation of DX and VK features easier (so that Parallels and friends can deliver high-quality virtualized DX12 drivers), and keep pressuring both MS and Apple so that MS includes Apple-specific features performance-enhancing in their x86-to-ARM runtime.
That all sounds great, and I'd certainly buy it and maybe a better M1 PC to run it, but it's got to happen first. :( I still need Windows on a PC I use for any period of time.
 
People don't understand just how different the boot environment is. I kind of wonder why Apple didn't go with UEFI, it's pretty versatile and that's what microsoft went with for WoA tablets.

Having one pre-boot environment that works across their devices is a benefit for Apple. Less work. Which is the same reason Microsoft went with UEFI. That said, they are both pretty versatile, but they provide that versatility in very different ways.

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.

But also interesting, M1 machines have more feature-rich startup managers, which is in part enabled by how Apple manages booting with LLB and iBoot.
 
I still don't buy that. If Apple wanted to support Windows via Boot Camp they'd undoubtedly provide whatever boot environment necessary for Windows. It wouldn't be difficult and I believe it's safe to assume they already have it working and are waiting on Microsoft to allow it.
Yes, they've had the Apple Mail dev team working on it for months. :rolleyes:
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.