• Become a Premium Member for $25/year with no ads to improve your community experience.

MSI Z590I UNIFY - Intel Core i9-10900F - 64GB RAM - AMD RX 5700XT - WiFi/BT - Thunderbolt 4 - OpenCore

Thank you for this post. I am looking to build exactly this system in a TU150 chassis. I was wondering if any non-F CPU (like 10700k) could be used with this setup and onboard graphics (intel UHD 630), since graphics cards are very hard to buy right now.
You can use IGPU. Just a note that Sleep/Wake function is broken on IGPUs.
Also: is the new Maple Ridge controller USB2.0 and USB3.0 connected as part of the PCH? Or separate? Which ports do you have enabled successfully for the system? (wondering how this motherboard works with the 15 port limit)
The Thunderbolt 4 supports USB 2.0 to USB 4.
Did you find Big Sur, Catalina, or Mojave to work best with your build?
Big Sur and later is recommended for 500 series Motherboard.
 
I bought the same Z590i motherboard and a 10700k. I'll be using a Sapphire 5600xt for graphics. But before I start opening boxes, I want to make sure I'm following your instructions correctly since as I went through your guide starting with the latest posted release of OpenCore, here's the differences I've run across this morning:

Preparing OpenCore Bootloader
Step 2: There's no SSDT-AWAC in the samples directory. I went through the Dortania guide to get their linked version.

Step 3: Dortania guide recommends adding HfsPlus.efi too. Any reason you omitted it?

Step "4" (not numbered, but after 3), Required Kexts: The links for FakePCIID* don't point to a place to get the kexts. I got the main one from here and the other from someone's posted Z490 build.

Creating OpenCore config.plist
I opened the sample one in ProperTree and saved it off as config.plist, then did the suggested CTRL/CMD+SHIFT+R pointed at my prepared OC directory to update the plist.

ACPI>Patch
None of these are in my table. Are we supposed to add the ones you have or ignore this?

DeviceProperties
My PCI root is different from yours; from the Dortania Comet Lake guide, I think I see I should add that second item (i.e., yours). Is that correct?

Kernel->Add
The NVMeFix.kext from the earlier section isn't listed here. Did you delete it or should we just leave it as is?

NVRAM->Add
The prev-lang:kbd is a "data" type, not a string as your value suggests. The Dortania comment lake guide suggests deleting the value and leaving it as a "data" field.

Thank you for such a detailed post. If there's a just-add-smbios-data EFI directory for this build somewhere, please let me know. It would be informative to diff against.
 
Step 2: There's no SSDT-AWAC in the samples directory. I went through the Dortania guide to get their linked version.
All the sample SSDT can be found in OpenCore package. Make sure you're using the official release.
Step 3: Dortania guide recommends adding HfsPlus.efi too. Any reason you omitted it?
We really don't care what Dortania says. Of course, HFSPlus was being used for HFS function but after a while, there is an enhanced version which was replaced by OpenHFSPlus.
Step "4" (not numbered, but after 3), Required Kexts: The links for FakePCIID* don't point to a place to get the kexts.
Yes, still a lot needs to be done on the forum and we need contributions and support to run the forum.
ACPI>Patch
None of these are in my table. Are we supposed to add the ones you have or ignore this?
As you're having the same motherboard, you should consider using the same SSDTs and must add in sorted order in your config.plist too.
DeviceProperties
My PCI root is different from yours; from the Dortania Comet Lake guide, I think I see I should add that second item (i.e., yours). Is that correct?
Yes, it could be different. However, for same motherboard, the PCI Device address should be the same.
Kernel->Add
The NVMeFix.kext from the earlier section isn't listed here. Did you delete it or should we just leave it as is?
The NVMeFix kext was developed to support Apple and non-Apple SSDs for a better power management. However, after lots of tests, using the kext results in slow speed and crashing when using PCIe SSDs.
NVRAM->Add
The prev-lang:kbd is a "data" type, not a string as your value suggests. The Dortania comment lake guide suggests deleting the value and leaving it as a "data" field.
Yes, that's absolute correct and few guides has been updated. The value used in this guide is for English.
Thank you for such a detailed post. If there's a just-add-smbios-data EFI directory for this build somewhere, please let me know. It would be informative to diff against.
You can use the python based script or OpenCore Configurator. However, the data may mismatch for some fields if you don't pay attention.
 
