Contribute
Register

MSI G45 Z87 GAMING [Mac OS High Sierra guide]

Joined
Apr 7, 2018
Messages
54
Motherboard
Asus ROG Strix Z390-I Gaming
CPU
i7-8700K
Graphics
RX 580
Mac
iMac
Mobile Phone
iOS
Hey guys,

In this guide I will guide you through the installation process of Mac OS High Sierra based on my experience. This guide is mentioned for people who have a MSI G45 Z87 motherboard build but maybe others will have benefit from this too.

My Build
  • Motherboard: MSI G45 Z87 Gaming;
  • Processor: Intel core I5 4670K;
  • Graphics: EVGA GTX 970 FTW;
  • Memory: Corsair Vengeance 1600MHz LP 4 x 4GB (total 16GB RAM);
  • SSD1: Samsung 850 evo (250GB), used for Mac OS;
  • SSD2: Sandisk SSD plus 240GB, used for Windows;
  • HDD: Western Digital (1 terabyte);
  • WIFI: TP-Link TL-WDN4800;
  • PSU: Corsair CX500 watt;
  • Case: Bitfenix Pandora ATX with LCD;
  • Mouse: Logitech G500;
  • Keyboard: Corsair STRAFE
Let's get started.

Create bootable USB
Requirements:
Steps:
  1. Open Mac App Store;
  2. Download MacOS High Sierra (5GB+ installer). Note: If you only get the 19.x mb installer first try to update your system to the latest and try again;
  3. High Sierra installer will appear in /Applications;
  4. Insert your USB stick into your PC;
  5. Open /Applications/Utilities/Disk Utility;
  6. Select inserted USB drive in left column and click erase button;
  7. Type USB in name field;
  8. Select Mac OS Extended (Journaled) in format field;
  9. Select GUID Partition Map in Scheme field;
  10. Click erase then done;
  11. Open UniBeast;
  12. Click continue until you can select a destination;
  13. Select your USB and continue;
  14. Select UEFI Boot Mode and continue;
  15. At graphics configuration be sure all check boxes are unchecked and continue;
  16. Verify installation and click continue and then install;
  17. Open Clover Configurator;
  18. Select Mount EFI in left column and mount EFI from your USB stick;
  19. Go to EFI/CLOVER/ and open config.plist with Clover Configurator;
  20. Select Boot in left column and check Verbose(-v) and dart=0 under arguments;
  21. Select Devices and set intelGFX to 0x04128086 under Fake ID, select audio to 1 under audio;
  22. Select Graphics and check inject Intel;
  23. Select Rt Variables and set BooterConfig to 0x28 and CsrActiveConfig to 0x67;
  24. Select SMBIOS and be sure product name is Imac14,2;
  25. Select System Parameters and be sure inject Kexts = Yes and inject System ID is checked;
  26. Safe config and exit.
If you have a dedicated graphics card like me you need to disable it. Otherwise during the installation boot you will get this error "Window Server Service only ran for 0 seconds". If you only use Intel onboard graphics you can skip this part of the guide. This part of the guide is based on Rehabman's guide ->https://www.tonymacx86.com/threads/fix-window-server-service-only-ran-for-0-seconds-with-dual-gpu.233092/

Steps:
  1. Boot into Windows (I used Windows 10);
  2. Open Device manager;
  3. Under display adapters right click on your dedicated graphics card and select properties;
  4. Go to tab details and select BIOS device name in property list.
  5. Copy the value, for example my value was \_SB.PCI0.PEG0.PEGP;
  6. Now we know the ACPI path of our dedicated graphics card and we are able to create a custom SSDT file to disable it.
  7. Open MaciASL and go to Preferences;
  8. Click iASL tab and be sure ACPI 6.0 is checked;
  9. Click file in menu bar and select new to create a new file;
