Contribute
Register

[Success] ASRock Z390 Phantom Gaming-ITX + TB3 + iGPU + Mojave + SFF Build

He is using this kext - https://github.com/the-darkvoid/macOS-IOElectrify. I personally have no TB devices to test but I'll be interested if you can test this. According to the developer

From the USB-C side of things, force powering the Intel Thunderbolt controller has some positive side-effects (no more Express card icon).

The following things are working now out of the box (after fixing the recursive mutex issue in XPS 9360 ACPI):
  • Booting with USB-C adapter connected
  • USB-C hotplug at any time after boot
  • Sleeping and returning from sleep successfully with USB-C connected
  • Sleeping, unplugging and replugging before wake-up

The remaining main issues are:
  • Booting without USB-C device connected. In this case the entire Intel Thunderbolt controller is powered down.
    Either ACPI needs to be modified to power the device successfully and/or IOElectrify extended with IOElectrifyBridge to force the Thunderbolt IOPCI2PCIBridge to rescan after ACPI code has initialized the device.
    IOElectrifyBridge could listen for the _E42 GPE event from the ACPI to determine when to re-probe the bus.
  • Returning without USB-C device from sleep. _E42 GPE event is triggering when plugging in a device, but either ACPI is not successfully enabling the Thunderbolt controller or macOS does not rescan the PCI bus properly.

 
He is using this kext - https://github.com/the-darkvoid/macOS-IOElectrify. I personally have no TB devices to test but I'll be interested if you can test this. According to the developer




So I tried building and loading it - the build seemed to succeed in XCode (the makefile did not work), but the resulting kext is invalid and will not load either through Clover or kextload. Unsure how fangf got it working. Any pointers?
 
So I tried building and loading it - the build seemed to succeed in XCode (the makefile did not work), but the resulting kext is invalid and will not load either through Clover or kextload. Unsure how fangf got it working. Any pointers?
Same here. It failed to build at all.
 

This did not seem to work either, although according to kextstat it loaded (as opposed to failing using kextutil). I'm going to try to get OpenCore working as per fangf's configuration and see if that helps; I've been meaning to try this for a while anyway. :)


EDIT: So I got OpenCore working, even with my Vega 56, Wifi/Bluetooth, USB, etc., but CPU power management is not working (I opted not to include CPUFriend as fangf had, perhaps I'll try that although the Github README for it warned against using it unless one knew what they were doing). Thunderbolt is not working. And TRIM support seems to be lacking (I haven't tried trimforce).

EDIT2: Actually, after spending 10-12 minutes at 100% frequency, my 9900k seems to be more operating a a more controlled frequency now, but still elevated from what I'm used to seeing under Clover. See attached.

Attaching also my OC config and a screenshot of the OC EFI folder, for reference. Note that this doesn't seem to work any better than fangf's.
 

Attachments

  • 1578268036545.png
    1578268036545.png
    183.5 KB · Views: 174
  • 1578268196969.png
    1578268196969.png
    181.6 KB · Views: 167
  • config_anon.plist
    18 KB · Views: 86
Last edited:
I’ve pasted a config on Page 56 here. You don’t need EmuVariableUefi along with FWRuntine in your config.
 
I’ve pasted a config on Page 56 here. You don’t need EmuVariableUefi along with FWRuntine in your config.

Removed, thanks.

So I've remained logged out of iCloud while testing OpenCore - it's on the EFI partition of a secondary internal drive I have. However, my configuration was/is a dual-boot Clover setup with macOS and Windows. I've read that OpenCore applies all the patches/modifications no matter if the target boot disk is macOS or not—have you (or anyone else) experimented with how to appropriately set up OpenCore for such a dual boot setup?

Also- attempting Sleep results in the fan blasting to 100% for ~1minute, then all USB devices become inoperable (under Clover, keyboard can wake from sleep), pressing the power button triggers a wake event, but after the login screen appeared for a second or two, and USB devices started receiving power again, the system crashed and rebooted. Are you experiencing that?

Unfortunately TB3 still doesn't work and some of the device properties I added trigger warnings/errors during boot (with -v on), so I'm going to hold off on switching for now.
 
Last edited:
Removed, thanks.

So I've remained logged out of iCloud while testing OpenCore - it's on the EFI partition of a secondary internal drive I have. However, my configuration was/is a dual-boot Clover setup with macOS and Windows. I've read that OpenCore applies all the patches/modifications no matter if the target boot disk is macOS or not—have you (or anyone else) experimented with how to appropriately set up OpenCore for such a dual boot setup?

Also- attempting Sleep results in the fan blasting to 100% for ~1minute, then all USB devices become inoperable (under Clover, keyboard can wake from sleep), pressing the power button triggers a wake event, but after the login screen appeared for a second or two, and USB devices started receiving power again, the system crashed and rebooted. Are you experiencing that?

Unfortunately TB3 still doesn't work and some of the device properties I added trigger warnings/errors during boot (with -v on), so I'm going to hold off on switching for now.

For the ACPI section have only the following - PLUG, AWAC and USBX. That should get rid of the sleep and crash issues. Also Setup the NVRAM using the LogoutHook.command (from the Vanilla guide or Fangs Github page). Make sure the USB ports patch is in place.

I don't have a dual boot setup but OC does apply the patches no matter what the target OS is. You could work around it by booting into Windows from the BIOS directly or I saw someone post a modified version of OC that allows the patches to be only applied if the OS is MAC ('Customized OpenCore with additional features' not in this forum).

Zipped is my latest folder for OC.
Notes
HS14 is disabled as I use a PCI based Wireless card.
UsbKbDxe.efi is removed to use my Apple keyboard to function during OC menu selection.
 

Attachments

  • EFI OC 0.5.4 ASRockz390 ITX.zip
    19.9 MB · Views: 114
Removed, thanks.

So I've remained logged out of iCloud while testing OpenCore - it's on the EFI partition of a secondary internal drive I have. However, my configuration was/is a dual-boot Clover setup with macOS and Windows. I've read that OpenCore applies all the patches/modifications no matter if the target boot disk is macOS or not—have you (or anyone else) experimented with how to appropriately set up OpenCore for such a dual boot setup?

Also- attempting Sleep results in the fan blasting to 100% for ~1minute, then all USB devices become inoperable (under Clover, keyboard can wake from sleep), pressing the power button triggers a wake event, but after the login screen appeared for a second or two, and USB devices started receiving power again, the system crashed and rebooted. Are you experiencing that?

Unfortunately TB3 still doesn't work and some of the device properties I added trigger warnings/errors during boot (with -v on), so I'm going to hold off on switching for now.
update tb3 github.com/fangf2018
 
Back
Top