E1.Before Installation
Honestly I don’t want to duplicate others’ works since CaseySJ already provided a very comprehensive guide for Z390. However, the guy’s works are based on Mac, which means you need a Mac to config everything before installation. Hence I provide you a guide for windows users to make configurations before installation; if you only have a windows on hands, this is a suitable guide for you.
If you have read CaseySJ’s article, at this stage you should write the Mojave image to a 8GB USB flash disk through UniBeast under Mac OS environment. As you may not have a Mac on hands that restrict you to run UniBeast, I therefore attach the semi-finalised Mojave Image for you. This image integrates drivers64UEFI, KEXTS, and a semi-finalised config.plist that allow you to install Mojave.
Download the image of Mojave and Etcher; plugin your USB flash disk, and open Etcher, the software will automatically detect your flash disk, select the image and flash it to the disk.
Now you have to config your BIOS settings for the installation.Boot your rug and quickly press DEL or F2 to enter the BIOS. settings are listed below:
———-Advance Memory Profile: Profile 1
———-Windows 8/10 Features → Other OS
———-CSM Support → Disabled
———-Secure Boot → Disabled
———-Intel Platform Trust Technology (PTT) → Disabled
———-Thunderbolt(TM) Configuration(need to be configured if you have a thunderbolt card)
————-TBT Vt-d Base Security → Disabled
————-Thunderbolt Boot Support → Disabled
————-Security Level → No Security
————-Discrete Thunderbolt Configuration
———Thunderbolt USB Support → Enabled
———GPIO3 Force Pwr → Enabled
———-USB Configuration
————-Legacy USB Support → Enabled
————-XHCI Hand-off → Enabled
———-Network Stack Configuration
————-Network Stack → Disabled
———-Vt-d → Disabled
———-Internal Graphics → Enabled
———-Audio Controller → Enabled
———-Above 4G Decoding → Enabled
———-ErP → Disabled
———-RC6 (Render Standby) → Enabled
After BIOS settings, boot your machine through the USB flash drive, install Mojave, and you may encounter 2-3 times restarts, which is normal.
Enter the Mojave system and mount the USB flash disk & your system disk’s EFI via Hackintool.
you should: move the EFI folder under USB disk to the system’s EFI folder. You could see these folders under system’s EFI (APPLE folder is generated by the system itself). Now the USB flash disk is of no use, and we could drive essential hardwares.

E2. Hardware
I hope you could read CaseySJ‘s article to understand those sections in the config.plist. there is a little innovation that I active the graphic card’s H264 & HEVC through AGPMInjector, which have no need to inject other codes, if you are curious about it, read me.
E2.1 Audio
1st: go to https://github.com/acidanthera/AppleALC/releases, download the latest applealc.kext, and move it to efi/clover/kexts/other/
2nd: find your audio card model and layout ID from https://github.com/acidanthera/AppleALC/tree/master/Resources. for example, mine is ALC1220, the layout id could be 1,11,15,13,16….
3rd: try the layout ID in the red box until your audio works properly, and don’t forget to tick the ResetHDA.

E2.2 Thunderbolt Card
I’ve read a lot from Tonymac about the thunderbolt card, unfortunately there is no one to provide a systematic guide for fixing the thunderbolt card’s hot-pluging issue. This section majorly adopts LeleTuratti and kgp‘s experiments for fixing it (this means the thunderbolt card is working properly without any patches, but hot-pluging function should be fixed through SSDT).
The first step is to install a windows 10, and boot it through UEFI, install the Thunderbolt card’s drive downloaded from the vender’s official website. This step is essential, because the card cannot be recognised without windows 10, after the installation, you could see the card is recognisable in BIOS:
You could download a trial windows from:
ed2k://|file|en_windows_10_multiple_editions_version_1511_updated_feb_2016_x64_dvd_8379634.iso|4414115840|E0459993F4B64B6690C0D3309E47AD32|/
Write the iso to your USB disk via etcher, after activating the thunderbolt card, the windows is of no use.
As soon as the thunderbolt card is recognised in BIOS, we could enter the MAC OS to fix hot-plugining through SSDT. You should prepare these tools and files to generate your own thunderbolt card SSDT:
IORegistryExplorer
RehabMan-MaciASL-2018-0507.zip
iasl.zip
thunderbolt-v2
X-code, available at app store
Extract MaciASL, iasl and thunderbolt-v2, and move MaciASL and IORegistryExplorer to Applications; move iasl, thunderbolt.aml and SSDT-DTPG.aml to Desktop. Finally make sure you’ve agree the term&conditions of X-code.
placing the files and tools in the right place, when shall run the following codes through Terminal.
cd ~/Desktop
sudo cp iasl /usr/bin
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/RehabMan/Intel-iasl.git iasl.git
cd iasl.git
make
sudo make install
sudo cp /usr/bin/iasl /Applications/MaciASL.app/Contents/MacOS/iasl62
after inputing these codes, we need to covert thunderbolt.aml to thunderbolt.dsl, allowing us to edit it:
iasl -da -dl ~/Desktop/thunderbolt.aml
Now you need to open thunderbolt.dsl through MaciASL, and note the texts that I highlighted in the pic.

