Live data from Hacker News

Welcome to the M1 Windows project

amarioguy.github.io

41–50 of 276 posts

Re: Welcome to the M1 Windows project

#41
post #15
post #2

Why would Apple want to make it hard to run aarch64 Windows on an M1 device? Their support for Windows in Boot Camp drove a lot of sales of Mac hardware after the switch to Intel. Seems Apple is limiting their hardware sales to not support Windows on M-series Macs. (Then again, if they are having supply/capacity issues then maybe it's a matter it being on the roadmap but they want their hardware running macOS until t…

Apple is in a very different position than they were with the switch to Intel. Some versions of Microsoft Office lack "legacy" features like Excel macros [1] and collaborative editing [2]. Microsoft would love to run Office inside a version of Windows on the Mac, as part of an on-ramp to people buying Surface-branded hardware. Apple isn't going to be an euthastic provider of this. [1] Works-ish on Mac, not at all on…

I'm confused by this comment. Apple seems to be fine with Windows running on M1, it's MS that doesn't provide licenses, although they do provide easy access to software images. And anecdotally, I can say that x86 windows apps running on ARM windows running on Parallels on an M1 mac works fine for the most part. And on my mac/in my org, collaborative features of Office (both in-browser and in-app) work equally well in Windows and MacOS.

Re: Welcome to the M1 Windows project

#42

Earlier quoted context omitted.

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 Contro…

> 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.

He's planning on a thin hypervisor layer to map GIC to AIC.

Re: Welcome to the M1 Windows project

#43
post #14

Do you think it would eventually be possible to run amd64 programs on it (like rosetta2 but for Microsoft Windows?) The main feature of Windows is legacy compatibility and that is perhaps why arm Windows doesn't seems to gain much traction. Eventually I wonder if this project could be helpful to run wine on asahi linux, which would be awesome.

amd64 programs on Windows for ARM already work almost as well as intel mac apps do on an M1 mac with Rosetta2. Even in case of amd64, on Windows for ARM, on Parallels for M1 MacOS! This was true even 1 year ago.

I think Windows for ARM is still suffering from a previous release several years ago without the equivalent of Rosetta 2, and since then no hardware that actually offers an advantage in terms of battery life in the same way M1 macs did.

Re: Welcome to the M1 Windows project

#44

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…

You also have to have the abstractions and hooks at the right places, though. Linux had that problem: The AIC (interrupt controller) is sufficiently different from the standard ARM GIC that ARMv8 Linux had to receive more fundamental patches before AIC support could be cleanly added.

To illustrate the issue with a silly example, imagine the Windows kernel assumes that every interrupt controller speaks Spanish, but suddenly AIC comes along and speaks Portuguese. The driver is going to have a hard time communicating.

A sibling commenter, gjsman-1000, explains that the idea is apparently to instead have a very lightweight hypervisor that actually presents a GIC to Windows, instead of trying to add an AIC driver, which might also have needed further kernel changes if Windows even has the concept of interrupt controller support being abstracted away enough to support interrupt controller "drivers" in its HAL. (I am not a Windows person at all, I don't know.) Basically not only having someone in between that seamlessly translates between Portuguese and Spanish, but actually pretending to be the interrupt controller itself.

Re: Welcome to the M1 Windows project

#45
post #10

Can't microsoft work on this instead? I don't get it.

I agree. I understand volunteering to make Linux work, since Linux is an open-source project. But why do all this work for Microsoft for free?

I am with you but would guess it's for the same reason one climbs Mount Everest.

(To leave a bunch of trash around for the next set of people who attempt it?)

Re: Welcome to the M1 Windows project

#48
post #10

Can't microsoft work on this instead? I don't get it.

I agree. I understand volunteering to make Linux work, since Linux is an open-source project. But why do all this work for Microsoft for free?

I refuse to believe that there isn't at least one person or team at Microsoft looking at this already, so it's not only free work but may also be redundant.

Re: Welcome to the M1 Windows project

#49

Earlier quoted context omitted.

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…

It's technically pirating because the license of Windows for ARM does not allow end users to run it on arbitrary hardware or virtualize it. I have doubts that they'd ever actually enforce those terms though.

It is a problem for businesses though. If they were going to go after anyone, it would be a business violating the EULA. Same problem with running macOS on Windows.

Re: Welcome to the M1 Windows project

#50
post #2

Why would Apple want to make it hard to run aarch64 Windows on an M1 device? Their support for Windows in Boot Camp drove a lot of sales of Mac hardware after the switch to Intel. Seems Apple is limiting their hardware sales to not support Windows on M-series Macs. (Then again, if they are having supply/capacity issues then maybe it's a matter it being on the roadmap but they want their hardware running macOS until t…

Apple has stated that they won't stand in the way of Microsoft porting Windows to M1 Macs[0], and indeed M-series Macs have the bits needed to boot alternative operating systems that M-series iDevices lack. Currently Microsoft only licenses Windows for ARM to device makers (and potentially has an exclusivity agreement with Qualcomm[1]) and has stated that they don't support Windows on M-series. The ball in is Microso…

Currently Microsoft only licenses Windows for ARM to device makers

Apple is a device maker. I wonder if Apple could buy a license from Microsoft.

I'd like to see either Apple or Microsoft officially support Windows on the M-series machines. Not because I give fig one about Windows. But I'd like to see the chaos that follows.

The operating systems industry could use a bit of a shake up.

Post reply on HN