Live data from Hacker News

Welcome to the M1 Windows project

amarioguy.github.io

31–40 of 276 posts

Re: Welcome to the M1 Windows project

#31

I'm a bit shocked that it would even be possible for a third party to implement such a thing without rebuilding Windows itself. Is it a matter of implementing "device drivers"?

My understanding is that drivers aren't part of the kernel in Windows like they are in Linux. And I believe an ARM build of some kind or another already exists out there for Windows

Yes, there is a public stable API for Windows drivers. Even the built-in drivers are dynamically loaded.

Windows on ARM isn't new. The oldest Windows on ARM was Windows 8 RT (ARM32 only, I believe). Right now it seems Windows 10 and Windows 11 have ARM64 versions, but there was also Windows IoT Core from the Windows IoT OS branch a few years ago.

Re: Welcome to the M1 Windows project

#32

I'm a bit shocked that it would even be possible for a third party to implement such a thing without rebuilding Windows itself. Is it a matter of implementing "device drivers"?

My understanding is that drivers aren't part of the kernel in Windows like they are in Linux. And I believe an ARM build of some kind or another already exists out there for Windows

It does. Officially there is an ARM build of Windows that Microsoft licenses to OEMs, and there is (or maybe was?) Windows IoT Core which has a build for ARM.

If I recall (grain of salt then) a while after the first M1 Mac came out one of Apple’s VPs had said something on the record about Apple having tried to get Microsoft to sell retail licenses of a Windows 10 for ARM build, because they didn’t want to deprecate Boot Camp for Windows. But Microsoft said no.

Re: Welcome to the M1 Windows project

#33

I'm a bit shocked that it would even be possible for a third party to implement such a thing without rebuilding Windows itself. Is it a matter of implementing "device drivers"?

Windows (really: NT) has always been hardware independent. So it's a matter of a) having binaries and a HAL (Hardware Abstraction Layer) for aarm64 (this exists -- Microsoft already sells arm-based devices such as the Surface Pro X), and b) having the necessary set of device drivers. These may exit already from MS, or may need to be compiled from source already used for x86, or may need to be written from scratch if no driver exists already. But you definitely don't need to build Windows in order to port it to new hardware, unless it's using an unsupported CPU (and then you'll have much bigger problems than just building it).

Re: Welcome to the M1 Windows project

#34
Now this is will be interesting to see and will give a killer reason for Apple Silicon. My guess is that this will take some years to be usable, given that Linux on M1 still isn't complete by the time M2 is announced.

But if a small amount of hackers were able to install Windows 11 ARM on a Raspberry Pi 4, then I won't be surprised to see the same to be done for Apple Silicon.

Re: Welcome to the M1 Windows project

#35

Earlier quoted context omitted.

My understanding is that drivers aren't part of the kernel in Windows like they are in Linux. And I believe an ARM build of some kind or another already exists out there for Windows

It does. Officially there is an ARM build of Windows that Microsoft licenses to OEMs, and there is (or maybe was?) Windows IoT Core which has a build for ARM. If I recall (grain of salt then) a while after the first M1 Mac came out one of Apple’s VPs had said something on the record about Apple having tried to get Microsoft to sell retail licenses of a Windows 10 for ARM build, because they didn’t want to deprecate B…

We learned last November that Qualcomm had an exclusivity agreement for Windows on ARM that lasted a (speculated) 5 years... which they then did almost absolutely nothing worthwhile with. As of November it was "expiring soon" but what "soon" means is still not clear. Perhaps it was renewed.

However, just two weeks ago Microsoft announced their "Project Volterra" Mac mini clone for Windows on ARM development, which makes it seem mighty certain that Windows on ARM for Mac is not coming anytime soon because otherwise why on earth would anyone buy that thing...

On the other hand, if Project Volterra doesn't sell very well and Windows on ARM continues to flounder, maybe Microsoft will finally make Windows on ARM for Mac a real option in the hopes of capturing mindshare and gathering interest from all the people with Macs.

Re: Welcome to the M1 Windows project

#36

Earlier quoted context omitted.

