
OpenCore bootloader – open-sourced Apple UEFI drivers, enabling Hackintosh - reimertz
https://github.com/acidanthera/OpenCorePkg
======
runjake
Hackintoshes are very stable if:

\- You buy the right hardware. Intel CPU and AMD GPU. Choose Ryzen if you like
those and like tinkering and hacking on your OS a lot. And no, it's very
unlikely your Nvidia GPU will ever work with a recent macOS.

\- You use the vanilla method of macOS install. The dortania guides along with
/r/hackintosh are all you need. Avoid tonymacx86, insanelymac, and any
software with the word "beast" in the name. Run screaming from them. Do not
mess with the OS install, do not put any kexts into the OS install. Put
everything into EFI.

\- You set aside the occasional day for OS updates (and possibly updating
OpenCore). You do not want to update willy-nilly and you definitely want to
wait a day or few for the more brave to guinea pig any issues.

I've been using a 8700K/RX580 hackintosh for years now, and in many ways, it's
been more stable than my actual Macs -- and certainly more modular and
expandable.

~~~
ssijak
Dont use Ryzen, virtualization does not work, including Docker and some other
apps like Adobe ones are buggy. Other than that I agree. I made a hackintosh a
month ago for half the price of what I would need to pay Apple and it is rock
solid. Everything works including all wireless features like sidecar, airdrop,
etc. Sleep, thunderbold, rx5700xt, everything is working well.

~~~
Teknoman117
I use Ryzen in my "Hackintosh". However, these days I've been using GPU-
passthrough and running macOS in a VM on top of Linux.

~~~
spott
This is what I'm planning on doing. Have you had any issues? The thing I'm
most concerned about is hooking my apple id up to it for icloud.

Any recommendations?

~~~
Teknoman117
The recommendation to use an AMD GPU still stands, since it's passed into the
VM. I've been using an RX 560D on Catalina (the one that didn't advertise
having 2 fewer CUs, grrrr) without any graphical trouble.

iCloud mostly works, the only two apps that I can't get working are iMessage
and FaceTime. This is a common issue for all Hackintoshs, it's not a VM
specific problem. It comes down to needing to provide a real Apple SN that
matches the kind of Mac you set your Hackintosh to identify as. I'd half
recommend picking up a broken / for-parts iMac off eBay to lift the serial
number off of (and to say you do actually own a Mac =P ).

I did have some trouble doing passthrough of NVMe drives in the past. I don't
know if this was the VM's fault or the fact that it would get hooked by Linux
on the host boot and then be unbound before booting the VM. I haven't tried
again in the last 18 months, so it's entirely possible any issue there got
fixed. I've been booting from an iSCSI volume from my NAS (QEMU hides this
fact from macOS).

I should add that I moved away from the Apple ecosystem awhile ago in terms of
my personal data. I use a mix of Google services and NextCloud (hosted on my
own hardware). My Apple ID getting banned isn't too much of a concern for me.
I've never heard of someone actually getting their Apple ID blocked for using
a Hackintosh, I figure there are so few people actually doing it it's not
worth it to Apple to enforce.

That being said, I don't know how they'd respond to a wealthy company using a
bunch of Hackintoshs. I still don't understand how they expect people to
properly do CI/CD for iOS without macOS in a server / virtualization
environment though. My employer uses rack mount sleds for Mac Minis, but
without proper IPMI, managing them is a pain. I wish you could license macOS
for a virtualization environment so you could deploy a few 1U dual socket 64
core EPYC servers (128 core / 256 thread total) rather than 4x 6 core boxes
per 1U.

Either that, or they should let the toolchain run on more than just Macs. I
think that is one of the major features of React Native - you can develop your
apps on whatever machine you want. You only need a proper Mac when you're
bundling for release.

------
francis_t_catte
I use OpenCore, on my 2010 27" iMac of all things. Needed to enable target
display mode and native brightness control on the new K610m GPU. So in
essence, my actual Macintosh is now a Hackintosh in Apple's eyes.

If you have a 2010 or 2011 iMac with a dead GPU btw, check out this thread on
the MacRumors forum: [https://forums.macrumors.com/threads/2011-imac-graphics-
card...](https://forums.macrumors.com/threads/2011-imac-graphics-card-
upgrade.1596614/)

~~~
drewg123
I did something similar.. I had an original Mac Pro, which didn't support
64-bit MacOS because Apple's UEFI ran in 32-bit mode and Apple's boot loader /
kernel never supported switching into 64-bit mode from 32-bit mode. So to use
that machine for 64-bit driver development, I had to make it into a
"hackintosh", where they had a UEFI that would run in 64-bit mode..

