[Guide] i7 9th Gen + H370 + MSI RX 5700XT MECH OC ~ READ CAREFULLY

[Guide] i7 9th Gen + H370 + MSI RX 5700XT MECH OC ~ READ CAREFULLY

Hello everyone!

After two weeks of trying, numerous hacks and fixes and reinstalls, I have finally got a MacOS Catalina 10.15.7 up and running, with no issues at all. I will be detailing how I achieved this, maybe it will help out people who got stuck. Especially those people who were dumb enough like me, to cheap out on $20 and got an MSI MECH card. Here are a few shots of the current build:

System installed, all components are visible and good to go

CPU scores on GeekBench5

MSI RX 5700 XT MECH OC OpenCL score on GeekBench5

MSI RX 5700 XT MECH OC Metal score on GeekBench5

And here's a list of my current components:

  • CPU =› Intel Core i7-9700 (non-K non-F version)
  • MOBO =› ASRock H370 Fatal1ty Performace
  • MEM =› Kingston HyperX Predator DDR4 CL13 @ 2666MHz
  • PSU =› SilverStone Strider 700W
  • SSD#1 =› Kingston SUV400 480GB
  • SSD#2 =› Intel 660p 1TB M.2 NVME
  • SSD#3 =› Intel Optane 900P 280GB U.2 NVME
  • GPU =› MSI RX 5700 XT MECH OC

Everything is working smooth and nice, however the ride here was incredibly bumpy. Let me tell you a bit about that.

The first steps I took:

I have found a group online call iHackLine, who - for a small amount of donation - give you a Clover EFI and installer and complete guide to get MacOS up and running. This was my first mistake. Don't get me wrong, the guys are nice, they answered roughly 60 emails, multiple times a day. However this kind of solution is for people who don't care about their system, buy the perfect parts and just want it done. There is a tiny bit of issue with this tho, the same I have encountered. IF anything goes wrong, you are in the dark, and you rely on other people solving things for you, often waiting hours or days. For this very reason, I would not recommend this method. And this is not about just this group, this is about the "post your EFI" or "fix my EFI please" kind of posts. I wasted two weeks with this mentality.

Getting in the right direction:

