
Hackintosh-KVM Guide: High Sierra+ Using QEMU's I440fx Chipset - walterbell
https://passthroughpo.st/hackintosh-kvm-guide-high-sierra-using-qemus-i440fx-chipset/
======
rubatuga
I'm not quite sure why they say q35 chipset has bugs, I'm currently running
Mojave without bugs on a q35 configuration. Also, they're making questionable
choices regarding keyboard and mouse configuration. What you should really be
doing is passing through a complete USB3 controller (either from the Chipset
or from an external USB3 pcie card), with a mouse and keyboard attached to it.
Finally, I would recommend using an AMD RX500 series card, which has native
support in macOS, and absolutely no extra Clover flags required (10.13.6 and
up).

Also, the guide assumes a lot from the reader (someone who already knows how
to do PCIe passthrough in qemu).

I wrote a guide here that explains everything I wrote above, and actually
starts from the basics:

[https://github.com/yoonsikp/macos-kvm-pci-
passthrough](https://github.com/yoonsikp/macos-kvm-pci-passthrough)

~~~
hultner
This is something I've considered for some time now. I have a beefy skylake
Xeon with plenty of ECC-ram and VT-d, I'm considering letting it replace my
Mac Pro at home using a VT-d passthrough for GPU. Basically I prefer macOS as
my desktop OS but running KVM in the bottom or similar hypervisor would be so
neat (I'd prefer illumos but that feels like a nogo for these usecases).

Do you know how a GTX780 would behave in macOS with VT-d, one was gifted to me
from a friend and colleuge and if it's usable for this I'd like to use it (I
have no real need for a beefy GPU as long as I can run a couple of high
resolution monitors). If not which is the cheapest (and least powerconsuming)
GPU you'd recommend?

Haven't been in the Hackintosh scene for a good 8 years so things seems to
have changed quite a bit since then.

~~~
rubatuga
I know my 750ti worked without needing drivers in macOS, but I think it needed
some fiddling with clover. 780 might not work out of box, but I think it will
work the web nvidia drivers.

~~~
hultner
Oh I see. Would you recommend against using a KVM+VT-d macOS install as
primary desktop/workstation?

I'd probably put passthrough on USB and use a USB-dac for audio and add some
decent bluetooth hardware for handoff, keyboard, mouse/touchpad, etc. I'd
really like to have zvols underneat passed to the macOS-machine, I suppose I
would have to use a HFS-sparseimage or similar for primary OS disk, but it
would be nice to mount the zvols directly via OpenZFS for additional
partitions. I would love to leverage LZ4 for document storage etc.

~~~
x3sphere
You could virtualize it and use it as your main. I have not noticed any issues
compared to a bare metal install, at least on High Sierra.

With GPU pass through, pretty much performs the same too... I've maybe seen a
5% performance hit at most after running some benchmarks. I also passed
through an NVMe drive directly to the VM which avoids having to use an
emulated storage controller.

~~~
hultner
I were considering that as well but it would be very nice to run the entire
system from a ZVOL for snapshots, LZ4, dataintegrity, etc. Considering maybe
using a passthrough block-device only for os and use attached ZVOLs for
userdata. Would be cool to be able to z-send user data to a remote backup as
well.

------
hardwaresofton
Here are some other links for people who are interested in trying to run
hackintoshes:

\- [https://github.com/geerlingguy/macos-virtualbox-
vm](https://github.com/geerlingguy/macos-virtualbox-vm)

\- [https://github.com/kholia/OSX-KVM](https://github.com/kholia/OSX-KVM)

Personally I ended up just buying a Mac Mini and upgrading it's RAM. It's
unfortunate, but I was under a deadline and didn't want to risk having a
technically-illegal version of MacOS prevent me from building/publishing
client apps suddenly.

In the future, I'm going to just take writing iOS apps off the list of
services I offer.

~~~
jonathanstrange
I've also decided to give up developing my applications for Mac and will only
support Linux and Windows in the future. That's kind of ironic since I started
as a Mac shareware and freeware developer.

For a more or less hobby developer like me, the running costs of developing
for Mac are too high if you take into account that you have to purchase new
hardware every 3 to 5 years. I've tried the Hackintosh approach, but it was
overall too unstable and you never know whether some user might not send a bug
report for the pre-release of some future OS version. My main program was
broken and I had to fix it several times during the past two decades, every
time because of changes by Apple and not a single time because of a
programming bug.

Apple has a strong tendency of breaking their own APIs. That in combination
with obvious attempts to lure them into their developer infrastructure and a
strong deprecation of non-standard tool chains and languages (use XCode or
die, get a developer account or forget it) makes developing for Macs a major
pain in the ass.

No more iOS or macOS applications from me in the future. I might offer web
apps for iPhone users, though.

~~~
rubatuga
What about using react apps? I'm not experienced in react by any means, but it
seems like it would help in your situation.

~~~
hardwaresofton
React Native, Nativescript, and more recently Flutter are great for app
development, but when it comes to deployment/testing, you really do have to
get it on an actual device eventually.

In the end, you have to have _something_ running OSX -- despite the fact that
fact that frameworks like Flutter draw every pixel on the screen, you still
usually need to (well _should_ ) test it on a real device.

------
SmellyGeekBoy
It strikes me as odd in this day and age that Apple don't just officially
support macOS on non-Apple hardware. If they're concerned about instability
due to poor quality drivers and its impact on users' perception just offer an
"approved supplier" program where hardware manufacturers can have their
drivers verified and signed, as Microsoft have done in the past.

I know it's not the same as being truly open but at least it offers more
options and they could charge a fee to claw back the lost hardware revenue.
Manufacturers would be falling over themselves to get on the list for a little
shiny Apple sticker on their boxes.

We're talking about the biggest tech company in the world here, surely they
have the resources to make it possible?

Failing all that, what about an "Open" community supported macOS like Fedora
is to RHEL? (Isn't this pretty much what the Darwin project used to be about?)

~~~
SyneRyder
Apple already tried that from 1995 - 1997. It completely cannibalized sales of
their own hardware, which is where they were making their profit. Steve Jobs
cancelled the licensed clone program in 1997 & Apple acquired the largest
selling clone manufacturer Power Computing:

[https://en.wikipedia.org/wiki/Macintosh_clone#Licensed_Macin...](https://en.wikipedia.org/wiki/Macintosh_clone#Licensed_Macintosh_clones)

~~~
danieldk
I agree that it does not make sense for them. But in 1995-1997 Macs were still
largely their core business. Now Mac is just a small portion of their revenue.

~~~
ek750
I’d agree that their revenue streams are more diversified now. Hopefully in
the future their increased services revenue and decreased hardware sales vs
r&d expenses make that appealing for them

But, I think it’s unlikely given how much they’re still investing in their
hardware line.

Albeit, the hardware is not going in a direction that many longtime pro users
appreciate, and they keep coming out with nightmare “improvements” like their
painful butterfly keyboards and touchbar . With my issues in my hands, those
things are literally causing me physical harm. :(

~~~
tcoff91
I highly encourage you to try going to a rock climbing gym (or outside) and
doing some climbing. Fixed my hand pains almost immediately.

------
userbinator
_You will need a CPU with at least SSE4.1 to use macOS High Sierra /Mojave._

It's somewhat amusing to see an Apple OS behaving nicely with an emulated
modern CPU connected to 20-year-old PC hardware:

[https://en.wikipedia.org/wiki/Intel_440FX](https://en.wikipedia.org/wiki/Intel_440FX)

Incidentally this is also how some software detects it's inside a VM ---
physically impossible hardware combinations. A real 440FX doesn't support more
than 1GB of RAM. Also interesting to note that it was a predecessor of the
famous 440BX which was highly popular shortly before the turn of the century.

~~~
SharkWipf
There are many, many ways for software to detect it's running in a VM,
including ways much simpler than checking impossible hardware combinations. If
software wants to know it's in a VM it'll always be able to tell, no matter
the measures taken against it.

~~~
userbinator
The "simpler" ways are also easier to spoof. I'm talking more about things
like malware, which tries very hard to avoid researchers analysing it inside a
VM.

 _If software wants to know it 's in a VM it'll always be able to tell, no
matter the measures taken against it._

On the contrary, the VM is what the software is running on, and can always
feed the software the answers it wants.

------
esotericn
PCIe passthrough is great. Still a few kernel bugs to work out, but when it's
working it's magnificent.

Linux/OSX/Windows VM with GPU passthrough working here. The main system can be
up all the time with a "reboot" between VM's taking a few seconds.

~~~
danieldk
We have been using KVM GPU passthrough of NVIDIA Tesla cards for machine
learning two years now. Works fantastically and makes such machines much
easier to maintain.

------
exabrial
I wish I could have two things from Apple:

* Rack Mountable OSX hardware

* Virtualizable OSX licenses

Continuous Integration and automated UI testing is just not possible today.

~~~
wolfspider
I'm very interested in developer requests regarding what possible XServe-like
hardware could do if it existed. Is it the UX or feature set or dev tools that
would be desired? Is it mainly to have something more compatible with their
dev cycle? How would you set up your network? Would you like to use something
like Docker on MacOS? I think you are not alone in this reasoning.

~~~
exabrial
It's all driven by testing needs.

On my webapps, I can use Selenium IDE to simulate basic user interaction to
check for regressions in all features of an app, but also create realistic
loading of frontend servers.

There are a bunch of android tools to do the same for apps that can run in the
emulator distributed on a cloud.

On Desktop apps, people can use anything from MSFT Terminal Services to Citrix
to pound native apps into submission.

Oh man, native containers would be awesome on OSX, bonus points if we could
run a full UI.

And there's the economy of scale of "same tools" "same platform" for local
development vs cloud deployment. Makes testing so much easier.

------
heywire
FYI, macOS also runs under VMware Workstation / VMware Player (free for
personal use), provided you patch the binary to allow it [1].

[1] [https://github.com/DrDonk/unlocker](https://github.com/DrDonk/unlocker)

------
saagarjha
> We will not be using Apple’s actual OSK(SMC) key, which is an attempt to
> make your virtual machine a “Real Macintosh.”

Does macOS even boot without this key?

~~~
SimplyUnknown
I don't know how this differs with installing Hackintosh on real hardware, but
then you provide a kernel extension (kext) called FakeSMC, which emulates the
SMC chip present on real Apple computers.

So in a sense, he is not using an actual SMC key, but very probably replaced
it by FakeSMC. You can see that it is actually included in the repo he clones:
[https://github.com/SRH1605/Hackintosh-
KVM/tree/master/kexts/...](https://github.com/SRH1605/Hackintosh-
KVM/tree/master/kexts/Other)

------
xaduha
Man, some reactions here...

I wouldn't recommend starting with VFIO by running macOS, there are enough
hurdles without it. Start with Linux or Windows. And this guide is a bit
outdated now anyway.

------
rubatuga
@hernan604 You can actually find bootable iso's online, and clover files can
be edited by hand, so no need for a mac.

~~~
lasagnaphil
The paradoxical thing about this is that if you get the iso from the App Store
in an official way, you have to agree to the EULA which prohibits running it
on a non-Mac computer. But then if you pirate the software, then you are now
facing copyright laws instead...

~~~
userbinator
It is possible to download the files directly from Apple without
authenticating nor agreeing to any EULA, and create ISO from that:

[https://www.insanelymac.com/forum/topic/329828-making-a-
boot...](https://www.insanelymac.com/forum/topic/329828-making-a-bootable-
high-sierra-usb-installer-entirely-from-scratch-in-windows-or-linux-mint-
without-access-to-mac-or-app-store-installerapp/)

------
Rjevski
Instead of wasting your time trying to get this to work (and maintaining it
when it inevitably breaks after a macOS update), how about just buying a Mac
and using the time for billable work (which would pay for the Mac and still
leave a hefty extra)?

~~~
amingilani
I usually try not to come across as condescending on HN, so I apologize in
advance, but I'm only copying your tone to get the point across.

Instead of wasting your time arguing with people that made the effort to
document things, how about documenting your process on acquiring your first
billable clients so that everyone else can reproduce _that_?

~~~
Rjevski
No offense intended nor taken.

I’m not actually arguing with whoever wrote this, however I’m advocating
against actually trying this for anything productive, especially not your main
machine - you don’t want your workstation to let you down because an update
suddenly broke it and you have to screw around for hours trying to get it to
work again.

~~~
ryanmonroe
A Hackintosh is arguably more stable and requires less "screwing around" when
something breaks, because often that something is hardware and iMacs/Macbooks
are notoriously hard to repair yourself.

~~~
Kaspar0v
I have the high end model of the MBPr 15 2017 and since getting it I had
around 3 months total of down time with several replacements and repairs, at
this point I would have to argue that the whole reason for a hackintosh is so
that I can "use the time for billable work".

Not to mention that quite frankly my high end gaming pc running Mojave under
KVM is a way more pleasant and smooth experience than my MBPr.

There is not a single machine that apple sells today that is viable for a
power user IMO.

~~~
briandear
The iMac Pro seems to be plenty viable for a power user. 64 core, 128GB RAM
among other things.

~~~
Kaspar0v
0 Upgradability, EXTREMELY thermal constrained, 0 self reparability.

At least for me, that's not a power user machine.

