That would instantly make the MacBook one of the most popular Windows machines. It would decimate the Surface line of Microsoft products, especially the Surface Pro X.
It wouldn't decimate the Surface line of products. The Surface line is predominantly x86-64 Windows PCs. It wouldn't even decimate the Surface Pro X. If anything, it'd help Microsoft popularize Windows 10 for ARM64 such that developers either made fat binaries or released ARM64 versions of software alongside x86/x64 versions.
Does this mean that the M1 MacBooks could conceivably dual-boot ARM Linux, given the right device drivers?
You'd need the right device drivers and the right bootloader to interface with the Apple Silicon firmware. It wouldn't be too dissimilar to how it was running PowerPC versions of Linux on PowerPC Macs. The only element that would make things difficult is that Apple's SoC isn't your average ARM64 SoC. It's highly customized to Apple's exact specifications. An ARM Linux would have to be able to address that properly in order to boot and run well. No small feat. I think, at least as far as Linux is concerned, VMs and Docker will be the way Apple has you run Linux on Apple Silicon Macs.
I have a fe Windows-only games. I'm curious to see how they'd run.
Likely poorly. Microsoft's translation from 32-bit x86 to ARM64 isn't the fastest. Unless they went about it in a substantially faster fashion with 64-bit x86 apps, it likely won't be much better. It's certainly no Rosetta 2. You'd likely have a better time trying to get your Windows only games to run via CrossOver and translated via Rosetta 2.
Doubtful they'd run on the M1 Macs. Those games would be x64/x86 binary, complied to run on Intel processors. If you had an x86 emulator, it would probably run pretty slow.
Again, CrossOver is the way here. Otherwise, yeah, unless Microsoft beefs up its translation technology the way Apple has, it will be pretty slow.
Both Apple and Microsoft need to work together to bring Windows to market that can boot on the M1 machines.
The M1 based macs are not booting the same way as a run of the mill PC clone anymore, in fact they need boot code that's signed by Apple.
Even when skipping over the need to boot, a Windows copy compiled to run on ARM based machines is not going to have what it takes to make use of the entire Apple Silicon based mac (it's not enough to have ARM code, you also need to use the M1's GPUs, the M1's neural engine, all of the management of the system, etc. to make full use of the hardware capabilities the machine offers.
Even what Crossover does is only short term: it relies on the abilities of rosetta 2 - and that's unlikely to survive more than a few years after the last mac was sold using an Intel CPU before macOS goes fully Apple Silicon native as it's just a means to power through the transition, not a permanent solution.
In short I see this more as Apple stretching out a hand to MSFT to try to pull them in the bath and work together on what comes after bootcamp. But for MSFT to do that, MSFT will have a hard time selling the move to the likes of HP and DELL etc. who'll have a huge competitive disadvantage as they will not have access to the Apple M1 productline now nor in the future. And no other CPU comes even remotely close to the M1 at this time.
So in the end Apple is a hardware company and they told MSFT to play by their rules now, if they want to run on their hardware. They can do it simply because of how much more advanced the hardware is compared to the "standard" components used in the wintel world.
As a user: go without windows if you can. It'll make your life _much_ easier - I have -.
M1 Macs have even more flexible Secure Boot settings than T2 Macs do. You can have one installed OS with full security dual-booting with another that has none. The issue is driver support and a bootloader that works with Apple's firmware. Otherwise, virtualization is the only way to go.
As for HP and Dell, Microsoft needs to sell them on the idea that there's a point to putting out ARM-based PCs running Windows 10 for ARM64. Right now, they've not done the best job of that. If Microsoft is able to work with Apple to get Windows 10 for ARM64 running in some fashion, be it via a post-Boot-Camp dual-boot option or via virtualization or both, that will allow Microsoft to tap into Apple Silicon Mac users as a means of evangelizing ARM64 as a target achitecture for developers. Microsoft clearly wants Windows 10 to thrive on ARM64 the way it is on x86-64. Apple is a huge opportunity for them.
It's nice that you are able to live without Windows. The sad fact of the matter is that the Mac still can only run a fraction of the amount of software that a Windows PC can. Therefore, getting Windows to work on an Apple Silicon Mac will reenable users to be able to run every application.
This is actually incorrect. Apple's CPUs support the full ARM instruction set. They may have added their own, but that doesn't mean Windows wouldn't work. Standard ARM is a subset of Apple's ARM, so anything that will run on it will run on Apple machines. That's why Parallels is able to virtualise standard ARM Linux distros on M1 Macs.
Parallels is able to virtualize standard ARM Linux distros on M1 Macs because they leverage the hypervisor built into Big Sur for Apple Silicon. Not for any other reason. Booting Windows 10 for ARM64 in a VM on an Apple Silicon Mac would only require Microsoft and/or Apple and/or Parallels and/or VMware to write Windows 10 for ARM64 drivers for Apple's hypervisor. Native booting Windows 10 for ARM64 on Apple Silicon Macs is a different story. That would require Apple to write Windows 10 for ARM64 drivers for its SoC as well as a modified bootloader to work with Apple's firmware. Not impossible, but no small feat either.
Does MS already have an ARM version of Office for their Surface Pro X device? It would seem to make sense that ultimately you do not need a Windows version of office and a Mac one, just a single ARM version. Or if they did is it not that simple?
Microsoft does have a native ARM64 version of the Microsoft 365 (formerly Office 365) apps for Windows. I think Teams might've been missing up until recently. But I think that's there now too. No need to run x86/x64 versions.
Microsoft is going to come back and say Windows on M1 ARM is a consideration only if Apple doesn't lock down multi-booting. Would be nice if M1 has the freedom like Raspberry Pi 4 to multiboot different Linux distros, Android, Windows on ARM, etc.
Microsoft won't turn down running Windows 10 for ARM64 on a VM running on an Apple Silicon Mac. I'm sure they wouldn't turn down coordinating with Apple on a native post-Boot-Camp dual-boot solution either. But it's not a simple matter of "hey, let's enable CSM support in the firmware and put out drivers for our third party components". Apple would need to write drivers for M1 for Windows 10 for ARM64 as well as a custom bootloader. If they went that route, it likely wouldn't be "Boot Camp" as we know it on Intel Macs. Not by a long shot. Though, it could be simpler. Buy Windows 10 from the Apple Silicon version of the Mac App Store with love from Microsoft and blessings by Apple.
You're not going to see the same treatment given for Linux, most likely, given the lack of support for Linux with T2 Macs.
There is a WWDC session about booting - nothing is locked down.
Nothing's locked down. But nothing is open either. PowerPC Linux distros at least could leverage drivers from ATI and NVIDIA as well as from Freescale/Motorola and IBM. Apple holds exclusive keys to the castle here.
I want native Linux on this, please.
Unfortunately, Apple is not very good at documenting their stuff, so Intel Macs with T2 are a sad story last I've had a look (not for Secure Boot — T2 is the sound chip too, and all hardware monitoring is done with it too).
It's not a documentation issue. The T2 needs drivers as the SSD controller is a part of it. Apple only made drivers for the T2 for Windows. And getting at them isn't straightforward even then. Apple needs to create a Linux driver (more like a series of drivers) - or someone else needs to - in order to get native Linux booting. Considering we don't have that for T2 Macs, I wouldn't hold my breath for it for M1 Macs.
I don't think Apple's somewhat nebulous response there is really about what you think they were talking about.
Apple is saying they have their hypervisor there and Microsoft needs to certify/enable licenses that will run on top of Apple's hypervisor.
I suspect more than a few in this thread read that as "Oh yeah there is documented , open access (welcome to apple proprietary secure boot firmware sign out front) , raw security boot here. . Microsoft , will crypto sign (and/or verify ) your OS and put you up on the boot options screen. " I don't think Apple was talking about that. Hence, not particularly talking about Windows 10 where there is some particularly heavyweight 3D graphics bandwidth overhead.
"Windows running natively" on M1 more so means that Windows 10 core is running on ARM. Not necessarily that they are jumped onto the processor exclusively from macOS ( that is technically more so boot, not "running". ) .
The preceeding Linux examples were about VMs.
"... Federighi pointed out that the M1 Macs do use a virtualization framework that supports products like Parallels or VMWare, but he acknowledged that these would typically virtualize other ARM operating systems. ..."
Some folks run Solidworks on VMware Fusion or Parallels , but more than few when talking about "Windows 10 + Solidworks" are talking the whole x86_64 Mac in a substantively different operating mode.
You say this as though Apple hasn't reversed course on not allowing Windows to be directly booted on Macs before. I saw the same Daring Fireball interview with Federighi that you did. But I've also lived through the advent of Boot Camp and vividly remember feeling like hell froze over. I'm not saying that it wouldn't be a ton of work for both Apple and Microsoft, nor am I saying that Apple WILL FOR SURE reverse course on direct booting Windows. But it's entirely possible that Federighi's statements over the summer were based on the fact that Microsoft's licensing made it a moot point. It would benefit both companies immensely to have a native boot scenario for Windows 10 for ARM64.
Apple still has to publish their drivers.
For Windows, no. They just need to produce them and integrate them into whatever solution is used.
For Linux, also no. If anything, they'd need to publish the SDK for creating drivers as each Linux distro will be different. Unless they decide that Debian is their Linux of choice. But, I'd imagine that'd be very limiting...
if Windows is sitting on top of a virtual machine then that VM can present a virtual GPU to the OS. That could be a generic, lowest common denominator GPU. Windows 10 has to interact with various virtual machine presentated virtual devices on other platforms.
The virtual GPU would translate the GPU calls made to it to GPU calls made to Apple's GPU. Apple wouldn't have to do any drivers at all to the GPU.
There could be funky and/or proprietary trackpad or touchbar or etc features that are not found in a standard virtual machine's presented interface. Those would need Apple drivers if there were "passed through" the VM interface and presented "raw" to the OS image being hosted. But almost all basic function (mouse , keyboard , etc. ) could be emulated.
That just isn't going to result in max performance.
Apple needed to do drivers when they were letting Windows run "raw" on the hardware outside a virtual machine. That is basically a no fly zone. ( So said in previous interview shortly after WWDC 2020. )
Apple will still need drivers for Windows to run on THEIR hypervisor. Apple making the hypervisor sort of removes responsibility from VMware and Parallels to have to do that. Microsoft won't be able to just rely on built-in drivers.
That doesn't help sway MS to play nice with Apple if M1 laptops decimate Surface Pro X.
M1 laptops won't decimate the Surface Pro X. Nor are M1 Macs a reason for Microsoft to not want to play nice with Apple Silicon Macs, regardless of how the Surface Pro X is doing. If anything, Windows 10 for ARM64 on M1 Macs can be used by Microsoft to encourage developers to start making ARM64 Windows versions of their software. That's the end-goal for Microsoft here. Get people to build software for Windows 10 for ARM64. That's it.
Microsoft will only build an ARM version for the M1 if they feel there is demand for windows based applications. MS Office has always been hugely popular with many Mac users BUT I am sure the number crunchers at Microsoft will have been already hard at work looking at the number of Windows installed on Intel Macs and the number of Microsoft applications being used on Macs because those Mac users will be the ones who would be installing Windows and Windows applications on to their M1. These figures are important because it will tell Microsoft if it is worth investing the time and money into making Windows ARM and Windows ARM applications. If the projections come back that not enough Windows installs and applications will make it worthwhile for Microsoft to spend time and probably millions on developing Windows for M1 Mac's then they wont.
No. That's not how it will work or is even currently working. ARM64 is clearly the future of personal computing. x86-64 isn't going to die, nor stop being a key architecture for Windows, but Microsoft has a huge interest in bringing Windows 10 to as many different types of devices as is possible and ARM64 is crucial to that. Up until now, there haven't been many significantly fast systems on which to run Windows 10 for ARM64. Or rather, there haven't been that many apps that support it. Microsoft wants to change that. And an install base of 3 million or so Apple Silicon Mac users will be the perfect reason to encourage such development as Apple Silicon hardware isn't lackluster in performance in the ways that some of these Qualcomm based Windows systems have been lately.
The MS Surface Pro X has an ARM chip. I think that was the first and currently only product running the ARM version of Windows.
Nope. First off, you now have two generations of Surface Pro X. But even before that, you had Samsung and Lenovo and even HP making other Qualcomm powered Windows 10 for ARM64 devices. They weren't great nor did they sell particularly well, but they were definitely there and there will continue to be more of them as Microsoft is investing heavily in ARM64, just like Apple is.
Ok some things here. Microsoft is not going to provide support for M series mac's for you. They will be doing it for their corporate customers. In fact, it might only be available to volume license customers. At least for a while. But make no mistake, Microsoft is investing heavily in ARM. They have ported Windows, and most certainly the entire windows family to arm. They have hired CPU designers and worked with Qualcomm to develop two CPUs. They are porting Edge (that's chrome edge) to arm. And they have begun the work to port the Office apps. Most people don't know it, but they are the largest supplier of development tools. They have added support for native arm apps to Visual Studio and have begun a marketing push to those customers to make their apps native arm. Microsoft is all in on ARM.
One thing that has held them back is a lack of systems that have more of a desktop CPU that is capable of running Windows in the manner that we are used to. The M systems would give them that. In the end Microsoft is a software company. They want to make their software available on the systems that run it best. If that's macs then they will be fine with that.
As I noted earlier, I'd expect that we will hear more from them around the time of the Next Major update to Windows in April 2021 or so.
The "entire Windows family" isn't on ARM. You don't have Windows Server 2019 or 2016 on ARM. They are also done with Office for ARM64, so your timing on these is a bit off.
I wonder if Federighi is honest here or it's just false advertising. After all they won't let linux run on the M1.
He's being honest, if not a little vague. If Apple sticks to their "Apple Silicon Macs won't direct boot other operating systems" stance, then he's talking about Windows 10 (presumably the ARM64 variant) running on a VM. If Apple reverses course on that, then he might be referring to both methods of getting Windows on an Apple Silicon Mac. Either way, Microsoft needs to open up licensing for Windows 10 for ARM64 to allow it since it is currently only licensed to OEMs. Microsoft has to make the first move.
That said, if direct booting Windows 10 for ARM64 is going to be on the table, it's because it's Windows. I doubt we'll see such niceties for Linux, given that we still don't have that for T2 Macs. I think Apple would rather we just use Docker and VMs for our Linux needs.
Forgive my ignorance but how well do Windows app made for the intel version of Windows run on the ARM Windows machines? I've heard that there are a number of limitations or at least there used to be. Those limitations will affect Windows on Apple Silicon Macs if and when it will become possible to run Windows on them, right?
Right now, not great. You can only run 32-bit x86 (Windows) apps, but they run really slow. We're going to soon get the ability to run 64-bit x86 Windows apps and who knows how fast they'll run. It's also possible that Microsoft is hard at work trying to remedy these speed deficiencies, knowing that their whole Windows 10 for ARM64 initiative depends on it.