Thank you for the reply. I'm pretty confident I'm using the official 0.7.1 release. In it, you'll see the SSDT-AWAC no longer exists. There's an SSDT-AWAC-DISABLE.aml, but that's it.

As for the rest of the replies, the place I've landed right now is having to run Bug Sur 11.2.3 because 11.5.1 cannot boot when using the Xhci quirk and related USBInjectAll and XHCI-unsupported kexts (I lost the link to the 'why' but the fix is to make one's own USB map and they suggest going back to a working version, i.e., 11.2.3, so here I am).

The rest of the steps are similar to yours (including the PCI root address I questioned earlier -- what I was meaning is that the one given in the Dortania. guide was different and also included _another entry_ and it was that one I was confused about). I also figured out the DSDT patch issue of having to convert DSDT to hex and populate the field with that rather than a string.

At this point, using FakePCIID and the PCI root patch, I can boot and install Big Sur 11.2.3, however networking doesn't work. It shows the NIC in the list of network adapters, and it pulls a valid IP from my router, but safari, ping, etc. -- nothing works. If I try doing a DHCP release/renew, it fails to pull an IP for some reason. Unplugging/replugging the cable yields a fresh IP but still no network routing is happening. Even more related to this -- apparently in 11.3 one must change the way this is configured by dropping the FakePCIID kexts and that PCI root patch, instead favoring only a boot argument in certain cases, a kernel patch in others.

The onboard intel WiFi/BT doesn't work either (but this post says it should). I've tried rectifying that with Airportltlwm.kext, but still nothing is detected. I've shelved pursuing that because right now my goal is to get that USB map built so that I can use 11.5.1 and hopefully put the I225-V NIC issue behind me, among others, based on what I've been reading.

What version of Big Sur and OpenCore did you use for this?
 
Thank you for the reply. I'm pretty confident I'm using the official 0.7.1 release. In it, you'll see the SSDT-AWAC no longer exists. There's an SSDT-AWAC-DISABLE.aml, but that's it.
Oh, boy! Both are same ;)
As for the rest of the replies, the place I've landed right now is having to run Bug Sur 11.2.3 because 11.5.1 cannot boot when using the Xhci quirk and related USBInjectAll and XHCI-unsupported kexts (I lost the link to the 'why' but the fix is to make one's own USB map and they suggest going back to a working version, i.e., 11.2.3, so here I am).
Note that since Big Sur 11.3 and later, USB mapping is required otherwise you'll loose the USB function completely.
At this point, using FakePCIID and the PCI root patch, I can boot and install Big Sur 11.2.3, however networking doesn't work. It shows the NIC in the list of network adapters, and it pulls a valid IP from my router, but safari, ping, etc. -- nothing works. If I try doing a DHCP release/renew, it fails to pull an IP for some reason. Unplugging/replugging the cable yields a fresh IP but still no network routing is happening. Even more related to this -- apparently in 11.3 one must change the way this is configured by dropping the FakePCIID kexts and that PCI root patch, instead favoring only a boot argument in certain cases, a kernel patch in others.
Oh, this is normal case with some of the new Intel 2.5Gbit Ethernet port in 500 Series Motherboard. A quick workaround is to Renew the DHCP Lease and under Hardware Tab, set Configure to Manually, Speed to 1000baseT and Duplex to full duplex, flow control. The MTU will remain 1500.
The onboard intel WiFi/BT doesn't work either (but this post says it should). I've tried rectifying that with Airportltlwm.kext, but still nothing is detected. I've shelved pursuing that because right now my goal is to get that USB map built so that I can use 11.5.1 and hopefully put the I225-V NIC issue behind me, among others, based on what I've been reading.
There are few versions of Intel WiFi kext. Make sure you're using the right one. Also, ensure that WiFi and BT is not disabled from your BIOS.
What version of Big Sur and OpenCore did you use for this?
Big Sur v11.2.3 and OC 6.8. Your configuration is the issue, not the OpenCore or the kexts. Consider attaching your PR files to check further.
 