I don't have the impression that they're doing anything specifically to make it hard. But right now users would have to pirate Windows in order to run it on Apple Silicon hardware, so it's hard to argue for an official solution. And they're not currently publishing specs in the open that would really speed it along. But the Asahi Linux developers say Apple is helping in some measure[1], so it doesn't seem likely that…

You don't have to pirate windows, you have to buy Parallels, which then downloads and installs Arm windows onto your M1 - and Arm Windows will run x86 binaries. I used this to run FPGA bitstream-creation software on my Mac Studio. Worked like a dream. I'm generally fine with running on the PC on the bookshelf and serving s/w via MS Remote Desktop, but having it on the machine itself is a bit more useful in terms of s…

This isn't quite the intent of the project here, though, which aims to run the ARM build of Windows as close to the hardware as possible. Not through a VM running inside macOS, but rather under a lightweight hypervisor running on the bare metal.

You might not have to pirate Windows to do this, but I feel the rest of your comment is missing the mark.

Re: Welcome to the M1 Windows project

#37

Earlier quoted context omitted.

My understanding is that drivers aren't part of the kernel in Windows like they are in Linux. And I believe an ARM build of some kind or another already exists out there for Windows

It does. Officially there is an ARM build of Windows that Microsoft licenses to OEMs, and there is (or maybe was?) Windows IoT Core which has a build for ARM. If I recall (grain of salt then) a while after the first M1 Mac came out one of Apple’s VPs had said something on the record about Apple having tried to get Microsoft to sell retail licenses of a Windows 10 for ARM build, because they didn’t want to deprecate B…

I don't remember that, but Apple have actively made changes to support Asahi Linux (I wouldn't go so far as to say they support Asahi Linux) and not backtracked on not-blocking other OSs.

Re: Welcome to the M1 Windows project

#39

I'm a bit shocked that it would even be possible for a third party to implement such a thing without rebuilding Windows itself. Is it a matter of implementing "device drivers"?

Windows (really: NT) has always been hardware independent. So it's a matter of a) having binaries and a HAL (Hardware Abstraction Layer) for aarm64 (this exists -- Microsoft already sells arm-based devices such as the Surface Pro X), and b) having the necessary set of device drivers. These may exit already from MS, or may need to be compiled from source already used for x86, or may need to be written from scratch if…

That's only true up to a certain point. ARM is a very weird target, because a lot of standardized stuff we take for granted in x86/PC land aren't standardized on ARM. In particular, take the Interrupt Controller: x86 has a standard for it (well, technically has two, the PIC and APIC). The "standard" in ARM-land is the GICv3 or GICv4, but many different CPU vendors have their own. Apple has the "Apple Interrupt Controller", or AIC.

The thing is, AFAIK, how to talk to the interrupt controller isn't part of the drivers, but part of the kernel. So you can't just "write a driver" for it. So if Windows doesn't support apple's interrupt controllers, I guess a lot of shenanigans will be needed.

Re: Welcome to the M1 Windows project

#40

Earlier quoted context omitted.

I don't have the impression that they're doing anything specifically to make it hard. But right now users would have to pirate Windows in order to run it on Apple Silicon hardware, so it's hard to argue for an official solution. And they're not currently publishing specs in the open that would really speed it along. But the Asahi Linux developers say Apple is helping in some measure[1], so it doesn't seem likely that…

You don't have to pirate windows, you have to buy Parallels, which then downloads and installs Arm windows onto your M1 - and Arm Windows will run x86 binaries. I used this to run FPGA bitstream-creation software on my Mac Studio. Worked like a dream. I'm generally fine with running on the PC on the bookshelf and serving s/w via MS Remote Desktop, but having it on the machine itself is a bit more useful in terms of s…

Parallels in operating in a legal gray area and using Insider builds of Windows on ARM that are not licensed for M1 hardware. There is currently no legal way, from a licensing standpoint, to have an ARM build running on a device that Microsoft does not have an existing agreement with.

If you're running an M1 with Parallels in any type of business or money-making environment then you're putting yourself at risk.

Post reply on HN