OpenCore bootloader – open-sourced Apple UEFI drivers, enabling Hackintosh
github.com
github.com
- 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.
I imagine you're knowledgeable as you've built one - is that a genuine risk? Or do all versions become hackable eventually?
So far all versions have become hackable (generally in a matter of days or weeks) but with Apple's transition to their own silicon I imagine the last version they put out that supports x86_64 will be the final hackintoshable build.
Hopefully I am wrong.
† Except maybe Correllium, which was a large commercial effort. Since they don't make any details public, I'm not clear if Correllium just built a sort of emulator or if they actually have the OS running "natively" on 3rd party hardware.
Any recommendations?
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.
I was a bit light on my "try not to use Ryzen" fearing the hoards of responses from the "My Ryzen works fine, it's easy!" camp.
I do agree that Intel HW is better for the hackintoshes though, even more so if you need thunderbolt!
1. You get MacOS with GPU acceleration (which is like the primary feature for making it usable).
2. You get a legit environment to run docker containers... That doesn't have to boot a VM and rob you of all your ram. If you haven't ever used containers on a metal Linux environment, you're missing out... it's much better experience than doing it on a Mac (as far as development goes).
My 2015 MBP is showing its age and I would love to build a powerful desktop as I spend 85% of my time working at the same desk. But I'm very accustomed to the Mac workflow and tooling. Years ago when I tried the Hackintosh thing I could never get iMessage to work and that made it a no-go for me.
Huh. When did avoiding tonymacx86 become a thing? I built my first Hackintosh in 2010 and relied on tonymacx86 but I haven't paid attention to the community since 2014-onwards.
In general you're much better off following advice from the Github guides, /r/hackintosh and Discord channels.
>Avoid ..., insanelymac,
Where did the tools mentioned in those guides come from then? Hackintosh scene became what it is due to countless hours poured into development by developers from insanelymac, olarila & couple of other Russian sites; almost every other major hackintosh site started as guides using the information from the aforementioned sites.
In fact the development discussion of OpenCore, happens at insanelymac[1].
[1]https://www.insanelymac.com/forum/topic/338516-opencore-disc...
He may (loosely) use InsanelyMac for OpenCore discussion, but the rest of the site is generally full of questionable and often outright wrong advice and to keep things short for the noobs I was speaking to, it's easier to steer people away from it.
Pretty much everything can be done just using the Dortania guide and /r/hackintosh and maybe the "official" Discord, if something goes wrong.
Checking the discussion shows it's not true.
>but the rest of the site is generally full of questionable and often outright wrong advice
May be you had a bad experience with the site, or may be it really isn't 'noob' friendly anymore, but that doesn't mean you should discredit the actual developers of the tools in favour of the 'How To' guides written about the very same tools.
[1] Bootloaders before OpenCore - https://www.insanelymac.com/forum/319-bootloaders/
[2] Arbitary Kext and process patching - https://www.insanelymac.com/forum/647-lilu-and-plugins/
[3] Virtual SMC - https://www.insanelymac.com/forum/topic/335292-virtualsmc-%E...
I'm just attaching the fundamental components of Hackintosh nowadays, but if we dig back in insanelymac the contributions goes back more than a decade when Apple used to sell their OS on discs. The content there are worthy of preservation at The Computer Museum.
The InsanelyMac site is riddled with bad advice from questionable sources. Eg. using the beast tools, binary patching kexts for dumb reasons, rando plist changes.
I did not have a "bad experience" per se, with the site. It's just full of unschooled people all too eager to offer bad advice.
Any mention of the "beast tools" is quite literally banned on Insanelymac, so I think you're getting the two confused. https://www.insanelymac.com/forum/topic/275941-very-importan...
(Tonymacx86 also has a lot of useful information, for better or worse, but you shouldn't start there.)
As a learning resource, it is a complete waste of time for trying to build a hackintosh.
I know it's obviously impossible that Apple would ever enter PC market with MacOS but damn, that would be great.
So basically you short change yourself on both fronts. ;-)
If you have a slightly older nVidia GPU (1000 series or older), it will work in High Sierra via nVidia's in-house drivers. But you will never be able to upgrade past High Sierra.
Edit: honestly I have no clue why I am downvoted: I really would appreciate an answer here.
AFAICT the answer is that Nvidia and Apple are not the best of friends, and Apple decided that they would not sign any newer drivers.
This may have been at least partly because it restricts the numbers of people who try making hackintoshes out of existing machines.
I think this is probably a factor in the lack of support for intel Wifi too - it keeps a lot of laptops from neing able to 'just work' as hackintoshes too
People think this based on a vague statement from nVidia's PR. It doesn't make any sense to me. nVidia has continued to release (minor) updates for the High Sierra drivers, and Apple has been perfectly happy to sign those. Also, this is a technically-advanced audience that would probably have no trouble installing unsigned drivers.
I really think that nVidia realized they would have had to do a major driver rewrite for Mojave (because much more rendering goes through Metal) and decided it wasn't worth the effort. The Mac drivers were clearly a very low priority for nVidia; it took the better part of a year before the company added compatibility with their new Pascal graphics cards, and even then the drivers had all sorts of bugs with applications like Little Snitch[1]. It's even possible that nVidia had some knowledge of the upcoming ARM transition, and decided to cut their losses ahead of time.
1: https://www.obdev.at/support/littlesnitch/483957225401957
csrutil disable && csrutil enable --without kext
Now unsigned kexts will be allowed to load (while leaving the rest of System Integrity Protection intact).For most software this requirement would be a massive problem, but I'm not sure that applies to the type of person installing 3rd party graphics cards in Macs...
Oh well, it is what it is...
https://9to5mac.com/2018/05/05/nvidia-egpu-thunderbolt-macos...
Not sure if the same hack could be used on a Hackintosh (with an old enough card). But for now I would just use High Sierra if you have an Nvidia card, unless you really needed something in a later OS and the hack made it possible. I downgraded that 2012 to High Sierra, and keep other older machines on it as well (didn't have a choice with my 2019 16"). It runs very smoothly and currently has enough software support (e.g. latest Office 365 still supports it).
For now, there are no Nvidia web drivers posted for anything after macOS 10.13.
I've done it a couple of times and only takes an hour, with plenty of guides available on YouTube too. Especially if you need a high performance system, putting one together yourself can save thousands than purchasing from Apple.
If yes, it's a good indicator you're going the right path.
If no, there be dragons.
This is good general advice for updating even apple-built MacOS machines.
To a lesser extent good advice for non-hackintoshes
Have you ever had to upgrade/change something hardware-wise to keep up to date with the latest MacOS versions?
Question is, can I buy some "optimal" Hackintosh hardware and expect it to work for upcoming MacOS versions for years to come (at least 3 years)?
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...
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.. :)
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.
The bigger argument for macOS is the ergonomics of the hardware. Precious few Windows laptops hold a candle to a MacBook.
Windows 10 actually doesn't seem too bad, except for the vestigial Metro crap. Power Shell looks interesting. They seem to have worked out what to do with .NET at last. WSL2 seems decent too so they finally seem to be back on a productive track.
I think the issues windows has had over the years come down to the fact that the 'misses' they've had are core parts of the OS that you can't avoid using.
I do genuinely think Windows 10 is the best version of windows though, and with WSL they're definitely headed in the right direction.
Microsoft trashed the core UX twice (Vista and 8)
Cmd-tab allows to switch to an app, but the Dashboard view lets me get to a specific window within an app directly from whatever view I'm currently in. 4 finger swipe up, and clickity click, I'm in the document I'm wanting
That sounds like Mission Control.
Dashboard was the name for a widgets system in mac OS.
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.
Still have a Windows 10 machine, and although I do have some love for a few Windows-only applications, it just feels like an uphill battle whenever something isn't working.
Coincidentally, I run into this on macOS due to System Integrity Protection.
But what I like about SIP is it's easy to turn off and never be bothered by it again...
I can accept that this works for most people. They don't want to mess with the UI and want to "solve problems." But for me the two were linked, and I had to ditch OSX. I had similar problems on Windows but Windows lets you work around the OS if you really need to.
The semi-exception where I occasionally run into problems is TCC. It's usually not a bother on the command line, but starting with Mojave it can occasionally interfere. But, since Mojave came out in late 2018, if you haven't touched macOS in years you didn't run into that. :)
(I really really really hate modern TCC...)
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.
Quibble, I don't think this has to do with being a walled garden—or at least, I think you may be using the term in a different way than I generally think of it. Apple could have much better legacy support and an equally well designed OS.
Some older applications might look out of place, but that's preferable to not letting them run at all—you can still choose to stick with newer software and have the same experience. Alternately, Apple could stop overhauling the OS's visual design for no reason every seven years...
> 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.
To enable it, make Finder the active application, then click View → Show Path Bar (or use the keyboard shortcut ⌥⌘P).
I find myself facing inconsistent and surprising behaviors with Windows despite it being my primary OS at work.
Growing up with Mac and Linux makes Windows seem quite strange :)
- Window flickering on resizing, both have it but MacOS has a lot less of it.
- Being able to customize any shortcut menu item in any app
- Finder, Document proxy icons and open/save dialogs are just leagues ahead of Explorer.
Everything in Windows 10 feels like it's in beta. There is no polish, that final 1%, to any of it.
When I was 16 I decided to Hackintosh my Dell and absolutely fell in love with Snow Leopard. I've used OS X in some form ever since.
The macbook hard drive died and so I decided to try to use the PC as the daily driver.
There are many reasons for it, but it boils down to the fact that I enjoy using macOS and I don't enjoy using Windows.
If I'm not enjoying using a piece of tech, it's not worth the investment - regardless of price.
Yes, Macs are expensive, but I don't mind paying more money to get an experience I actually enjoy. That to me is value, and why mac / pc benchmarks and price / performance comparisons are irrelevant to me as a person.
I have, and do use Linux semi regulary, but I customize NOTHING. I don’t want to manage my computer. The defaults in macOS is sane enough.
It's simple: Microsoft doesn't prioritize making it better. They prioritize funneling people into more Microsoft products like One Drive. They are following the general trend of IT: Fuck users.
By the way there are other operating systems besides macOS and Windows. Seems to be lost in a lot of these discussions.
I do use Firefox/Thunderbird on both, so perhaps I’m missing some special apple sauce.
What models would you consider "reasonably priced" ?
For me, the reason for a hackintosh is just that I am tired of all the cables and having to swap between the two setups (like having one monitor for working, and one for gaming) while utilizing the performance when working.
I also want to utilize my iCloud Drive symlinking hacks to sync files / dotfiles between systems.
My gaming rig is currently running i4790k with a fairly decent motherboard (Asus Maximus VII) that I bought used for $200 a two years ago. It still performs like butter as long as you have a decent gpu connected to it. I seriously recommend this setup if you want to save some dough (or maybe the new Ryzen CPUs are better now tbh).
A sidenote regarding monitors: These are some exciting times to be working from home combined with having an interest for gaming due to the new monitors coming out, working for both.
I am currently thinking about the LG 38WN95C-W. Really expensive, but if you use it 8 hours a day for 5 years, I think I calculated it to be like 50 cent a day. :)
edit: Oh, and yes, as someone below mentioned, I love macOS and a lot of the things I work on require me to work on it.
What do you on macOS that isn't available on Windows? Really curious.
I don't want my fundamental tool to be windows because I don't enjoy using it for hundreds of reasons - there's really not much more to it for me.
If there's some kind of alternative for MacOS now, I'm keen to know more.
This is the first year that kind of monitor exists. :)
By the way, I've always found having a dumb usb switch (for each device) and a dumb video switch to be the best way to eliminate incompatibilities. But everyone wants to get fancy and "smarten up" their kvm to use hotkeys and it screws with latency or keyboard state or just adds weirdness.
So I think the smartest place to put kvm functionality is probably at the keyboard, in the mouse and the monitor.
Or we should have an open kvm solution
(I had no idea such a thing existed in the first place!)
I can't vouch that it's not a keylogger given it sounds like some brand you'd find on AliExpress, but it does what it's supposed to do.
Since it's plugged into my desktop and I leave that running it's powered by that, but it also has a micro USB input for external power.
Exactly the same monitor I'm planning to get to my home office/games computer combo. In fact, despite the price, this seems to be the most awaited monitor of all year -- finally something that combines great performance, adult design without garish gaming elements, and office style needs (looking at TB3/USB-C with PD&DP).
But it looks like the 2640 is a 65W part, so not excessive. Huh, not a bad buy for a few bucks, looks like you could get a 6C/12T board and cpu for about £60 from ebay.
(I don't need more computers, I don't need more computers...)
I've had enough of macos & its crappy software quality.
Windows 10 has been fine so far (though the control panel is a complete mess, they really need to start from scratch!).
This doesn't sound right at all for modern Windows. You sure it isn't a hardware issue?
Source: I installed Catalina via OpenCore on a new machine last weekend. It's very similar to installing Arch Linux for the first time.
Depending on how much gaming computer you need for the games you want to play, it sounds like the better solution is to just build a gaming computer that runs Windows. That's my setup - a Linux desktop machine (small form factor, running on a machine from two generations ago, it's sufficient for the things that I need to do locally, and if I need to spin off a big compile I have cloud resources to do that) and a six month old gaming rig that runs Windows.
I'm done investing workstation level costs into Apple platforms, I just can't risk them dropping support down the line anymore. Zero guarantee that another GPU will ever be released/supported for that Mac Pro.
Some might say "Surely they are not just going to develop that whole computer then discontinue it", why not? They did exactly that for the computer it was created to replace.
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/
[2]https://trends.google.com/trends/explore?date=all&q=Hackinto...
(Mind, I still think the scene's days are numbered due to Apple Silicon.)
The whole point of running MacOS was to get POSIX compliance with a polished GUI. No Windows, pretty terminals smooth fonts good UX.
Now MacOS has no edge over Ubuntu in any sense. Ubuntu runs Docker natively and Cuda. It has an insanely user friendly installer, it runs on a wide range of hardware with no issues and its default GUI is great.
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.
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.
Also it is hard to underestimate the amount of polish that Apple puts into their UI. Overall it is a pretty good experience especially compared to some of the windowing systems on various flavors of linux. Polish is something that does not come easily in the open source world.
Apple's cheapest Mac configuration, the Mac Mini, starts at $799 for a measly i3 4-core processor and 8GB of RAM with no dedicated GPU. For the same price, I can put together something of at least 2X the performance: i5 6-core, 16GB RAM, and an RX 570/580 GPU.
Granted for Hackintoshes you're on your own for debugging but as others below have said and on r/hackintosh, the end product is oftentimes very stable. So tradeoff can be worth it, especially as you go up the product stack.
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.
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.
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.
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?
> 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.
You can take the iPhone CPU and make it into an ARM CPU for a laptop that can compete with Intel and AMD (somewhat) easily. That same architecture is in no way reflective of what people expect out of a workstation. Unless Apple is going to start running all of their own internal workloads ("Apple Cloud") on their own CPUs, I don't see it happening. And in order to do that, they're going to have to get mainline OS support for it, which again is a very different path to market than doing everything in-house with OSX.
Same architecture but this is all about the silicon and what extra hardware accelerated features can apple build into the OS by adding modules to their SoC. That will have little to do with the fact that it's using the ARM architecture in relation to getting those features to work on non Apple Silicon devices.
Yet it cost less to build than the Apple charges for Mac Pro wheels.
Another useful guide from r/hackintosh lists hardware to avoid: https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/
Throughout initial set up and upgrading through different releases, I have been very impressed by the quality of the documentation.
I'm working on some games and apps but only publishing it for Android, cause I don't own a mac.
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).
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..
I run Ubuntu on my 2013 MacBook retina. Everything works!
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.
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 :)
The Mini 10, otoh, was totally different and a royal pain to get working.
It was actually a pretty decent netbook running OS X once we got it running.
I'm not looking for a cheap machine, I'm just looking for good value performance and expandability for what I'm paying.
The cheapest mac pro you can get with modern hardware is $6000. My hackintosh is $1500 because I do like a fast machine that I can play games on every now and then.