Code:
// save as SSDT-DiscreteSpoof.aml
DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0)
{
    Method(\_SB.PCI0.PEG0.PEGP._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return (Package()
        {
            "name", Buffer() { "#display" },
            "IOName", "#display",
            "class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
        })
    }
}
10. Copy the above code in MaciASL and change \_SB.PCI0.PEG0.PEGP text to your ACPI path;
11. Click compile and be sure there are zero errors;
12. Click file in menu bar and in select save as;
13. In Save As field type SSDT-DiscreteSpoof.aml and select ACPI Machine Language Binary as File Format;
14. Copy the generated SSDT-DiscreteSpoof.aml file to your USB /EFI/CLOVER/ACPI/patched.
15. Open your config.plist with Clover Configurator once again;
16. Select Acpi and under Patches section add this patch:
Code:
Comment: Rename _DSM to XDSM
Find: 5F44534D
Replace: 5844534D
Bios pmpatch
Steps:
  1. First you will need to patch your bios with pmpatch;
  2. Search in google for pmpatch and patch your latest bios or download the already patched 1.9 version below;
  3. After patching update your bios.
Bios settings
Settings/Advanced/Integrated Peripherals
Onboard LAN Controller: Enabled;
LAN Option ROM: Disabled;
Network stack: Disabled;
Sata Mode: AHCI Mode;
HD Audio Controller: Enabled;
HPET: Enabled.
Settings/Advanced/Integrated Graphics Configuration
Virtual Technology: Disabled;
Initiate Graphic Adapter: IGD -> Note: This is only needed during the Mac OS installation process. This will activate the onboard graphics. Don't forget to connect your monitor to the HDMI/DVI connector of your motherboard and NOT your dedicated video card. After installation set this to PEG to use your dedicated videocard again;
IGD Multi-Monitor: Disabled.
Settings/Advanced/Intel(R) Rapid Start Technology
Intel(R) Rapid Start Technology: Disabled.
Settings/Advanced/USB Configuration
USB Controller: Enabled;
XHCI Hand-off: Enabled;
EHCI Hand-off: Enabled;
Legacy USB Support: Enabled.
Settings/Advanced/Intel(R) Smart connect Configuration
Intel(R) Smart connect Technology: Enabled.
Settings/Advanced/Windows 8/8.1 Configuration
Windows 8/8.1 Feature: Disabled;
MSI Fast Boot: Disabled.
Settings/Advanced/Wake Up Event Setup -> Note: optional, if you want to wake from sleep with keyboard or mouse
Wake Up Event By: BIOS;
Resume From S3/S4/S5 by USB Device: Enabled.
Mac OS Installation
Steps:
  1. Insert your USB stick and boot UEFI;
  2. In CLOVER menu select your USB and boot the installer;
  3. If you have problems during installer boot, be sure to read the above instructions once again;
  4. After you reach the installer go to Disk Utility;
  5. Select target drive format to Mac OS Extended (Journaled) or APFS Note: Only use APFS if you have compatible SSD hardware/firmware compatibility;
  6. Exit Disk Utility and follow steps in installer to install High Sierra on target SSD/HDD.
Install CLOVER bootloader
Requirements:
Steps:
  1. Open clover bootloader installer;
  2. Next, Next;
  3. Change location to target SSD/HDD;
  4. Click customize button;
  5. Check Install For UEFI booting only;
  6. Check Install Clover in the ESP;
  7. Select a theme you prefer in Themes;
  8. Check OsxAptioFix2Drv-64 and check OsxFatBinaryDrv-64 under Drivers64UEFI;
  9. Click install and reboot.
Power Management
Requirements:
Source: Rehabman's guide -> https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/

Steps:
  1. Open Terminal;
  2. Execute these commands to disable hibernation:
Code:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

sudo pmset -a standby 0
sudo pmset -a autopoweroff 0
3. Then Navigate in terminal to ssdtPRGen.sh-Beta folder;
4. Execute these commands:
Code:
chmod +x ./ssdtPRGen.sh
./ssdtPRGen.sh
5. Navigate to ~/Library/ssdtPRGen/SSDT.aml;
6. Mount EFI with Clover Configurator and copy SSDT.aml to /EFI/CLOVER/ACPI/patched;
7. Reboot.​
Configure SMBIOS
Follow this guide to configure your SMBIOS correctly -> https://www.tonymacx86.com/threads/guide-how-to-configure-your-systems-smbios-correctly.198155/ Note: Use iMac14,2 as SMBIOS.​

