Skip to content

Instantly share code, notes, and snippets.

@andres-torres-marroquin
Last active July 19, 2019 23:46
Show Gist options
  • Save andres-torres-marroquin/c071d113816009a5991043eb1ad2527d to your computer and use it in GitHub Desktop.
Save andres-torres-marroquin/c071d113816009a5991043eb1ad2527d to your computer and use it in GitHub Desktop.
Hackintosh ROG Strix Z270I macOS Sierra 10.12.6

Based on: https://www.tonymacx86.com/threads/success-twsps-build-asus-z270i-strix-i7-7700k-hd-630-4k-m-2-alc1220.216999/

Components

  • Intel i7-7700K
  • ASUS ROG Strix Z270I
  • Corsair Vengeance LPX 32GB (2 x 16GB)
  • SSD Samsung 950 PRO NVMe 512GB
  • Fractal Design Node 202 Black with Integra SFX 450w PSU Slim Profile Mini-ITX Computer Case
  • Scythe Big Shuriken 2
  • EVGA GeForce GTX 1060 3GB FTW
  • BrosTrend™ AC1200 WiFi USB Adapter AC1 (since the integrated wifi doesn't work)

What works

  • Kabylake i7-7700k CPU
  • iGPU HD630 @ 4K
  • M.2 NVMe SSD
  • Bluetooth
  • ALC1220
  • i219v Ethernet
  • USB 3.0/3.1
  • SATA Ports
  • Facetime

What doesn't work

  • WIFI Qualcomm Atheros qca61x4a (Update: now it works, well kinda, I replaced the module, see the comments for more info)
  • Sleep (Sleeps but wake with reboot)
  • iMessage
  • iGPU with dual screen

Setting up the UniBeast USB Boot Drive

Creating the USB Boot Drive with UniBeast

  1. Open Disk Utility
  2. Select the USB Flash Drive
  3. Erase
  4. Set Name to MacOS Sierra USB
  5. Set Format to Mac OS Extended (Journaled)
  6. Set Scheme to GUID Partition Map
  7. Erase

UniBeast

  1. Open UniBeast
  2. Click Continue 4 times
  3. Select your USB Flash Drive and click Continue
  4. Select Sierra and click Continue
  5. Select UEFI Boot Mode and click Continue
  6. Click Continue 2 times
  7. Type in Username and Password
  8. Copy MultiBeast and the Nvidia WebDriver to the Flash Drive.

Modify the /Volumes/EFI/EFI/CLOVER/config.plist

Let's spoof our Kabylake as if an Skylake it was. Replace:

<key>#FakeCPUID</key>
<string>0x010676</string>

with:

<key>FakeCPUID</key>
<string>0x0506E3</string>

Let's do the same for the Integrated Graphics HD630. Replace:

<key>IntelGFX</key>
<string>0x0</string>

with:

<key>IntelGFX</key>
<string>0x19168086</string>

Now we will need to patch our USB Flash Drive to make it able to install to NVMe M.2 SSD.

Post Installation Configuration

Open MultiBeast and:

  1. Quick Start / UEFI Boot Mode
  2. Drivers / Audio / VoodooHDA v2.8.9
  3. Drivers / Network / IntelMausiEthernet v2.3.0
  4. Drivers / USB / 3rd Party USB 3.0 5 Drivers / USB / Increase Max Port Limit 200 Series
  5. Bootloaders / Clover v2.4k r4173 UEFI Boot Mode + Emulated NVRAM
  6. Build / Select Install Drive / Install
  7. Reboot

Install Nvidia Web Drivers WebDriver-378.05.05.25f01.pkg

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Debug</key>
<false/>
<key>DropOEM_DSM</key>
<false/>
<key>Fixes</key>
<dict>
<key>AddDTGP_0001</key>
<false/>
<key>AddHDMI_8000000</key>
<false/>
<key>AddIMEI_80000</key>
<false/>
<key>AddMCHC_0008</key>
<false/>
<key>AddPNLF_1000000</key>
<false/>
<key>DeleteUnused_400000</key>
<false/>
<key>FIX_ACST_4000000</key>
<false/>
<key>FIX_ADP1_800000</key>
<false/>
<key>FIX_INTELGFX_100000</key>
<false/>
<key>FIX_RTC_20000</key>
<false/>
<key>FIX_S3D_2000000</key>
<false/>
<key>FakeLPC_0020</key>
<false/>
<key>FiX_TMR_40000</key>
<false/>
<key>FiX_WAK_200000</key>
<false/>
<key>FixAirport_4000</key>
<false/>
<key>FixDarwin_0002</key>
<false/>
<key>FixDisplay_0100</key>
<false/>
<key>FixFirewire_0800</key>
<false/>
<key>FixHDA_8000</key>
<false/>
<key>FixHPET_0010</key>
<false/>
<key>FixIDE_0200</key>
<false/>
<key>FixIPIC_0040</key>
<false/>
<key>FixLAN_2000</key>
<false/>
<key>FixRegions_10000000</key>
<false/>
<key>FixSATA_0400</key>
<false/>
<key>FixSBUS_0080</key>
<false/>
<key>FixShutdown_0004</key>
<false/>
<key>FixUSB_1000</key>
<false/>
<key>NewWay_80000000</key>
<false/>
</dict>
<key>Name</key>
<string>DSDT.aml</string>
<key>ReuseFFFF</key>
<false/>
</dict>
<key>HaltEnabler</key>
<false/>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<false/>
<key>Generate</key>
<dict>
<key>CStates</key>
<false/>
<key>PStates</key>
<false/>
</dict>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>Arguments</key>
<string>dart=0 nv_disable=1</string>
<key>DefaultVolume</key>
<string>MacHDD</string>
<key>Legacy</key>
<string>PBR</string>
<key>Log</key>
<true/>
<key>Secure</key>
<false/>
<key>Timeout</key>
<integer>3</integer>
<key>XMPDetection</key>
<string>NO</string>
</dict>
<key>Devices</key>
<dict>
<key>Audio</key>
<dict>
<key>Inject</key>
<string>1</string>
</dict>
<key>FakeID</key>
<dict>
<key>ATI</key>
<string>0x0</string>
<key>IMEI</key>
<string>0x0</string>
<key>IntelGFX</key>
<string>0x19168086</string>
<key>LAN</key>
<string>0x0</string>
<key>NVidia</key>
<string>0x0</string>
<key>SATA</key>
<string>0x0</string>
<key>WIFI</key>
<string>0x0</string>
<key>XHCI</key>
<string>0x0</string>
</dict>
<key>USB</key>
<dict>
<key>FixOwnership</key>
<false/>
<key>Inject</key>
<false/>
</dict>
<key>UseIntelHDMI</key>
<false/>
</dict>
<key>DisableDrivers</key>
<array>
<string>Nothing</string>
</array>
<key>GUI</key>
<dict>
<key>Hide</key>
<array>
<string>Windows</string>
<string>\EFI\BOOT\BOOTX64.EFI</string>
</array>
<key>Language</key>
<string>en:0</string>
<key>Mouse</key>
<dict>
<key>Enabled</key>
<true/>
<key>Speed</key>
<integer>8</integer>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<string>First</string>
<key>Tool</key>
<true/>
</dict>
<key>ScreenResolution</key>
<string>1920x1080</string>
<key>Theme</key>
<string>tonymacx86</string>
</dict>
<key>Graphics</key>
<dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<true/>
<key>NVidia</key>
<false/>
</dict>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<true/>
<key>AsusAICPUPM</key>
<true/>
<key>KernelCpu</key>
<false/>
<key>FakeCPUID</key>
<string>0x0506E3</string>
<key>KernelHaswellE</key>
<false/>
<key>KernelLapic</key>
<false/>
<key>KernelPm</key>
<true/>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>External icons patch</string>
<key>Find</key>
<data>
RXh0ZXJuYWw=
</data>
<key>Name</key>
<string>AppleAHCIPort</string>
<key>Replace</key>
<data>
SW50ZXJuYWw=
</data>
</dict>
<dict>
<key>Comment</key>
<string>change 15 port limit to 26 in XHCI kext (100-Series-10.12)</string>
<key>Find</key>
<data>
g710////EA==
</data>
<key>Name</key>
<string>AppleUSBXHCIPCI</string>
<key>Replace</key>
<data>
g710////Gw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#1</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>weAMBQAQAACJgw==</data>
<key>Replace</key>
<data>weAJBQAQAACJgw==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#2</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>D7aMiIIAAACD+QwPhTIBAA==</data>
<key>Replace</key>
<data>D7aMiIIAAACD+QkPhTIBAA==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#3</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>AMeDpAAAAAAQAABIi0gISA==</data>
<key>Replace</key>
<data>AMeDpAAAAAACAABIi0gISA==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#4</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>SYnGTYX2dGFBwecMSWP/vg==</data>
<key>Replace</key>
<data>SYnGTYX2dGFBwecJSWP/vg==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#5</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>hv8PAABIwegMD7cPgeH/Dw==</data>
<key>Replace</key>
<data>hv8PAABIwegJD7cPgeH/Dw==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#6_7</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>icGB4f8PAABIAdFIgfn/DwAAdzs=</data>
<key>Replace</key>
<data>icGB4f8BAABIAdFIgfn/AQAAdzs=</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#8</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>SYHF/w8AAEnB7QxJiwQkSA==</data>
<key>Replace</key>
<data>SYHF/w8AAEnB7QlJiwQkSA==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#9_10</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>BgIAAEyNuAAQAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAAQAABJKfQ=</data>
<key>Replace</key>
<data>BgIAAEyNuAACAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAACAABJKfQ=</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#11</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>AABJiY4iAQAAugAQAABIKQ==</data>
<key>Replace</key>
<data>AABJiY4iAQAAugACAABIKQ==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#12</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>yAAAAEkp17gAEAAATYskJA==</data>
<key>Replace</key>
<data>yAAAAEkp17gAAgAATYskJA==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#13</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>4b+AQBUGTYnWugAQAABFMQ==</data>
<key>Replace</key>
<data>4b+AQBUGTYnWugACAABFMQ==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#14</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>iWTY+EmBxAAQAABJgccA8A==</data>
<key>Replace</key>
<data>iWTY+EmBxAACAABJgccA8A==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#15</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>Bf8PAABIwegMZvfB/w8PlQ==</data>
<key>Replace</key>
<data>Bf8PAABIwegJZvfB/w8PlQ==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#16</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>weIIQQ+2wcHgDEQJ0EQJwA==</data>
<key>Replace</key>
<data>weIIQQ+2wcHgCUQJ0EQJwA==</data>
</dict>
<dict>
<key>Comment</key>
<string>IONVMeFamily Pike R. Alpha Patch#17</string>
<key>Disabled</key>
<false/>
<key>Name</key>
<string>IONVMeFamily</string>
<key>Find</key>
<data>RYTJD5XAD7bAweAMRAnYRA==</data>
<key>Replace</key>
<data>RYTJD5XAD7bAweAJRAnYRA==</data>
</dict>
</array>
</dict>
<key>RtVariables</key>
<dict>
<key>BooterConfig</key>
<string>0x28</string>
<key>CsrActiveConfig</key>
<string>0x3</string>
</dict>
<key>SMBIOS</key>
<dict>
<key>ProductName</key>
<string>iMac14,2</string>
<key>Trust</key>
<false/>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Detect</string>
<key>InjectSystemID</key>
<true/>
<key>NvidiaWeb</key>
<false/>
</dict>
</dict>
</plist>
@helunbaodegui
Copy link

Thank you

@slimjim181
Copy link

Work almost exactly for me!
Except had a later version of High Sierra therefore need a matching version of the Nvidia drivers.
Differences to your build:
Only 2x8GB of Corsair RAM
Gigabyte G1 GTX 1080
960 PRO 512GB rather than 950
I could run two 1440p screens no issues :)