Open IORegistryExplorer, text “thunder” in the right front corner, you could see your thunderbolt card’s actual location. For instance, mine is at PCI0—-RP21—PXSX:

then, as an example, i modify the texts in thunderbolt.dsl according to the location that I found through IORegistryExplorer:

Save the file and name it as thunderbolt.aml, note the file format MUST BE ACPI Machine Language Binary. move the edited thunderbolt.aml, and SSDT-DTPG.aml to EFI/Clover/ACPI/Patched. restart the machine and the thunderbolt card’s hot-pluging function should work perfectly.
PS: other motherboards might be not suitable from my thunderbolt.aml, you could find various thunderbolt.aml from LeleTuratti and kgp’s github. some are suitable for Z370, and some for x299, just have a try. Again, thanks for their contributions.
E2.3 BCM943602CS and USB ports patches
The method to make BCM943602CS internal in order to ensure its sleep and wake-up function has been shared in various way. HOWEVER, I FOUND THAT THERE IS NO SIMPLE WAY, THE VIDEOS ON YOUTUBE ABOUT USB PATCH ARE SO COMPLEX AND OUT OF TIME! I HAVE TO MAKE A SIMPLE GUIDE FOR YOU, I THOUGH I COULD SAVE SOME TIME INITIALLY…..
before patching the usb ports, you should modify your config.plist via clover configurator, add the three usb port patches like the screenshot:

NOTE, THE PATCH IS UPDATED IN 10.15BETA1, JUST SEARCH THE NEW PATCH.
1st: open hackintool and turn to USB section, you could see all your usb ports:

you could see three different types of ports:
- HSxx: this is usb 2.0 port
- SSxx: this is usb 3 port
- SSPxx: this is thunderbolt port
Since USB 3 has a downward compatibility to usb 2, therefore, a USB 3 port could be usb 2.0 but also usb 3. For instance, HS08 and SS08 port is a group inputed through a same port, with a blue or red outlook normally; HS10, for me is a USB2.0 port, because it connected with 9 pin cable on the motherboard, and most USB 2.0 often coloured with black outlook.
2nd: you should use a usb 2.0 device (e.g usb2 flash disk, mouse, keyboard…etc.) to connect every usb port one by one, and you will find the ports that has been connected turned green. this means the HS ports are existed.
Then you should use a usb 3.0 device (e.g usb 3 flash disk etc.) to connect every usb port one by one ,and you find those existed SS ports turned green. if you have the thunderbolt card, you also need to plug something like type-c usb flash disk in the ports.
3rd: del those ports that not turned green through clicking “➖”.
define the connector correctly.
Example 1: HS03 is a group member of SS03, hence, it should be USB 3, then defining bot HS03 and SS03 as USB 3.
Example 2: HS13 is single-handedly existed without SS13, this port should be defined as USB 2.
Example 3: some ports are consistently connected with devices such as bluetooth, USB receivers, USB keyboards and mice, these ports should be defined as internal.
NOTE, BCM943602CS SHOULD BE CONNECTED DIRECTLY ON THE XHC CONTROLLER! AS LONG AS YOU CAN SEE THE “BLUETOOTH USB HOST CONTROLLER” FROM HACKINTOOL (AS SHOWN IN THE SCREENSHOT), IT MEANS YOUR CARD IS CONNECTED CORRECTLY. I GAVE UP THE USB 3.0 PORTS IN THE FRONT OF THE CASE IN ORDER TO MAKE SURE THE CARD IS ABLE TO CONNECT TO XHC CONTROLLER CORRECTLY, AND I BOUGHT THIS CABLE TO CONVER 2.0 TO 3.0:
https://www.ebay.co.uk/itm/20Pin-19Pin-USB-3-0-Female-To-9-Pin-USB-2-0-Male-Motherboard-Cable-Adapter-Cord/254259663988?hash=item3b330e9474:g:o4oAAOSwj5Fc~l0J&frcectupt=true
IF YOU DONT DO THIS, YOUR MAC CANNOT SLEEP
4th: click the export button, you can see some *.aml and a usbports.kext on the desk. just move all the generated aml to EFI/Clover/ACPI/Patched. Usbports.kext is of no use, just del it.
OK, the guide is over, hope you could learn a lot from it. thanks