After two weeks of numerous crashes, black screen, installer failure, I have joined the Discord channel called /r/Hackintosh Paradise (invite link: https://discord.gg/u8V7N5C ) and threw in my problem.

The very first reactions were about my GPU, then when they realized I'm still using a Clover EFI built for me and not by me, I was told to get an OpenCore up and running from scratch, and I will have better chances.

So that's what I did. I took a peek at OpenCore before, but it seems too much of a hassle, and too complicated at the time. Note that I'm a software developer, so this was just pure laziness on my end, for which I have paid the price.

The most important thing that I can tell you when working with OpenCore is that: READ THE GUIDE AND FOLLOW IT EXACLTY. Took me about 30 minutes to get an installer and a complete working OpenCore pendrive up without a hassle. It's really not hard, it's really not bad, just takes a little bit of time.

After booting up OpenCore, I have met once again the dreaded Black Screen and nothing else issue.

Some things I have tried:

So after the black screen problem I have tried numerous fixes, such as:

The latter one was a hassle, because of the PCI path of the GPU. Everyone has different PCI Path depending on the motherboard, the controller etc. If you want to figure it out, the easiest method is to boot up a Windows installation, and find it in the Device Properties

https://dortania.github.io/Getting-Started-With-ACPI/Universal/spoof.html

Once you got the address, you need to convert it to a PciRoot(num x num)/Pci(num x num, num x num) etc etc.. Then you need to add that key into your config.plist under the devices section.

The links above have way more than the required information to implement these fixes for yourself, so before proceeding, please try them and see if it works for you, because from now on, things will get risky and complicated.

The actual Guide...ish:

If you have reached this point whilst reading everything above, you are already smarter than I was 2 days ago!

Here are my recommendations of what to do/get before even starting anything at all:

  • If you are a Linux user by day, get 2 pendrives with one containing a live linux, and one for OpenCore.
  • If you are a Windows user by day, get 3 pendrives with one containing a live linux, one containing a windows installer - in case you go mad and give up - and one for OpenCore.
  • Make sure you follow the Pendrive Size guidelines laid out by OpenCore Documentation.
  • Try to understand everything when you are creating OpenCore installer. Read 3-4 times if necessary.

IF YOU ARE PLANNING ON BUYING AN MSI 5700 XT, DON'T!

Seriously, don't do it. Be smarter than me. When it comes to MacOS, it's REALLY PICKY about the GPUs. It might work out of box, might not even boot. Get the GPU closest to the REF 5700 XT vBios-wise. That would be anything from Sapphire. Nitro+ or Pulse, you have a lot better chance to get it up and running. Don't cheap out on this one if you are just buying a card.

If you already have an MSI - or anything else really but Sapphire - FIRST TRY THE STEPS BELOW, then come back to this section if it's not working. I will put it in SPOILER so you will not be tempted to go this route right away.

So you have tried everything and all failed. When I came to this point I was so desperate I was willing to trash my card completely to get MacOS up and running. If you guessed at this point, you probably guessed right. We are doing a vBIOS flash on the GPU.

!DISCLAIMER! I AM NOT RESPONSIBLE FOR ANY DAMAGE YOU DO TO YOUR CARD... THIS GUIDE IS PURELY INFORMATIONAL AND CAN CAUSE IRREVERSIBLE DAMAGE TO YOUR GPU. IF YOU DO CONTINUE THAT IS SOLELY AT YOUR OWN RISK WITHOUT TRYING TO HOLD ANYONE ELSE RESPONSIBLE !DISCLAIMER!

If you are desperate or brave enough to come to this point, I will outline what I did with my card to get it up and working.

First of all, get AtiFlash or AMD VBFlash. AtiFlash is a tool that works in a DOS environment. IT IS RECOMMENDED TO FLASH OUTSIDE OF WINDOWS, IN A DOS ENVIRONMENT. Windows can screw up a lot. Sudden resource spikes, UAC, tons of stuff can go wrong that will kill your card. However, when I booted up a DOS with AtiFlash, it couldn't see my card, while in Windows it did, so I had to use Windows.

First I will help you pick the correct BIOS for your GPU, then you absolutely have to follow the correct flashing guide down to the letter. The flashing guide itself can be found at: https://bit.ly/3jvBCnC

To find a correct vBIOS for your card, we will use TechPowerUp!-s vBIOS database. Head over to this site - https://www.techpowerup.com/vgabios/ - and filter for Sapphire cards only. MAKE SURE YOU MATCH THE MODEL AS WELL! DO NOT TRY TO FLASH 5700XT ON A REGULAR 5700, ETC! If you open a vBIOS link you will see a bunch of information on left-hand panels. Make sure that these absolutely match with your own card:

  • Memory Types (Samsung and Micron in my case) - If they do not match, DO NOT FLASH THIS BIOS
  • Every entry of Memory Timings - If they do not match, DO NOT FLASH THIS BIOS

Once you got a correct, matching Sapphire vBIOS follow the GPU Flashing guide above.

If you have correctly done the GPU flashing, and you can boot up and get image, you can continue down below. If you have added any GPU Black Screen fixes to your Config.Plist, remove them, but keep the agdpmod boot argument. If you have screwed up flashing, then get back to the flashing guide again and check the restore part.

If you are done with above, I will then start detailing what worked for ME with MY SPECIFIC PARTS to get MacOS up and running. If you have different PC parts, you can try to follow along, might work if there are just slight differences.

  • Create an OpenCore installer from scratch. Follow the guide down to the letter, gather files specific for your PC, do not try to copy my SSDTs and KEXTs.
  • Follow the guide exactly and gather your KEXTs, drivers and SSDTs. I will put a list below with what worked for me.
  • Remove dGPU from PC, use iGPU (Intel UHD 630 in my case) for installer.
  • If you can install the system on a regular SSD instead of an NVME, please do so. If you absolutely have to install on NVME, try WITH AND WITHOUT NVMeFix.Kext. For me, NVMeFix.Kext caused installer crashes with my Optane 900P. Without the kext, the SSD works perfectly!
  • If you see flickering on the iGPU or even Black Screen (Please note we are talking about H370 UHD630 now), you might have to add a framebuffer-patch to your iGPU.

Your iGPU is most likely at PciRoot(0x0)/Pci(0x2,0x0), however that can differ, so if possible, first confirm the PCI path. If it matches, you can add the following section to your config.plist (Devices part) and try again. This has fixed the flicker and black screen for me, however I am not a pro by any means, it might contain unnecessary parts:

<key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>AwCYPg==</data> <key>device-id</key> <data>AwCSPg==</data> <key>framebuffer-patch-enable</key> <data>AQAAAA==</data> <key>framebuffer-stolemem</key> <data>AAAwAQ==</data> </dict>!<

  • Install System with iGPU only. You need to have a complete setup, as in Logged in, got User, has password, so complete system up and running on the iGPU.
  • Turn off PC, install GPU once again, and plug in ONLY ONE MONITOR if you use a multi monitor setup. Restart PC.

If you encounter a black screen at this point, you can go through this list:

  • Make sure you get BIOS POST screen on the dGPU. Nowdays BIOSes should be smart enough to recognize you have added a card, and switch to that already. However if you get no screen at all, not even BIOS POST, then the issue is with the card or motherboard, not MacOS. First solve this then continue.
  • Make sure your OpenCore starts with the agdpmod=pikera boot argument. This is absolutely necessary for 5700 XT to start. If you don't have it, this is where the Live Linux comes handy. Fire up that linux, and edit your config.plist...
  • If your computer has a BIOS POST screen and you have the agdpmod added to your boot arguments, but you still get a black screen, you can try an ATY,Rom# injection. Scroll back up a bit and read the comments on the OpenCore BugTracker page. Make sure you inject into the correct PCI Path and not into the iGPU!
  • If you have tried everything, and you still have a black screen only, scroll back up to my "DON'T BUY AN MSI" section. ONLY AT YOUR OWN RISK!

If you have done everything correctly, you should be able to log-in into your MacOS with your dGPU, which now should work perfectly out of box. You can test with GeekBench5 to see if it worked correctly.

When you are done with this, make sure you follow the post-install part of OpenCore guide. Do not skip out on that one.

Wrapping up:

I got everything up and running, there are a few glitches which I partially cared or do not care about at all, so here's a short list of what's not working for me:

  • Sleep/Hybernate - To be honest, I don't give a - flying you know what - about this. I don't sleep my PC, if I don't need it, I turn it off, I don't mind a 20 second boot time. Can be fixed tho.
  • Multi-Monitor Boot - According to numerous users, this issue lies within the connectors on the GPU. Currently I use a 21:9 on HDMI and a 16:9 on DP. I will play with different cables and using different ports. If you get a black screen on startup once it's worked, and you use a multi-monitor setup, make sure you either play with the connectors and fix it, or start up with one monitor only. Then when the OS is up and running, you can plug in the rest of your screens.

I was lucky with the audio as alcid=1 did the job right out of the box for me with this motherboard. So as a closing note, here's my list of SSDTs and KEXTs. PLEASE DO NOT COPY THESE. FOLLOW THE OPENCORE GUIDE AND GATHER YOURS CORRECTLY!

SSDT:

  • SSDT-AWAC
  • SSDT-EC-USBX-DESKTOP
  • SSDT-PLUG-DRTINA
  • SSDT-PMC

I have used pre-compiled AMLs which have worked perfectly for me, in return, I barely know anything about how they internally work, so if you are interested in it, make sure you compile them yourself.

KEXTs:

  • Lilu
  • VirtualSMC
  • AppleALC
  • IntelMausi
  • SMCProcessor
  • SMCSuperIO
  • WhateverGreen
  • XHCI-unsupported

Do not copy this list. You might need different KEXT for your network not IntelMausi, you might not need XHCI-unsupported at all. Please gather your KEXTs according to the OpenCore guide!

Drivers:

  • OpenRuntime.efi - Required by OpenCore
  • HfsPlus.efi

And my BIOS settings for my motherboard:

  • Memory Profile: XMP-Profile-1
  • CPU/CFG Lock - OFF
  • CHIPSET/Above 4G Decoding - This one completely kills my PC. Should be on, but I get no screen with it. PC works fine with it on OFF - so far...
  • CHIPSET/VT-d - OFF (You can leave this on if you do the correct config.plist edits according to the OpenCore Guide)
  • CHIPSET/iGPU Shared Memory - AUTO
  • CHIPSET/iGPU Multi-Monitor - ENABLED
  • SATA/Sata Mode - AHCI
  • SuperIO/Serial Port - DISABLED
  • ACPI/RTC Alarm - OFF
  • USB/XHCI Hand-off - ON
  • BOOT/CSM (Compatibility Support Module) - OFF
  • BOOT/FastBoot - OFF
  • BOOT/Secure Boot - OFF

This is it folks. If you have any questions about my config or setup, feel free to drop a message to me ON DISCORD Lostra#7177. If you have any other questions not related to my setup, you can try to ask me, but most likely I will not be able to answer. I'm not a pro by any means. This is my first and only Hackintosh Build. However the folks on the discord server are really nice hand helpful, they might do some magic for you that I can not.

I will not upload my EFI folder and my Config.Plist, please do not ask me to do so, there is simply no point in it... Everyone needs a different setup. Make sure you follow the guide and build your own.
Learn from my mistakes, do not copy configs, just build build build...

“Only a fool learns from his own mistakes. The wise man learns from the mistakes of others.”

― Otto von Bismarck

Credits:

I have to thank iHackLine for getting me into all of this, and the GPU out for install, back in after done method came from them. They also answered tons of emails and tried their best to help me out with my **** GPU.

Huge thanks to Dortania for OpenCore and all the well-written and incredible guides for it. Lest not forget, and huge thanks to every single OpenCore contributor on GitHub.

I also have to thank the users of "/r/Hackintosh Paradise" Discord Server for pointing me in the correct direction.

submitted by /u/Lostra010
[link] [comments]