Oh, boy! Both are same ;)

Note that since Big Sur 11.3 and later, USB mapping is required otherwise you'll loose the USB function completely.

Oh, this is normal case with some of the new Intel 2.5Gbit Ethernet port in 500 Series Motherboard. A quick workaround is to Renew the DHCP Lease and under Hardware Tab, set Configure to Manually, Speed to 1000baseT and Duplex to full duplex, flow control. The MTU will remain 1500.

There are few versions of Intel WiFi kext. Make sure you're using the right one. Also, ensure that WiFi and BT is not disabled from your BIOS.

Big Sur v11.2.3 and OC 6.8. Your configuration is the issue, not the OpenCore or the kexts. Consider attaching your PR files to check further.
I gave up on the AX200 and bought a Broadcom adapter for the plug'n'play approach.

As for the NIC, you were exactly correct. The trick is choosing Manual and then picking one of the first two options (non-energy saver options) in the NIC's advanced settings panel (I found that in another site's threads as well as I troubleshot this to pieces). It took a long time to ferret this out because the FakePCIID route works all the way up to 11.5.1, however there is also a kernel patch route that works fine right up until 11.3 or 11.4, at which point there were divergent instructions on how to tweak things. At 11.5.1, I only had to add the boot argument dk.e1000=0 (no DeviceProperties, etc.) and do the auto->manual trick, above.

I ultimately setup an 11.2.3 installation on a thumb drive to use for the USB mapping and then took the resulting kext to my "running" installation of 11.5.1. It resulted in 18 ports being defined which ...it at least boots but is of course in excess of the 15 allowed, which causes a couple ports to work only with >= 3.0 devices and others to work only with <= 2.0 devices. I haven't bothered troubleshooting the thunderbolt yet, but I did skim this site's posts about that.

One thing I haven't been able to get working is the wake from keyboard/mouse (USB) by adding acpi-wake-type under DeviceProperties. I found the root device to be PciRoot(0x0)/Pci(0x14,0x0) however even with DATA value 01, I still cannot wake the computer from my keyboard; I must press the power button. It makes me wonder if there's some BIOS setting I haven't managed to find yet. (This MSI BIOS is annoyingly organized, e.g., why is the VT-D feature over in the Overclocking section? Weird.)

Attached is my 11.5.1 OC 0.7.1 EFI in its current state. So currently I'm trying to decide out how to handle the excess USB personalities, Thunderbolt, and then disable all the debugging whatnot so that I have the more typical Mac startup. I've also had a strange issue where my UI suddenly glitched into squares of artifacts while a game was playing. I haven't figured out why that was; it has only happened once, but it required a reboot to fix it.

I took loads of notes, deltas against what your guide shows vs. the migration up to these versions and other debugging hints gleaned from various sites. If there's a way to suggest them as edits to the guide (pull request?), please let me know and I'll do it.
 

Attachments

  • EFI for sharing.zip
    2.6 MB · Views: 131