DSDT and SSDT patching
Requirements:
Source: Rehabman's guide -> https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

Steps:
  1. Reboot your system and boot Clover Menu;
  2. Hit f4 to extract original APCI files;
  3. Boot into Mac OS;
  4. Open Clover configurator and go to Mount EFI;
  5. Mount EFI and open partition;
  6. Go to EFI/CLOVER/ACPI/ and copy origin folder to desktop;
  7. Open terminal and cp to iasl location and execute sudo cp iasl /usr/bin;
  8. Open terminal and cp to /Desktop/origin;
  9. Execute command iasl -da -dl DSDT.aml SSDT*.aml to disassemble files;
  10. Exit terminal and go to folder origin;
  11. Copy all *.dsl files to a new folder called patched;
  12. Open DSDT.dsl with MaciASL;
  13. Click patch button and copy paste this code and hit apply and then close;
Code:
# Maintained by: PJALM (help@pjalm.com) for: http://pjalm.com/repos/

# These patches are the registered property of PJALM.COM and can not be
# redistributed or modified without the written consent of PJALM.COM.
# Links to these patches are allowed. All material is protected under the DMCA.

# Last Updated  : 10/12/2015
# Patch Name    : MSI-Z87-G45 GAMING
# Patch Version : 1.0

#External Fixes
into_all all code_regex \/\*\sExternal\sreference\s\*\/\s+ removeall_matched;
into definitionblock code_regex ,\sUnknownObj removeall_matched;

into definitionblock code_regex External\s\(_SB_.PCI0.PEG0\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG0.PEGP\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG1\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG2\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEGP\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEGP.GFX0\)\s+ removeall_matched;

# Add the DTGP method
into method label DTGP remove_entry;
into definitionblock code_regex . insert begin
Method (DTGP, 5, NotSerialized)\n
{\n
    If (LEqual (Arg0, Buffer (0x10)\n
            {\n
                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,\n
                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n
            }))\n
    {\n
        If (LEqual (Arg1, One))\n
        {\n
            If (LEqual (Arg2, Zero))\n
            {\n
                Store (Buffer (One) { 0x03 }, Arg4)\n
                Return (One)\n
            }\n
            If (LEqual (Arg2, One))\n
            {\n
                Return (One)\n
            }\n
        }\n
    }\n
    Store (Buffer (One) { 0x00 }, Arg4)\n
    Return (Zero)\n
}
end;

# Add Darwin to the supported operating systems
into method label _INI code_regex (\s+)(If\s\(_OSI\s\("Windows\s2001"\)\)) replace_matched begin  \n
                        If (_OSI ("Darwin"))\n
                        {\n
                            Store (0x2710, OSYS)\n
                        }\n
\n
                        $2
end;

#MSI Haswell Additional Fixes