------
reimertz
I bought an EGPU 1.5 years ago with the idea of replacing my gaming computer
with my MacBook Pro running Windows. But due to the limitations of Thunderbolt
3 and the throughput from my enclosure, I cannot get consistent frame rates
which is critical for playing fast-paced competitive games like Apex legends.
It really sucks and this point, my $1000 EGPU is currently acting as a fancy
adapter + charger + enabling smooth scrolling when surfing the webz.

But I have been exploring the idea of converting my gaming computer to a
Hackintosh instead. This looks very promising since I require stability and
security.

I just wished there was a combination of above solutions; no need to
compromise between stability and performance.

Finally, some might say; just buy a Mac Pro! Well, I cannot motivate $6000
Just because I want to game every now and then.. :)

~~~
blackhaz
Why bother with Mac? I've just built a Xeon E5-2640 using a Chinese X79
motherboard. NMVe, proper Radeon RX580 GPU - in an open build test bench
frame. All in all, something like $250 on eBay for everything. Runs the games
I like well and looks great on the table, especially with two big red LED fans
in front. :-)

~~~
breakfastduck
Some people just greatly prefer using macOS over windows or linux and don't
want their entire computer experience to be windows just because they play
games now and then.

~~~
mrweasel
macOS isn't exactly perfect, but I don't know any other desktop operating
system that comes even close to macOS in terms of polish and user experience.

I understand that Microsoft can't just redesign Windows over night, but I also
fail to understand why Windows isn't better. Better as in more consistent and
more responsive.

As much as I like to consider other operating systems, the reality is that I
don't want the hassle and macOS just works.

~~~
shawnz
Are you primarily a mac OS user? I am primarily a Windows user and when I
occasionally have to use mac OS, I find myself regularly facing many seemingly
inconsistent behaviors that really surprise me. I'm inclined to think it is a
matter of familiarity more than anything.

~~~
breakfastduck
This is likely a huge part of it.

I'm primarily macOS but have a LOT of experience with Windows.

I still feel like I'm fighting against Windows to do anything. I just think
different people are suited to different workflows & macOS and Windows are
very very different to each other.

~~~
R0b0t1
Having done dev on OSX you are going to be constantly fighting the machine.
Apple is worse about walled gardens than MS is. With Apple, you need to do
exactly what they want or you will have pain.

~~~
breakfastduck
My experience is the exact opposite - but we're probably looking for different
things.

That walled garden approach is why, in my opinion, the OS feels as good as it
does. MacOS feels like a mature operating system that Apple have created with
restraint and control - where to me Windows feels like a piece of legacy
enterprise software with a shiny UI.

If I wanted out of a walled garden, there's no way it'd be to a non *nix based
OS - especially not to one that uses it's start menu to pump ads at me.

~~~
michaelmrose
A definition courtesy of wikipedia

> A closed platform, walled garden, or closed ecosystem is a software system
> wherein the carrier or service provider has control over applications,
> content, and media, and restricts convenient access to non-approved
> applicants or content. This is in contrast to an open platform, wherein
> consumers generally have unrestricted access to applications and content.

By this definition Mac OS isn't a walled garden, save for kernel modules,
although it could become so in the future thus its cohesive design is to be
pedantic a product of itself rather than a closed ecosystem. A product of
actually having a mental picture of how the whole thing works and a cohesive
set of applications to go with it.

Historically windows has without third party applications been a pretty
garbage experience even its image and text editors were so bad that you could
randomly generate urls until you hit an alternative and most likely get a
better choice. Its not shockingly that a platform that doesn't even know what
good look likes doesn't have an ecosystem full of anything that represents
this.

------
Abishek_Muthian
The bootloader development in Hackintosh scene never cease to amaze me. I
remember the lead developer of Clover bootloader[1] Slice, still developing it
on his old Dell with 32 bit Snowleopard when it was being used for Mountain
Lion and later.

But the interest in Hackintosh seems to be slowing down[2]? , it's not like
Macs have become affordable, if anything Mac Pro is prohibitively expensive
and hackintosh generally made more sense to those struck with underpowered Mac
Pro.

Most of all, what will happen to the Hackintosh scene due to Apple Silicon?
Will the community take up the challenge and make macOS work on Raspberry Pi
10(I understand that Apple Silicon is not vanilla ARM spec) or fizzle out?

