23 ms·
Welcome to the M1 Windows project
- f311a 4y agoI think it’s very hard to reverse engineer all the parts of m1. Such projects are fun research, but they won’t be able to use the full m1 potential. The software must be optimized as well.
- 58028641 4y agoHector Martin and others have had decent success with reverse engineering so far.
- mikece 4y agoWhy 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 that demand is fully met?)
- hoistbypetard 4y agoI 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 they're hostile to running Windows on these devices. [1](https://twitter.com/marcan42/status/1471799568807636994 https://twitter.com/marcan42/status/1471799568807636994)
- spacedcowboy 4y agoYou 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 screen real-estate (3x 4K monitors on the Mac).
- olliej 4y agoMy interpretation of the MS insanity was that windows/ARM is currently exclusively licensed for Qualcomm chips or something similarly absurd?
- duskwuff 4y agoInterestingly, the availability of Rosetta for Linux suggests a much cleaner solution for FPGA development. :)
- kitsunesoba 4y agoIt'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.
- JoshTko 4y agoWhy?
- buffington 4y agoThe OP expresses exactly why on their site. Let's assume you didn't read their site though. Why not?
- JoshTko 4y agoAll the reasons are technical but nothing about an actual user need. Especially given the cost and complexity and most likely sub native window user experience this project seems to serve no actual utility.
- buffington 4y ago> this project seems to serve no actual utility I think booting Windows on a M1 qualifies as "actual utility" for a lot of people. Just because you don't see any value in the project doesn't mean other people agree with you.
- JoshTko 4y agoWindows on M1 is a technical achievement but has seemingly no user benefits. User benefit would be better battery life, lower cost etc. This project has none of that. It's like running doom on a pacemaker, kind of cool but the feat is the end goal rather than delivering some real benefit beyond a technical POC.
- baggy_trough 4y agoRuns great in Parallels!
- withinboredom 4y agoThis isn’t the same thing at all.
- ComradePhil 4y agoWhy Windows? Why not ReactOS?
- yjftsjthsd-h 4y agoWindows, for its many faults, is feature complete and officially supports ARM today. Neither is true of ReactOS. Thus, it's currently much easier and more useful to port windows.
- mschuster91 4y agoReactOS is nowhere near enough the quality you'd need - you don't want to waste time figuring out if you are fighting a bug in ReactOS or in your own code.
- SyneRyder 4y agoAgreed. Just last night I tried installing ReactOS in a Parallels VM on Intel, and their ISO installer couldn't get beyond "Failed to open txtsetup.sif" at the very start. The last ReactOS ISO I could get to work was 0.4.11 (three releases / three years ago). It's a worry that such a critical showstopper regression has gone unpatched over 3 years. 0.4.11 did run a lot of Windows software that I use (including my own) & I was impressed with what they'd achieved, but it regularly corrupted the file system and required a full reformat & reinstall, so not something I could actively use.
- sassy_quat 4y agoIf ReactOS crashes, it is quite clear where the problem lies, but I would'nt wait on them to fix it.
- buffington 4y agoWhy ReactOS? Why not AmigaOS? Why not any other OS? The OP wants to boot Windows on an M1. That's why.
- jokoon 4y agoCan't microsoft work on this instead? I don't get it.
- spacedcowboy 4y agoThey can. For whatever reason, they're not.
- travisathougies 4y agoI 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?
- tclancy 4y agoI 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?)
- treesknees 4y agoI 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.
- usrn 4y agoI don't think Microsoft sees a future in Windows. Their current strategy seems to be one of extracting as much value from it as possible until it dies.
- singhrac 4y agoReally? I think Windows is in the best state it's ever been... WSL is incredibly nice to use as a development platform, and many well-designed apps have a Windows version ever since Electron started becoming the de facto standard.
- 4y ago
- foo92691 4y agoI'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"?
- brundolf 4y agoMy 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
- Arnavion 4y agoYes, 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.
- oneplane 4y agoWindows CE on ARM and Windows PocketPC on ARM is older than that. But all of it has the same issue: you nearly always need a specific rebuild for a different ARM-machine because there isn't a single "ARM PC". Just like x86 pre-ACPI where you need different HALs and bringups for different systems. The problem here is twofold: firstly windows is closed so you can't actually add/modify components and rebuild it, only binary hacks and additive installation (like driver packages). Second issue: licensing. ARM isn't available unless you are an OEM. So there is no legal way to run Windows on M1 unless you are Apple and Microsoft signs you a contract (and that hasn't happened either).
- Arnavion 4y agoHaha, yes, I completely forgot about PocketPC.
- TheNewsIsHere 4y ago
- fold3 4y agoDo 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.
- timw4mail 4y agoArm windows already has that functionality.
- ntoskrnl 4y agoWindows on ARM supports that already[1]. The low traction is probably because of the (sorry) bad hardware. Windows branded ARM as the budget option so nobody wanted it. Then Apple came along and flipped the script. [1]: https://blogs.windows.com/windows-insider/2020/12/10/introducing-x64-emulation-in-preview-for-windows-10-on-arm-pcs-to-the-windows-insider-program/ https://blogs.windows.com/windows-insider/2020/12/10/introdu...
- mr_toad 4y agoIt’s not just that the hardware was lacking, there was no good solution for running x86 binaries. ARM windows has no Rosetta.
- deleted 4y ago[deleted]
- mappu 4y agoARM Windows (it was actually always THUMB2 Windows) was officially discontinued as of RT, without ever getting the x86_32 emulator let alone the x86_64 one. But unoffically, there is a leaked build of Windows 10 15035 for ARM32, and it's possible to sideload it onto an original Windows RT device. The x86_32 emulator was present in the ARM64 Windows release by this point, but, i don't know if the leaked ARM32 release includes an ARM32 version of the x86_32 emulator.
- toniks 4y ago
- rvz 4y agoNow 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.
- SixDouble5321 4y agoFunny, Windows on a Mac seems like total waste of time and hardware to me. Windows is ready to implode and stop being profitable with all of the CVEs and RCEs that are by design.
- stewx 4y agoDear site owner: your grey-on-grey text is nearly illegible.
- ravisutrave 4y agoLooks like the site does not play well with Dark reader (On firefox). I had to disable it, to read this.
- mixmastamyk 4y agoProbably using !important somewhere.
- nxoxn 4y agoAre you using Dark Reader? It definitely made it gray-on-gray for me and I needed to turn it off to make it look normal.
- amarioguy 4y agohey, thanks for bringing this up, I'll change the theme to make it more readable sorry about that, it looked readable on my end, but remedying this asap
- GnarfGnarf 4y agoTextbook case for Firefox' "Reader View" (F9).
- boardwaalk 4y agoI’d frankly be surprised if you were able to muster the talent/willpower for something like this. 1. Most of the people able to do this sort of thing probably work in Linux/FreeBSD/etc land. 2. You’re really working doubly against the tide here. You have proprietary stuff on the Mac and on the Windows side. 3. (Personal opinion) Dear God that sounds like a lot of work for something that is a fairly unfriendly experience on a few levels. At least they have Linux/BSD people trailblazing here (they acknowledge as much). If they can actually pull this off without changing something deeper than a what’s already exposed to kernel driver developers without horrible hacks or inefficiencies, I would be surprised. Disclaimer: Not really a kernel dev of any sort.
- ragnarok451 4y agoWhy be so negative? The world is better for ambitious people like this
- boardwaalk 4y agoSorry, I’m not specifically trying to be negative, these were just my honest first reactions. If they can do it, more power to ‘em.
- sumy23 4y agoI feel like there should be a common etiquette rule on HN where if you don't care about a particular project / technology / initiative that you skip commenting and move on. For example, your comment says that this initiative will not work out. Should there be a debate whether or not it's theoretically possibly for this to work out logistically? What is the value in that? Even if there is a convincing argument that this initiative could theoretically be successful, would that convince anyone to use the technology? No, it would not.
- vlunkr 4y agoThey didn't say they aren't interested in the idea, they just expressed skepticism. > Should there be a debate whether or not it's theoretically possibly for this to work out logistically? What is the value in that? Certainly if you're going to work on this you'd like to know if it's just a dead end.
- dsposable51772 4y agoI would be surprised if Microsoft doesn't cease & desist this
- jarjoura 4y agoCan you dual boot any other OS on ARM Macs yet? Seems like this project might have missed a few steps along the way. This really should be a Microsoft effort. They just announced that they have Visual Studio compiling in ARM64 finally, so it's only a matter of time before the only thing standing in the way is backroom deals that we don't know about. Qualcomm? I mean, I do want to see Qualcomm ship their M1 competitor, but given the state of the economy and world recession we're about to enter, I am skeptical it would survive fat trimming cuts that are about to sweep the industry. The money for them is in mobile and automotive projects.
- gpm 4y agoYes, the asahi linux people have had linux booting for quite awhile now. They're still working on all the drivers that you want for a good desktop operating system.
- bri3d 4y ago> Can you dual boot any other OS on ARM Macs yet? Yes, https://asahilinux.org https://asahilinux.org . I think this is coming at about the right stage in the game - the Asahi folks have figured out the baseline needs for booting another OS and have a basic bootstrap loader and hypervisor (m1n1) as mentioned in the M1 Windows writeup. I think the OP writeup is fairly clear-eyed in terms of what needs doing - bring up the basic interrupt controller setup and IOMMU oddities needed to get UEFI and then the kernel to come up, and then start chipping away driver by driver until the system is usable. This is basically what Asahi did and it's worked out well for them.
- jarjoura 4y agoOh, that's very cool, I haven't heard of them!
- amarioguy 4y agoThe Asahi folks are some of the best hackers I've talked to lol (project dev here) so definitely give their IRC a visit! Fun side note I volunteered to help fix up the Apple silicon I2C driver to use interrupts instead of polling, so I'm definitely also trying to get more involved with Asahi too
- 0des 4y agoIs Windows RT usable in any of this? For a while there, RT was the Windows 8 equivalent for their ARM tech.
- jarjoura 4y agoAt this point it would be hard for any normal user of Windows to tell the difference between the Intel and ARM variants of Windows 11. Things that haven't been ported to ARM will run slower, but they're already on par with low-end intel laptops.
- jamesfmilne 4y agom1n1 in this case is a bit like ESXi, and this overall will be a bit like running Windows under VMware. I imagine this will be quite achievable. Windows 11 already runs ok in Parallels. Doing it "properly" native will require Microsoft to make changes to Windows though.
- bpye 4y agoI’m not convinced the distinction is really important. Would you say running Windows with Hyper-V enabled is non-native for example?
- w7 4y agoPeople will reflexively see virtualization and figure it means noticeable hit in performance. Unfortunately many Windows users and developers are unaware their "Desktop" becomes a VM on Hyper-V installation. I see it all the time when people start arguing "type-1" vs "type-2" hypervisors. Usually if they have some experience with Xen comparing it to a Dom0 helps, but understandably people usually first compare it to VirtualBox because the process is opaque.
- playbooks 4y ago
- amarioguy 4y agohey, OP here, figured i'd clarify some things about this project: 1) yes, I realize this is going to be way harder than it seems, but I'm actually going to do my best to hopefully get a good user experience out of this and I'm easily preparing for this to be a multi-year effort, but I'm not going to give up right at the gate 2) Custom HALs were actually an option, up until very recently, since as of Windows 10, version 2004, the HAL is now statically linked into the kernel, meaning that if I wanted to use the AIC natively I'd need to write a patch finder that runs before the Windows kernel loads (This is what EfiGuard does for example to disable PatchGuard) (Yes this is actually more tenable than it may seem, due to some undocumented policy files Windows is able to use, but I have already decided to hold off on this until after I get Windows working under the thin hypervisor) 3) HAL Extensions (for those unaware they are tiny modules that allow you to extend the Windows HAL with functions for non standard hardware) are not tenable at the moment since they're limited in the APIs they use 4) I am well aware that Windows is going to need a lot more help than just purely the interrupt controller, I'm currently trying to bring up the vGIC first since the distributor and redistributors need to be emulated and I need to bring up Project Mu first 5) as for the GPU, I'm way too far away from that being a concern to figure out the approach lol if you have any feedback btw, please do feel free to comment it i'll try to address it as best as I can yes I'll update the website theme soon enough, thanks to the commenter who remarked about readability.
- noveltyaccount 4y agoGood on you for this ambitious project. Wishing you success.
- tobylane 4y agoI’m interested in Windows VMs that have minimal overhead/maximum speed. As far as I understand that’s done by it being installed as native to the hardware as the native OS, but with generic drivers. Roughly what % of the work for running Windows on M1 is running Windows in a VM on M1?
- scoopertrooper 4y ago> I have already delegated this to after I get Windows working under the thin hypervisor Not to be 'that guy', but that's an odd use of of the word 'delegated'. 'Relegated' might have been the word for which you were looking. Edit: I know this will be down voted because I'm critiquing the word usage of OP instead of focusing on how cool their project is. I get that. I'm just pedantic and this sort of thing eats me alive.
- shtopointo 4y agoParallels Desktop is able to run Windows on an M1. I work on Electron apps and I've been happy with how it works. Why not use that?
- buffington 4y agoHave you actually tried running Windows using Parallels on an M1? I have, and it's hardly worth the effort. As for Electron apps - huh? Are you actually suggesting that you can just use Electron apps to accomplish what the OP has set out to accomplish?
- shtopointo 4y ago> Have you actually tried running Windows using Parallels on an M1? I have, and it's hardly worth the effort. Yes, I have. It works very well, what's the problem making it hardly worth the effort? What I mean is that I develop Electron apps on an M1 Mac, and I use Parallels to spin up Windows so I can test the apps on Windows too. Not the latter of what you suggested.
- zaptrem 4y agoWhy does Asahi Linux exist when you can just virtualize it? Same answer: better performance, avoiding Apple, an interesting challenge, a learning opportunity, the cool factor, and many more reasons.
- finnh 4y agoNice! My friend blanka was the first person to do this with the first generation of Intel Macs, back in 2006: https://www.macworld.com/article/179192/xponmac.html https://www.macworld.com/article/179192/xponmac.html
- tinytuna 4y agoFunny how they used to call them “Hacker”
- Uptrenda 4y agoSo its a plan for a project and not an actual project? lmao, why is this on hacker news front page?
- buffington 4y agoBecause it perfectly satisfies the first guideline of "What To Submit": > Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity.
- thedudeabides5 4y agoYaaaay Thank you guys. My entire company will run off this if you can get it working well.
- jmkni 4y agoAwesome work, I'd love to be able to dual boot Windows on my M1 machine Hopefully Microsoft just hires you and gives you the resources you need to do this properly
- Tildey 4y agoHaha as if microsoft couldn’t easily ship a build for apple silicon. The thing that makes this a difficult project is that MS doesn’t seem to want it to happen. I would he surprised if someone at MS didn’t have a build that runs on m1
- mr_toad 4y agoTrying to get an OS to work with proprietary undocumented hardware is not easy. Microsoft may have decided it’s not worth the effort. Usually Microsoft gets the hardware manufacturer to make sure their hardware works with Windows. In this case Apple have probably decided that supporting Windows themselves is not worth the effort either. Likely neither of them want to get into the support headache that this could turn out to be.
- what-imright 4y agoah dirty ice cream
- smm11 4y agoWhy?
- thatsnotmepls 4y agoWhy not?
- dev_tty01 4y agoInteresting project. Not useful for me, but best of luck. Quick question: If Apple (working with MS) releases a blessed version of Boot Camp for running Win10 ARM on a Mac, does the project end? In other words, are there goals beyond what Boot Camp offers on Intel Macs?
- svnpenn 4y agoWhere is the source code? This is empty: https://github.com/amarioguy/m1windowsproject https://github.com/amarioguy/m1windowsproject
- xvilka 4y agoMaybe it would be easier to port ReactOS on M1 instead: https://reactos.org/wiki/ARM_Port https://reactos.org/wiki/ARM_Port
- alwaysanon 4y agoI am struggling to see here how this shouldn't be something that Microsoft does itself. And, if Microsoft is doing it, they can just call Apple and get what they need re: documentation or specs or questions answered. They might just need appropriate NDAs between the two companies (which I'd have to imagine they already have?)? With Linux they have to reverse-engineer it. Microsoft shouldn't need to...
- alwaysanon 4y agoActually - come to think of it there is one reason. If this person wants a job with Microsoft or Apple getting something like this working without the support of MS or Apple is a hell of an exceptional application...
- augustl 4y agoThe current rumor is that Apple is open to Microsoft doing it, and that Microsoft has an exclusive license with Qualcomm for ARM windows. This license expires soon. > "that's really up to Microsoft," [Craig Federighi] said. "We have the core technologies for them to do that, to run their ARM version of Windows, which in turn of course supports x86 user mode applications. But that's a decision Microsoft has to make, to bring to license that technology for users to run on these Macs. But the Macs are certainly very capable of it." From: https://arstechnica.com/gadgets/2020/11/we-are-giddy-interviewing-apple-about-its-mac-silicon-revolution/ https://arstechnica.com/gadgets/2020/11/we-are-giddy-intervi... Exclusivity deal rumor: https://www.xda-developers.com/qualcomm-exclusivity-deal-microsoft-windows-on-arm/ https://www.xda-developers.com/qualcomm-exclusivity-deal-mic...
- DeathArrow 4y agoI wonder why ARM hasn't pushed for a standard for ARM PCs and servers, the way IBM and Intel pushed. Developing for ARM shouldn't be a nightmare.
- ngcc_hk 4y agoSuccess or not, the knowledge gained would be useful.
- aagha 4y agoIsn't the M1 powerful enough to just run Windows in a virtual machine?
- bergenty 4y ago