into_all all code_regex _T_([0-6]) replaceall_matched begin T_%1 end;
into device label EC0 set_label begin EC end;
into_all all code_regex EC0 replaceall_matched begin EC end;
into method label _REG parent_label EC remove_entry;
into device label COPR set_label begin MATH end;
into_all all code_regex COPR replaceall_matched begin MATH end;
into_all all code_regex 0x000EC00 replaceall_matched begin 0x000EC000 end;
into_all all code_regex 0xFEC0000 replaceall_matched begin 0xFEC00000 end;
into_all all code_regex (Name\s\(_HID,\s"ABCDEFGH") replace_matched begin Name (_HID, EisaId ("PNP0C15") end;
into device label SIO1 code_regex 0x00(,\s+//\s+L) replaceall_matched begin 0x01%1 end;
into_all all code_regex (Acquire\s\(MUT0,\s0x)....\) replace_matched begin %1FFFF) end;
into_all all code_regex pnp0c14 replaceall_matched begin PNP0C14 end;
into method label _CRS parent_label PCI0 code_regex CreateDWordField\s\(BUF0,\s\\_SB.PCI0._Y0F._LEN,\sMSLN\) replace_matched begin CreateQWordField (BUF0, \\_SB.PCI0._Y0F._LEN, MSLN) end;
into_all all code_regex (Return\s\(Package\s\()0x00(\)\s\{\}\)) replace_matched begin %1Zero%2 end;
into_all all code_regex (Name\s\(XMPT,\sBuffer\s\()0x0000(\)\s\{\}\)) replace_matched begin %1Zero%2 end;
into method label RDGI parent_label _SB insert begin Return (Zero) end;
into method label RDGP parent_label _SB insert begin Return (Zero) end;
into method label SPL1 insert begin Return (Zero) end;
into method label _DEP parent_label PRT1 code_regex (Return\s\(Package\s\()0x00(\)\s\{\}\)) replace_matched begin %1Zero%2 end;
into method label _HID parent_label _SB.TPM code_regex (Return\s\(Zero\)\s*) removeall_matched;
into method label _HID parent_label _SB.TPM insert begin Return (Zero) end;

into definitionblock code_regex External\s\(_SB_.PCI0.PEG0\) removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG1\) removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG2\) removeall_matched;

into method label _DEP parent_label XHC remove_entry;
#into method label PR2S parent_label XHC remove_entry;
into method label _PS0 parent_label XHC remove_entry;
into method label _PS3 parent_label XHC remove_entry;

into method label _E1E parent_label _GPE insert begin Return (Zero) end;

#into method label RDGI parent_label _SB code_regex Return\s\(Zero\) remove_matched;
#into method label RDGP parent_label _SB code_regex Return\s\(Zero\) remove_matched;

into method label ADBG parent_label PRT1 code_regex (Return\s\(Package\s\()0x00(\)\s\{\}\)) remove_matched;
into method label ADBG replace_content begin
If (CondRefOf (MDBG))\n
{\n
    Return (MDBG)\n
}\n
Return (Zero)\n
end;