I gave up on the AX200 and bought a Broadcom adapter for the plug'n'play approach.
That's nice.
As for the NIC, you were exactly correct. The trick is choosing Manual and then picking one of the first two options (non-energy saver options) in the NIC's advanced settings panel (I found that in another site's threads as well as I troubleshot this to pieces). It took a long time to ferret this out because the FakePCIID route works all the way up to 11.5.1, however there is also a kernel patch route that works fine right up until 11.3 or 11.4, at which point there were divergent instructions on how to tweak things. At 11.5.1, I only had to add the boot argument dk.e1000=0 (no DeviceProperties, etc.) and do the auto->manual trick, above.
FakePCIID method is way more good.
I ultimately setup an 11.2.3 installation on a thumb drive to use for the USB mapping and then took the resulting kext to my "running" installation of 11.5.1. It resulted in 18 ports being defined which ...it at least boots but is of course in excess of the 15 allowed, which causes a couple ports to work only with >= 3.0 devices and others to work only with <= 2.0 devices. I haven't bothered troubleshooting the thunderbolt yet, but I did skim this site's posts about that.
You should consider mapping your USB ports again.
One thing I haven't been able to get working is the wake from keyboard/mouse (USB) by adding acpi-wake-type under DeviceProperties. I found the root device to be PciRoot(0x0)/Pci(0x14,0x0) however even with DATA value 01, I still cannot wake the computer from my keyboard; I must press the power button. It makes me wonder if there's some BIOS setting I haven't managed to find yet. (This MSI BIOS is annoyingly organized, e.g., why is the VT-D feature over in the Overclocking section? Weird.)
On Some Motherboards, including Laptops, that's how sleep/wake works. There is a workaround, but i haven't tested it myself yet. For the VT-d, it's recommended to keep it disabled unless you have some special function to use.
Attached is my 11.5.1 OC 0.7.1 EFI in its current state. So currently I'm trying to decide out how to handle the excess USB personalities, Thunderbolt, and then disable all the debugging whatnot so that I have the more typical Mac startup. I've also had a strange issue where my UI suddenly glitched into squares of artifacts while a game was playing. I haven't figured out why that was; it has only happened once, but it required a reboot to fix it.
Make sure you're using a proper PSU with the sufficient wattage and your cables aren't faulty. Cables from PSU and your Display.
I took loads of notes, deltas against what your guide shows vs. the migration up to these versions and other debugging hints gleaned from various sites. If there's a way to suggest them as edits to the guide (pull request?), please let me know and I'll do it.
You can simply start a separate thread as your own guide which might be of a help for others. Most of the guides i write here, are from test hardware to which i don't have access always.
 
I poked around in the BIOS some more and didn't find anything linking USB and wake from sleep.

I only mention the VT-D issue because it's enabled as part of the optimized defaults but we have to disable it. Finding it was tough only because of how weirdly organized the menus are on this board (i.e., my example of VT-D being ferreted away in the overclocking section under a few sub menus totally unrelated to overclocking).

If you happen to peruse my EFI I posted and see something I've overlooked, please let me know. I think I'm going to tackle thunderbolt next; I can live without the USB wakeup functionality.
 
  • Like
Reactions: chidgear
I poked around in the BIOS some more and didn't find anything linking USB and wake from sleep.
It's ACPI related. A manual patch is used to fix such issue. But honestly, it's not a big issue.
I only mention the VT-D issue because it's enabled as part of the optimized defaults but we have to disable it. Finding it was tough only because of how weirdly organized the menus are on this board (i.e., my example of VT-D being ferreted away in the overclocking section under a few sub menus totally unrelated to overclocking).
Even if it's enabled in BIOS, it will be disabled via config.plist using DisableIoMapper quirk.
If you happen to peruse my EFI I posted and see something I've overlooked, please let me know.
I'll have a look soon.
I think I'm going to tackle thunderbolt next;
Good Luck.
I can live without the USB wakeup functionality.
What do you mean by USB Wakeup?
 
It's ACPI related. A manual patch is used to fix such issue. But honestly, it's not a big issue.

Even if it's enabled in BIOS, it will be disabled via config.plist using DisableIoMapper quirk.

I'll have a look soon.

Good Luck.

What do you mean by USB Wakeup?
Thanks!
The USB wakeup, I mean to say the ACPI issue since what I'm trying to get working is waking when I hit a key on my USB keyboard. My DeviceProperties patch isn't working, so at some point I'll pursue other approaches (unless you see I've just done it wrong).

The other USB issue is of course the map, which are you saying it should support over 15 devices as long as my map kext is correct (i.e., I mapped it incorrectly)?
 

Forum statistics

Threads
1,480
Messages
14,025
Members
21,208
Latest member
chichou13