[1][https://sourceforge.net/projects/cloverefiboot/](https://sourceforge.net/projects/cloverefiboot/)

[2][https://trends.google.com/trends/explore?date=all&q=Hackinto...](https://trends.google.com/trends/explore?date=all&q=Hackintosh)

~~~
Wowfunhappy
I can't explain those Google Trends and I won't blame you for trusting them
over the feelings of some guy on the internet, but it doesn't match my own
experience at all. On the contrary, Hackintosh feels like it has become bigger
and more mainstream, relatively speaking.

(Mind, I still think the scene's days are numbered due to Apple Silicon.)

~~~
tinco
Maybe running Hackintosh has become so easy you need less Google queries to
achieve it!

------
nhojb
I'll give a big vote of thanks to the OpenCore developers.

Clover had constant stability problems during boot on my hardware (Coffee
Lake, Z390), but OC has been stable since day one (v0.5.6 IIRC). I've not had
a single issue since switching.

Also the documentation is second to none.

------
elagost
As someone who used to do this myself, I don't quite understand why people
still go through all the effort to run macOS. In the past I've built
Hackintoshes on desktops and laptops, and it was fun to accomplish (audio
through HDMI was especially tricky!), but in the end it was slower, less
stable, and not nearly as useful as running Linux on the same hardware. I run
Linux on everything these days.

What's the draw? Better off buying a mac if you want the "Apple Experience"
anyway. If you don't, I don't imagine why you'd want anything to do with this.

~~~
kitsunesoba
I switched away from a hackintosh tower to a real Mac recently because things
lined up for that to make sense, but previously I hackintoshed because nothing
came as close to checking all of my boxes for a desktop environment as even
just out of the box macOS.

No amount of effort spent on customizing Windows does the trick because of
things about it that are unchangeable (like its terrible text rendering), and
while a Linux setup can get close (especially if eschewing a monolithic DE),
it requires pouring countless hours into it to get it there, and even then
many details are wrong and random things are flaky.

------
read_if_gay_
What are everyone’s thoughts on the future of Hackintoshes now that Apple is
switching to ARM?

~~~
nutjob2
It's probably 2030 before Intel Mac are no longer usable, which is forever in
tech time. ARM seems to be spreading its wings when it comes to high end CPUs
at the moment (for example, the 96 core 4 thread ThunderX3) and it's not a big
stretch to think that they will become commodity parts for desktops and
servers in the near future, especially if Microsoft follow Apple's lead. Given
brisk competition and open ARM licencing is quite likely to give x86 a run for
its money and takes substantial market share.

Some people suggest that Apple will do some special custom hardware in the CPU
that will mean Hackintoshes are impossible, but any hardware can be emulated
in software, so it then becomes a performance issue. Maybe your ML workloads
will suck compared to Apple hardware, for instance.

I think the biggest danger is that Apple ARM hardware doesn't support non-
Apple GPUs, but even then some enterprising hacker will probably accept the
challenge and enable a Linux driver bridge or the like.

~~~
my123
macOS arm64 can run on non-Apple hardware using a relatively lightly changed
KVM (and the Qemu-side changes are even less intensive than the iOS on Qemu
project). However, it doesn't come without compromises on most hardware.

What I can enumerate as risk factors for running macOS arm64 in a VM:

\- ARMv8.1 atomics are mandatory. This excludes Cortex-A72 devices, like the
RPi4, and earlier generations.

\- 16KB page support are mandatory, excludes the RPi4 and other devices too.

\- Rosetta uses an MSR to switch the memory model, this makes x86 threads have
to all run only at one core at once on Arm CPUs where there isn't a stronger
memory model. Notably, some Arm server CPUs provide TSO, making this a non-
issue, and Nvidia's Tegra Xavier CPUs provide sequential consistency, making
it a non-issue.

\- PAC, not a big risk factor, trap once and then patch to the non-PAC variant
at worst for instructions that aren't in the NOP space.

\- FP16/dotproduct: provided in HW from quite some other manufacturers, and
even when it isn't, you could feasibly emulate those fast enough.

On GPUs, Metal paravirtualization exists in macOS 11, maybe would be better to
target that for reverse-engineering purposes.

~~~
saagarjha
> Rosetta uses an MSR to switch the memory model

Even if you give up on Rosetta, there’s all the other MSRs you’ll need to
patch–there’s not a huge number of these, but since EL0 has direct access to
at least one of these you can’t just patch the kernel.

> PAC, not a big risk factor, trap once and then patch to the non-PAC variant
> at worst for instructions that aren't in the NOP space.

You know, I don’t think Apple really uses the backwards-compatible encodings
at all. Probably since they don’t need to?

~~~
my123
Hello,

> Even if you give up on Rosetta, there’s all the other MSRs you’ll need to
> patch–there’s not a huge number of these, but since EL0 has direct access to
> at least one of these you can’t just patch the kernel.

APRR can only remove permissions, not add them. As such, it can be stubbed
out. The other MSRs are tunables for CPU errata workarounds, which can just be
stubbed too.

> You know, I don’t think Apple really uses the backwards-compatible encodings
> at all. Probably since they don’t need to?

You just need to trap once for each time you see them and then patch it there.

------
steveharman
My new Ryzentosh is faster (single core Geekbench results) than any of Apple's
hardware (iMac Pro, Mac Pro...)

Yet it cost less to build than the Apple charges for Mac Pro wheels.

------
dopu
It was incredibly worth it for me to turn my gaming PC into a hackintosh, if
only for the experience of running macOS on strong hardware without needing to
spend thousands of dollars. Unfortunately, I can't upgrade higher than High
Sierra, since I'm using an Nvidia GPU. So I'll have to switch to AMD GPUs at
some point down the road. I suppose that's what I get for using proprietary
software.

~~~
hashmymustache
You definitely can use later OS releases just need to manually install the
drivers using something like [https://github.com/Benjamin-Dobell/nvidia-
update](https://github.com/Benjamin-Dobell/nvidia-update)

~~~
acorad
There is no support for newer nvidia gpus on Mojave and newer; not even this
script can help, correct me if i'm wrong.

------
eddyg
Is there a _current_ "most compatible"/"recommended" hardware list somewhere
so if you wanted to buy parts for a new Mac Pro-like Hackintosh you'd have the
best chance of "everything working"?

~~~
MarioMan
tonymacx86 has maintained a recommended hardware list that gets regularly
updated here: [https://www.tonymacx86.com/buyersguide/building-a-
customac-h...](https://www.tonymacx86.com/buyersguide/building-a-customac-
hackintosh-the-ultimate-buyers-guide/)

Another useful guide from r/hackintosh lists hardware to avoid:
[https://dortania.github.io/Anti-Hackintosh-Buyers-
Guide/](https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/)

------
djmobley
Have been using OC without issue for around six months on my Hackintosh.

Throughout initial set up and upgrading through different releases, I have
been very impressed by the quality of the documentation.

------
atum47
is a hackingtosh the cheapest way of developing apps for iOS? should I
anticipate any problems in case I go that way?

I'm working on some games and apps but only publishing it for Android, cause I
don't own a mac.

~~~
skrowl
I build iOS apps using Visual Studio 2019 + Xamarin on Windows, then running
macOS in a VMWare VM that basically just functions as a build server (Windows
communicates with it via SSH). You can find lots of YouTube videos describing
how to do it.

It's technically against the macOS terms of service, but the macOS terms of
service are likely illegal anyways (monopoly bundling of hardware + software,
etc).

------
VWWHFSfQ
I never understood the appeal of Hackintosh. Linux has a hard enough time
getting touchpad, display, suspend/resume, etc working on regular PC laptops.
Does any of that stuff have hope for working well on reasonably modern
MacBooks? Maybe this is more for reviving a 10+ year old Apple computer with
Ubuntu? I understand that it's kind of fun and interesting but I feel like
you're just punishing yourself if your goal is to actually try to use it day-
to-day. Just get a Dell.

edit: I now realize this is for running macOS on PC hardware. I remember that
I had a coworker back in like 2008 that booted his Dell Mini 10v Netbook with
Mac OS X and it was fun to look at but comically non-functional. But he forced
himself to use it..

~~~
Nursie
> comically non-functional.

I had an eeepc 901 years ago, with an atom chip, and I turned it into a
hackintosh running snow leopard. It worked great! Way better than with the
original software on it.

Hackintoshes can be really good. Not all are, and you have to be careful about
updates sometimes, but it can be very worthwhile. I would probably have it
bootable as an option on my current Ryzen workstation, but I went with an
nvidia graphics card so it's a no-go. Good thing I also love debian.

~~~
ornxka
I'm amazed by this. I started using an EeePC 901 a few months ago, and it
barely runs Firefox. I don't know if that says more about the computer than it
does about Firefox, but I had no idea such a thing was even possible.

~~~
Nursie
It's quite some time ago now! I don't think I even have mine any more...

I guess Snow-Leopard was pretty lightweight compared to what we have now. IIRC
I also modded the machine a bit with a 64GB aftermarket storage card. Maybe
doubled the RAM too.

Eventually I think the aftermarket storage card died, and I went back to
debian/XFCE, then to debian/LXDE, in an effort to try to keep it both current
and usable, with chromium for a browser as FF was too heavy.

Pleased to hear someone has one still up and running :)