into device label SAT0 set_label begin SATA end;
into_all all code_regex SAT0 replaceall_matched begin SATA end;
into device label SAT1 remove_entry;
into method label _DSM parent_label SATA remove_entry;
into device label SATA insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
    Store (Package (0x08) {\n
        "AAPL,slot-name", "Built In",\n
        "name", "Intel AHCI Controller",\n
        "model", Buffer (0x2D) {"Intel 8 Series Chipset Family SATA Controller"},\n
        "device_type", Buffer (0x0F) {"AHCI Controller"},\n
    }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;

# Fix HDEF device for the Realtek ALC892 audio codec
into method label _DSM parent_label HDEF remove_entry;
into device label HDEF insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
    Store (Package (0x10) {\n
        "AAPL,slot-name", "Built In",\n
        "name", "Realtek Audio Controller",\n
        "model", Buffer () {"Realtek ALC892 Audio Controller"},\n
        "device_type", Buffer (0x10) {"Audio Controller"},\n
        "layout-id", Buffer (0x04) {0x01,0x00,0x00,0x00},\n
        "PinConfigurations", Buffer (Zero) {},\n
        "MaximumBootBeepVolume", Buffer(One) {0x40},\n
        "hda-gfx", Buffer (0x0A) {"onboard-1"}\n
    }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;

# Fixes 'Built-in' status for Intel Gigabit Ethernet
into method label _DSM parent_label GLAN remove_entry;
into device label GLAN insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
    Store (Package (0x0C) {\n
        "AAPL,slot-name", "Built In",\n
        "name", "Intel Ethernet Controller",\n
        "model", "Intel I217-V Gigabit Network Controller",\n
        "device_type", Buffer (0x13) {"Ethernet Controller"},\n
        "built-in", Buffer (One) {0x01},\n
        "location", Buffer (0x02) {"1"}\n
    }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;

# Patches the Intel USB3 on Intel 8 Series chipsets to allow more power output
#Fix EHC1
into method label _DSM parent_label EHC1 remove_entry;
into device label EHC1 insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
    Store (Package (0x15) {\n
        "AAPL,slot-name", "Built In",\n
        "name", "Intel EHCI Controller",\n
        "model", Buffer(0x3E) {"Intel 8 Series Chipset Family USB Enhanced Host Controller #1"},\n
        "device_type", Buffer (0x0E) {"USB Controller"},\n
        "AAPL,current-available", 0x0834,\n
        "AAPL,current-extra", 0x0A8C,\n
        "AAPL,current-in-sleep", 0x03E8,\n
        "AAPL,current-extra-in-sleep", 0x0834,\n
        "AAPL,max-port-current-in-sleep", 0x0A8C,\n
        "AAPL,device-internal", 0x02,\n
        Buffer (One) {0x00}\n
    }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;

#Fix EHC2
into method label _DSM parent_label EHC2 remove_entry;
into device label EHC2 insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
    Store (Package (0x15) {\n
        "AAPL,slot-name", "Built In",\n
        "name", "Intel EHCI Controller",\n
        "model", Buffer (0x3E) {"Intel 8 Series Chipset Family USB Enhanced Host Controller #2"},\n
        "device_type", Buffer (0x0E) {"USB Controller"},\n
        "AAPL,current-available", 0x0834,\n
        "AAPL,current-extra", 0x0A8C,\n
        "AAPL,current-in-sleep", 0x03E8,\n
        "AAPL,current-extra-in-sleep", 0x0834,\n
        "AAPL,max-port-current-in-sleep", 0x0A8C,\n
        "AAPL,device-internal", 0x02,\n
        Buffer (One) {0x00}\n
    }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;

#Fix XHC1
into method label _DSM parent_label XHC remove_entry;
into device label XHC insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
    Store (Package (0x15) {\n
        "AAPL,slot-name", "Built In",\n
        "name", "Intel XHCI Controller",\n
        "model", Buffer (0x37) {"Intel 8 Series Chipset Family USB xHCI Host Controller"},\n
        "device_type", Buffer (0x0E) {"USB Controller"},\n
        "AAPL,current-available", 0x0834,\n
        "AAPL,current-extra", 0x0A8C,\n
        "AAPL,current-in-sleep", 0x03E8,\n
        "AAPL,current-extra-in-sleep", 0x0834,\n
        "AAPL,max-port-current-in-sleep", 0x0A8C,\n
        "AAPL,device-internal", 0x02,\n
        Buffer (One) {0x00}\n
    }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;
14. Open button patch and go in the left column to RehabMan Laptop repo;
15. Select [syn] Fix PARSEOP_ZERO Error and click apply and close;
16. If you now hit button compile it says zero errors;
17. Also apply these patches:
"Fix _WAK Arg0 v2"
"HPET Fix"
"SMBUS Fix"
"RTC Fix"
"OS Check Fix (Windows 8)"
"Fix Mutex with non-zero SyncLevel"
"Add IMEI"
"Rename PCI0.GFX0 to PCI0.IGPU"
"Rename GFX0 to IGPU"
"Rename B0D3 to HDAU"​
18. Hit Command + f and search for XWAK method;
19. Add Return(0) to it like this:
Code:
Method (XWAK, 0, Serialized)
            {
                Return(0)
 
                If (LOr (LEqual (XUSB, One), LEqual (XRST, One)))
                {
                    XSEL ()
                }
            }
20. Click file in menu bar and in select save as;
21. In Save As field type DSDT.aml and select ACPI Machine Language Binary as File Format;
22. Copy the generated DSDT.aml file to your /EFI/CLOVER/ACPI/patched.
23. Open SSDT-3-SaSsdt.dsl with MaciASL;
24. Apply these patches:
"Rename GFX0 to IGPU"
"Rename B0D3 to HDAU"​
25. Compile to check for errors;
26. Click file in menu bar and in select save as;
27. In Save As field type SSDT-3-SaSsdt.aml and select ACPI Machine Language Binary as File Format;
28. Copy the generated SSDT-3-SaSsdt.aml file to your /EFI/CLOVER/ACPI/patched.
29. Open SSDT-4-IsctTabl.dsl with MaciASL;
30. Apply this patch:
"Rename PCI0.GFX0 to PCI0.IGPU"​
31. Click file in menu bar and in select save as;
32. In Save As field type SSDT-4-IsctTabl.aml and select ACPI Machine Language Binary as File Format;
33. Copy the generated SSDT-4-IsctTabl.aml file to your /EFI/CLOVER/ACPI/patched.
34. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
35. Select ACPI and add these patches under DSDT Patches:
Code:
Comment: Rename _OSI to XOSI
Find: 5F4F5349
Replace: 584F5349
Code:
Comment: Rename _DSM to XDSM
Find: 5F44534D
Replace: 5844534D
36. Also check Drop OEM under SSDT;
37. Save config.plist;
38. Reboot.​
Fixing Nvidia Graphics
Requirements:
Source: Tonyx86 -> https://www.tonymacx86.com/threads/nvidia-releases-alternate-graphics-drivers-for-macos-high-sierra-10-13-1-378-10-10-10-20.236101/

Steps:
  1. Download the Nvidia driver which correspond with your OS version;
  2. Open driver setup and follow steps until installation is completed;
  3. Open EFI with Clover Configurator;
  4. Navigate to /EFI/CLOVER/Kexts/Other/ and copy NvidiaGraphicsFixup.kext and Lilu.kext to it;
  5. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  6. Click System Parameters in left column and check NvidiaWeb and Inject System ID;
  7. Also select Yes for inject Kexts;
  8. Click Boot and under arguments uncheck nada_drv=1;
  9. Click Graphics and uncheck Inject intel and inject Nvidia;
  10. Reboot and check if graphics is working.
Fixing Onboard Graphics
Requirements:
Steps:
  1. Open EFI with Clover Configurator;
  2. Navigate to /EFI/CLOVER/Kexts/Other/ and copy intelgraphicsfixup.kext, FakePCIID.kext, FakePCIID_Intel_HD_Graphics.kext and Lilu.kext to it;
  3. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  4. Select Graphics in left column and check Inject intel;
  5. Reboot and check if graphics is working.
Fixing Audio
Requirements:
  • audio_cloverALC-130.command.zip
Source: Toleda's guide -> https://www.tonymacx86.com/threads/applehda-realtek-audio-guide.234732/#post-1606764

Steps:
  1. go to this page https://github.com/toleda/audio_CloverALC and click Clone Or Download button and Download ZIP.
  2. Go to Audio_CloverALC-master folder and copy audio_cloverALC-130.command.zip to desktop;
  3. Unzip audio_cloverALC-130.command.zip;
  4. Open terminal and cp to /Desktop;
  5. Execute ./audio_cloverALC-130_v0.5.command;
  6. Enter your password;
  7. Confirm Realtek ALC1150 (y/n) -> y and enter;
  8. Clover Audio ID Injection (y/n) -> y and enter;
  9. Use Audio ID: 1 (y/n) -> y and enter;
  10. Wait for script to succeed;
  11. Reboot and check if audio is working.
Fixing HDMI audio via dedicated graphics
Requirements:
  • audio_cloverHDMI-130.command.zip;
  • EFI is mounted.
Source: Toleda's guide -> https://www.tonymacx86.com/threads/applehda-hdmi-audio-guide.234735/

Steps:
  1. go to this page https://github.com/toleda/audio_CloverHDMI and click Clone Or Download button and Download ZIP.
  2. Go to audio_CloverHDMI-master folder and copy audio_cloverHDMI-130.command.zip to desktop;
  3. Unzip audio_cloverHDMI-130.command.zip;
  4. Open terminal and cp to /Desktop;
  5. Execute ./audio_cloverHDMI-130_v0.8.command;
  6. Enter your password;
  7. No HDMI audio codec(s) detected, continue (y/n) -> y and enter;
  8. Wait for script to succeed;
  9. Reboot and check if HDMI audio is working.
Fixing HDMI audio via onboard graphics
Requirements:
Source: Rehabman's guide -> https://www.tonymacx86.com/threads/guide-intel-igpu-hdmi-dp-audio-sandy-ivy-haswell-broadwell-skylake.189495/

Steps:
  1. Open Clover Configurator and mount EFI partition;
  2. Go to /EFI/CLOVER/kexts/Other/ and copy FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext to it;
  3. Go to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  4. Select Kernel And Kext Patches and add this patch to KextsToPatch:
Code:
Name: com.apple.driver.AppleIntelFramebufferAzul
Find: 02040A00 00040000 87000000
Replace: 02041200 00080000 87000000
Comment: HDMI-audio, port 0204(12), 0x0d220003, 0x0a2e000a, 0x0a26000a
5. Reboot and check if HDMI audio is working.​
Fixing USB 2.0 and 3.0
Requirements:
Source: Rehabman's guide -> https://www.tonymacx86.com/threads/guide-10-11-usb-changes-and-solutions.173616/

Steps:
  1. Mount EFI via Clover Configurator;
  2. Go to /EFI/CLOVER/kexts/Other/ and copy FakePCIID.kext and FakePCIID_XHCIMux.kext to it;
  3. Go to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  4. Select ACPI and add these patches under DSDT Patches:
Code:
Comment: Rename EHC1 to EH01
Find: 45484331
Replace: 45483031
Code:
Comment: Rename EHC2 to EH02
Find: 45484332
Replace: 45483032
Code:
Comment: Rename XHCI to XHC
Find: 58484349
Replace: 5848435F
5. Save config.plist;
6. Reboot.​
USB Power property injection
Requirements:
Source: Rehabman's guide -> https://www.tonymacx86.com/threads/guide-usb-power-property-injection-for-sierra-and-later.222266/

Steps:
  1. Mount EFI via Clover Configurator;
  2. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  3. Select ACPI and add this patch under DSDT Patches:
Code:
Comment: Rename H_EC to EC
Find: 485F4543
Replace: 45435F5F
4. Save config.plist;
5. Open MaciASL and create new file;
6. Paste this code in the new file:
Code:
// Inject Fake EC device
DefinitionBlock("", "SSDT", 2, "hack", "EC", 0)
{
    Device(_SB.EC)
    {
        Name(_HID, "EC000000")
    }
}
//EOF
7. Compile to check for errors;
8. Click file in menu bar and in select save as;
9. In Save As field type SSDT-EC.aml and select ACPI Machine Language Binary as File Format;
10. Copy the generated SSDT-EC.aml file to your /EFI/CLOVER/ACPI/patched.
11. Reboot.​
Wifi TP-Link TL-WDN4800 regdomain fix
Requirements:
Steps:
  1. Mount EFI via Clover Configurator;
  2. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  3. Go to Kernel and Kext Patches and add these patches to KextsToPatch:
Code:
Name: com.apple.driver.AirPort.Atheros40
Find: 83BB2008 00000674 64
Replace: 83BB2008 000006EB 36
Comment: Override regdomain (1 of 2)
Code:
Name: com.apple.driver.AirPort.Atheros40
Find: 66C78316 09000043 0066B843 00
Replace: 66C78316 09000000 0066B800 00
Comment: Override regdomain (2 of 2)
4. Save config.plist;
5. Reboot.​
Enable Trim for SSD
Requirements:
Steps:
  1. Mount EFI via Clover Configurator;
  2. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  3. Go to Kernel and Kext Patches and add these patches to KextsToPatch:
Code:
Name: IOAHCIBlockStorage
Find: 00415050 4C452053 534400
Replace: 00000000 00000000 000000
Comment: Trim Patch
4. Save config.plist;
5. Reboot.
Fix Wake from Keyboard black screen
Requirements:
Steps:
  1. Mount EFI via Clover Configurator;
  2. Navigate to /EFI/CLOVER/ and open config.plist with Clover Configurator;
  3. Go to Boot and under arguments use Darkwake=8;
  4. Save config.plist;
  5. Reboot.
Done! Happy hacking.

P.S I want to thank you @RehabMan and @toleda for the great support and guides.
 

Attachments

Last edited:
Joined
Mar 17, 2018
Messages
2
Hi there,

Thanks a lot for the guide!

I've followed the steps but I'm stuck on booting the installer. It says "unsupported CPU" and then goes to "ioconsoleusers gioscreenlockstate".

I'm using an i5 4440 with the MSI z87 g45. Maybe you have an idea of how to solve this?

Thanks a lot!
 
Last edited:
Joined
Apr 7, 2018
Messages
54
Motherboard
Asus ROG Strix Z390-I Gaming
CPU
i7-8700K
Graphics
RX 580
Mac
iMac
Mobile Phone
iOS
Hi there,

Thanks a lot for the guide!

I've followed the steps but I'm stuck on booting the installer. It says "unsupported CPU" and then goes to "ioconsoleusers gioscreenlockstate".

I'm using an i5 4440 with the MSI z87 g45. Maybe you have an idea of how to solve this?

Thanks a lot!
@KimBesser

I just did a google search and found this thread -> https://www.tonymacx86.com/threads/z87-hd3-with-i5-4440-cant-install.116226/ The solution is probably in there.
Good luck.
 
Joined
Mar 17, 2018
Messages
2
So I managed to get to the installer (only via DVI cable, seems like my motherboard's HDMI port burnt when trying it earlier...).

I've followed the steps in the installer and at the first reboot, boom! Can't boot to clover on USB anymore (blinking underscore on top left) and of course I can't boot on the drive I installed Mac OS onto. I've tried to format my USB drive and put back High Sierra installer but it simply won't boot my clover USB drive anymore. I've tried searching for a solution but didn't find.

Do you have any idea I could try?

Thanks for your time!
 
Joined
Sep 9, 2018
Messages
2
Hey, thanks for your guide. Could you please post your config.plst file? I'm also stuck on booting, no specific error. I use a i7 4770K cpu
 
Last edited:
Joined
Apr 7, 2018
Messages
54
Motherboard
Asus ROG Strix Z390-I Gaming
CPU
i7-8700K
Graphics
RX 580
Mac
iMac
Mobile Phone
iOS
Thanks! The (stick) installation works but at the 2nd reboot hangs or froze the pc.
@andydec

Have you tried booting in verbose (-v flag enabled)? We can only help you if you give us detailed information about the boot log, and how you are booting in MacOS.
 
Joined
Feb 15, 2019
Messages
13
Motherboard
MSI G45-Z87-GAMING
CPU
i5-4670k
Graphics
R9 290
Mac
MacBook Pro
Mobile Phone
iOS
Hi,

First Hackintosh here with :
MSI Z87-G45-Gaming
i5 4670k
AMD Radeon R9 290 (tri-x), using two screens (DP -> 4k, HDMI -> 1440p)
Dual boot Windows 10 (two SSD for each)

I managed to get it fully working thanks to your advices, except :
- I didn't patch the bios (mine is 1.4), when I tried my pc froze, and it works like a charm in 1.4
- I copied the EFI directory of my usb stick on the EFI partition of my SSD (couldn't boot with your method, maybe I did something wrong)

Ethernet worked OOB, I didn't tried audio (on board or HDMI) since I have a FDA

The graphic card was the hardest to make working, I tried multiple things to make it recognized by the system without acceleration first time and then get acceleration and be able to use both screens
I have Lilu and WhateverGreen installed (fix some problems on my 1440p when I was using the IGPU)

Here is my config.plist if it can help some people

The last thing thing to do is now installing a Mac wifi/bt card (I ordered a FV-T919 on aliexpress) to get Continuity
 

Attachments

Top