Thank you very much

@andres-torres-marroquin
Copy link
Author

andres-torres-marroquin commented Nov 10, 2018

The Bluetooth sucks in Asus Z270I (even on Windows, and this extends to other versions of the mobo, like Z270G). it just stops working and the only fix is to turn off the computer, disconnect the power supply for 10 seconds and turn it on again. It annoyed me too much lately so I went ahead and started to find solutions, so I found out that the module on the Z170 is replaceable and I tried it on my Z270 with success.

The result is that the Bluetooth is now reliable and the Wifi without a dongle is a reality now. (even Continuity and Airdrop works)

I just installed BCM94352Z instead of the ASUS WIFI GO! included, the process is simple:

  1. Under the antenna shield in the mobo there is a small wifi/bt module. (yep that thing exists and looks like it is not common knowledge, I based my solution on this https://www.tonymacx86.com/threads/bcm94352z-installed-on-asus-z170i-pro-gaming-wifi-and-bt.191274/)
  2. You can unscrew it from the bottom of the mobo.
  3. Replace the module with the BCM94352Z (I bought it from newegg)
  4. After the physical installation you need to do the software installation.
  5. Add 4 kexts using kextbeast:
    a. BrcmFirmwareRepo.kext (https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads/, precisely RehabMan-BrcmPatchRAM-2018-0505.zip)
    b. BrcmPatchRAM2.kext (https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads/, precisely RehabMan-BrcmPatchRAM-2018-0505.zip)
    c. AirportBrcmFixup.kext (https://github.com/acidanthera/AirportBrcmFixup/releases, precisely, v1.1.6)
    d. Lilu.kext (https://github.com/acidanthera/Lilu/releases, precisely v1.2.8)

Everything works now without a wifi dongle.

@sinclairfr
Copy link

Thank you so so much for the tip about turning out the power and removing the plug. I have been pulling my hair with this issue for the past few hours... Bluetooth suddenly stopped working after I had to do a "hard" reboot because my screen froze.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment