Live data from Hacker News

OS X-KVM: Run macOS on QEMU/KVM

github.com

61–70 of 73 posts

Re: OS X-KVM: Run macOS on QEMU/KVM

#61

Earlier quoted context omitted.

Wow that's very surprising apple is trying to give better support for virtual environments instead of worse.. Do you know if they're allowing their iOS dev tools to run in there so you don't have to buy a mac anymore?

I have been developing a toy iOS/macOS app running macOS with this. I am able to login with my dev program credentials and do everything I need. I haven't tried submitting anything to the store.

So the virtualization hooks aren't just in MacOS? I could compile your app on my M1 iPad and run full MacOS virtually?

Re: OS X-KVM: Run macOS on QEMU/KVM

#62

What's the argument that this is OK from an ethical or moral perspective? Or does everyone acknowledge it's a willful violation of Apple's intellectual property and doesn't actually care?

Personally, I have just about zero interest in running an Apple OS, but maybe I could be interested in the tinkering to get it to run.

However, OS X/macOs is clearly a general purpose Operating System that could work on a general purpose computer, but is only sold bundled with Apple hardware. There's a potential quandary with respect to using commercial software without paying for it, but Apple doesn't exactly let you pay for it either, so eh? A lot of people don't have a big problem with copying software that is generally unavailable, and I could see how can't buy it without buying expensive hardware I don't want is close enough to meet people's ethics. And some people's ethics allow them to use commercial software without paying without remorse too, so there's that.

I would have no problem with paying for software licensed for use on specific hardware and using that software on different hardware. That's not really a restriction I think a software seller should be able to make, so I'm not going to consider it unethical to circumvent (although in a business context when there's an enforcement mechanism, I might not circumvent it then). Just because my DVD is only licensed for use on a licensed DVD player doesn't mean I'll feel bad playing with with VLC; same with a video game that I manage to play on a system other than the one it was made for. Of course, pirating a movie or video game is different. That's what makes this issue a little touchy --- you can't pay for OS X separate from the hardware (you also can't pay for the hardware separate from the OS); if it's a no cost OS that ships with the hardware, then it doesn't seem bad to use it otherwise, but if it's really a $100 OS that comes bundled, that's different.

Re: OS X-KVM: Run macOS on QEMU/KVM

#63

Earlier quoted context omitted.

I never read the EULA when I put MacOS on my Thinkpad, so I'd file it under "willful ignorance" if I were you.

Thanks for answering! I am not really asking about the legality, per se , which is where the EULA comes into this. I don't want to put any words into your mouth, so let me just imagine a couple of "inner monologues" about the ethical/moral aspect of that, just so you have an idea of what I'm trying to ask. "I know Apple doesn't want me to use it this way, and I know I shouldn't, but I'm going to do it anyway even tho…

It's a little of column A and column B. I don't feel bad for breaking their EULA though, Apple definitely has bigger fish to fry than chasing down hobbyists who want to toss their free-to-download software on a laptop without their blessing. The so-called "ethics" side of it isn't even on my radar, considering how opaque Apple is with their software and hardware distribution.

> Would be interested to know how you're thinking about your decision to run MacOS on your Thinkpad from that perspective.

Frankly, I just don't care or think about it for that matter. It took maybe 30 minutes to install, I marveled at how well it worked on unsupported hardware for about an hour, then booted back into Linux and forgot about it altogether. I don't see it as anything other than a cheap party trick, any hurt feelings that the world's largest company has towards it is just a complimentary bonus in my book.

Re: OS X-KVM: Run macOS on QEMU/KVM

#64
post #26

Earlier quoted context omitted.

Gvt-g is pretty much dead. New hardware e.g. Tiger Lake with Xe isn’t supported and it’s my understanding that Intel has no plans to support. See the following link for supported devices. https://github.com/torvalds/linux/blob/bbf5c979011a099af5dc7...

New Intel hardware supports SR-IOV, the successor to GVT-g, but unfortunately driver support is apparently missing for Linux: https://www.reddit.com/r/VFIO/comments/o7l2zr/sriov_on_intel...

oh wow, I had no idea. Seems a shame... Are they offering anything to replace it? Or is it GVT-d or bust?

Re: OS X-KVM: Run macOS on QEMU/KVM

#65
post #32

Earlier quoted context omitted.

It never ceases to amaze me how much free engineering effort is expended to work around Apple's resistance to open source and power user hostility.

I would argue that the fact that sort of work on reverse engineering Apple’s products happens so consistently suggests that in some capacity, current open options aren’t meeting the needs of some number of highly technical users, and that for these users having to expend the effort required to bend Apple products is more appealing than accepting the trade offs that come with more open options.

The only time I've ever used stuff like this for is to support macOS users when I don't have Apple hardware to test on, or to bootstrap a Hackintosh (also used solely for supporting others who actually like macOS) when I don't have ready access to Apple hardware.

I imagine that similar is true for many users of this project, although some others use it just to daily drive macOS on a configuration Apple doesn't sell.

Re: OS X-KVM: Run macOS on QEMU/KVM

#66
post #10

Earlier quoted context omitted.

I believe the most promising route is to not try to do passthrough but to use a "virtual" gpu, aka a paravirtualized device. Thanks to the contributions of an open-source developer*, virtio-gpu has been ported to macOS (it already works on Linux but not on Windows and soon it will be on macOS). Apple is also reportedly working on bringing better support for macOS virtualized environments [2]. It means that users will…

Wow that's very surprising apple is trying to give better support for virtual environments instead of worse.. Do you know if they're allowing their iOS dev tools to run in there so you don't have to buy a mac anymore?

Apple is adding better support for virtual environments running on the Mac. Not virtual macs running on other machines. That is all coming from the community.

Re: OS X-KVM: Run macOS on QEMU/KVM

#67

What's the argument that this is OK from an ethical or moral perspective? Or does everyone acknowledge it's a willful violation of Apple's intellectual property and doesn't actually care?

I'm perfectly fine with running Hackintoshes for more than a decade now and I see it as being morally superior to buying the stuff from Apple, or Microsoft, or Google, you name it. I believe that the world could be a better place if the hardware and software were more fragmented and less integrated. This would lead to simpler, less opaque solutions that could be controlled by the users and developers and not by 10 international corporations. I wish all of them were destroyed by some EM storm and the tech would return to using older technologies which wouldn't allow the systems to become too complex (due to the hardware decoming very slow). Having less of convenience is not an issue when the alternative is having no control. Having to teach the population to use the plain email, FTP and the text editor is better than being herded by "I know what is better for you"-type elitist groups. I know from the experience that if the information crud is removed, most organisatons could run on the C program with an sqlite db (or even a text file) and be perfectly fine. So I'm happily stealing from both Apple and Microsoft, and I wish I could encourage more people to do likewise. "Why wouldn't you use Linux then?" - because I'm forced to use all that garbage by a workplace or the orgs I'm interacting with. I would personally use none of that. My background is 30 years of programming.

Re: OS X-KVM: Run macOS on QEMU/KVM

#68
post #44
post #31

Earlier quoted context omitted.

There's no reason to believe this has to be slower than x86 on ARM

Well, emulating† x86 on ARM is excruciatingly slow, just as emulating ARM on x86 is (turns out I do both, routinely, so no need to believe when I have data: it's about an order of magnitude slower than native) † Rosetta 2 is not emulation.

Rosetta 2 is an emulator. It has a JIT compiler inside of it!

Re: OS X-KVM: Run macOS on QEMU/KVM

#69
post #44

Earlier quoted context omitted.

Well, emulating† x86 on ARM is excruciatingly slow, just as emulating ARM on x86 is (turns out I do both, routinely, so no need to believe when I have data: it's about an order of magnitude slower than native) † Rosetta 2 is not emulation.

Emulating x86 is slow on ARM because it's inherently a less complex instruction set. Emulating things the other way around is dead-simple by comparison, it's what made it such a cakewalk to write Nintendo Switch emulators on x86. ARM has to swing up the abstraction chain to implement x86 instructions, whereas x86 can execute ARM instructions for cheap, free, or even faster than ARM natively in the case of SIMD calls.…

This is generally not true. x86 has a bunch of CISCy instructions that translate to several ARM instructions, but ARM also has a bunch of things that encode strangely and split across several x86 instructions. In general, they're not that far apart in complexity. (There are instruction sets where this is true, e.g. older architectures like 6502 or whatever. But it's unlikely to be the case for anything moderately complex.)

Re: OS X-KVM: Run macOS on QEMU/KVM

#70
post #61

Earlier quoted context omitted.

I have been developing a toy iOS/macOS app running macOS with this. I am able to login with my dev program credentials and do everything I need. I haven't tried submitting anything to the store.

So the virtualization hooks aren't just in MacOS? I could compile your app on my M1 iPad and run full MacOS virtually?

No, Apple doesn't expose virtualization on iPad.
Post reply on HN