Contribute
Register

[SUCCESS]Sierra&Win10 | i5-7500 | GA-H270N-Wifi | Quadro K1200 | Samsung 960pro NVMe | iMac17,1

Status
Not open for further replies.
Joined
Sep 26, 2015
Messages
126
Motherboard
Gigabyte H270N WiFi
CPU
i5-7500
Graphics
Quadro K1200
Mac
  1. MacBook Pro
Cayprol's HTPC: Sierra&Win10 | iMac17,1

i5-7500 | GA-H270N-Wifi | Quadro K1200 | Samsung 960pro NVMe SSD


Components

Gigabyte GA-H270N-Wifi Motherboard with Dual HDMI, DVI, i219, i212, ALC1220
https://www.amazon.com/dp/B01N2V075M/?tag=tonymacx86com-20

Intel i5-7500 Kabylake Processor with 4C4T, 65w
https://www.amazon.com/dp/B01MZZJ1P0/?tag=tonymacx86com-20

Streacom FC5 Alpha Optical Black with Passive CPU cooling, One slot PCIe expansion
https://www.newegg.com/Product/Product.aspx?Item=9SIA5FY2MW2171

PNY Quadro K1200 with 4 DP1.2 ports, single slot, 45w, half-height, no auxiliary power
https://www.amazon.com/dp/B00UPHAT2C/?tag=tonymacx86com-20

Streacom ZF240 PSU with Passive cooled
https://www.newegg.com/Product/Product.aspx?Item=9SIA5FY3DR2144

G.Skill Ripjaws V DDR4 16GB (8GB*2) 2400mhz
https://www.newegg.com/Product/Product.aspx?Item=N82E16820232174

Samsung 960 Pro 512GB NVMe SSD
https://www.amazon.com/dp/B01LXS4TYB/?tag=tonymacx86com-20


Already Owned

ASUS PB287Q 28'' 4K TN DP1.2 Dual HDMI 1.4
https://www.amazon.com/dp/B00KJGY3TO/?tag=tonymacx86com-20

Dell U2715H QHD IPS DP1.2 miniDP 1.2 2HDMI
https://www.amazon.com/dp/B00P0EQD1Q/?tag=tonymacx86com-20



Comments

This is my second complete hackintosh build. The first one was a z97 Haswell build which didn't require much modification to get it done by the time I was setting it up. This one was built in the mind to be passive cooled and function as a media center for my upcoming 4k TV/monitor. Smooth experience for Bluetooth & Wifi is critical since I will mostly be sitting in distance with Apple Magic trackpad 2+Magic keyboard 2. There's no intensive use for this build. Big Thanks to all the developers made this available for us.

Update 3/19/17_Post-Install_Graphics Card: I didn't understand what I was doing with the Graphics section, after a lot of rework, I think I can provide some actual useful info now.
Update 3/27/17_OS version: 10.12.4 came out, nVidia driver isn't compatible, but everything else is fine. Tested on the clone disk. The new nVidia driver got released the next day, update to 10.12.4, nVidia driver asked for updating driver, reboot, apply AGDPfix again, reboot, everything working but no DP HDMI audio, it shows up in System Pane, but no playback.


What Works
  • Sleep/awake
  • Sleep/awake over long time(12hrs+)
  • Sleep/awake by Magic keyboard 2 or Trackpad 2
  • USB3.0
  • WiFi 2.4/5G
  • Bluetooth
  • iPhone hotspot
  • iMessage
  • On board Audio ALC1220 (not sure whether SPDIF works)
  • DP audio through GPU

To Be Fixed
  • Dual HDMI on-board output
  • Dual HDMI on-board output audio

What Doesn’t or Partially Work
  • HD630 sleep/awake, awake has no video output and after certain timeout, it always reboot.
    No solution found.

  • With a natively working wireless NIC, connecting BT devices, shutdown problems. Solution See Post-install Wifi and BT.
    Installing a nvidia dGPU(gtx950, K1200) fixed it.
    However, with nVidia card+m.2 BCM94352Z, shutdown still reboots, but sleep works just fine. Ticking Fixshutdown solve the problem but lose USB device wake from shutdown.
  • When sleeping, disconnect USB devices including all ports on both 2.0 & 3.0 devices will wake the computer up but no video output even with a dGPU fully installed.
    Still don't know why, I leave it as it is. just remove/insert usb devices only when the OS is up and running b4 going to sleep.
    I have fixshutdown ticked in config.plist, so USB devices have no influence once machine shuts down.
  • Temperature reading
    The current HWMonitor plug-in cause kernel panic.

    For cpu, Intel Power gadget works, but for other components or more elegant way of reading like iStats or HWmonitor/HWsensor, there's no update.
    HWSensors 6.25.1426 works, just need to update all the kexts that comes with it at/L/E. Must Use the Binary version of it. I use iStats purely for its GUI
  • Handoff
    Hand-off can only do Hackintosh→iPhone but not iPhone→Hackintosh, A message "Hand off cannot be competed" would show.
    This is due to BCM94352Z, using a natively supported Broadcom chip would solve the problem. More details look to Post-Install section of WiFi & BT.
  • Bluetooth
    Bluetooth functions laggy when connecting to 2.4G wifi. In my house, the 2.4G & 5G shares the same SSID. I cannot find any normal scenario that it connects to the 2.4G instead of 5G. However, with the shutdown problem I have with bluetooth devices, once the system auto-reboots by shutdown, Wifi will connect to 2.4G which causes laggy Bluetooth.
    Don't really know how to solve this, Workaround is ticking FixShutdown at Acpi → Fixes, the only thing you lose is all USB functions at shutdown. But I always get 5G connected even waking from sleep by BT devices.
    With a natively supported NIC(BCM94360CD), this didn't happen.


Installation

Create a UniBeast USB by Sierra 10.12.3(works for 10.12.4, 10.12.5) installer with the UEFI mode and drag all the needed utilities into it.

List of these tools:

For troubleshooting and convenience reason, I took extra steps for USB3.0 and NVMe drive to work at Installation by using Rehabman's USB guide and NVMe guide with his scripts.

The Basics:
  1. Edit plist using Clover Configurator
  2. Create SSDT using maciASL
In the config.plist on USB, REMEMBER to save it after editing!
  • Kernel and Kext Patches → FakeCPUID, enter 0x0506E3
  • Under Boot→ Arguments, tick Verbose, dart=0, nv_disable=1

NVMe drive:
I think there’s two way that can make a NVMe drive usable on the fresh install.
Method 1, is to patch kext IONVMeFamily.kext
Method 2, the one I use, is meant to be done in post-install but I found it working no problem at installation.

If you choose method 2, follow this guide and github README as well.
  • Install windows 10 to find the ACPI path.
  • Generate HackrNVMeFamily.kext with --spoof flag in terminal with the script patch_nvme.sh, place the kext in Clover/kexts/Other. IONVMeFamily.kext must be vanilla. (This step done on macbook pro 2016)
  • Create the SSDT for this drive, maciASL was used, script provided in the guide. The product SSDT goes to /EFI/CLOVER/ACPI/patched.
USB3.0 at Installation:
This particular board only has 2 USB2.0 port header. I had no front USB port for my chassis, so I had to use USB 3.0 which will stop you at HID: shim legacy 2 while getting to macOS installer. If using a USB2.0 port, this step is not needed.
We need to increase port limit from default 15 to 26 and load kexts at /EFI/Clover/kexts/Other.

Increase port limit:
Kernel and Kext Patches → KextToPatch → +
  • Name: AppleUSBXHCIPCI
    Find: 83BD74FFFFFF10
    Replace: 83BD74FFFFFF1B
    Comment: Increase port limit
Rename EHC* to EH0*:
Acpi → DSDT → Patches → +
These two patch would let USBInjectAll.kext to load:
  • Comment: change EHC1 to EH01
    Find: 45484331
    Replace: 45483031
  • Comment: change EHC2 to EH02
    Find: 45484332
    Replace: 45483032
Kexts:
  • Place USBInjectAll.kext & XHCI-200-series-injector.kext at /EFI/CLOVER/kexts/Other


UEFI Configuration
I use this by ammulder.


Install macOS Sierra to drive & EFI
Boot to USB and at the clover bootloader select External, if everything goes well, we are now in the macOS installer and it will restart once complete.
Once we are at the Clover bootloader again, select HFS.
At desktop, NVMe and USB 3.0 both work because I booted from USB. Drag everything we threw into the USB out.
To make it bootable on its own, we need to Install EFI, adjustment in config.plist, install kexts:
  • Quick Start → UEFI Boot Mode
  • Build → Install
  • EFI will be mounted automatically, use Clover Configurator to mount or unmount
  • Clover Configurator → EFI/EFI/Clover/config.plist and Under Kernel and Kext Patches→ FakeCPUID, enter 0x0506E3,
    [*]Disable SIP(will need it at post-install) at RT Variables--> CsrActiveConfig=0x67, File save.
  • Disable SIP on the USB as well
  • Install HackrNVMeFamily.kext to /Libarary/Extensions (aka /L/E) and SSDT(get it from the USB EFI, if did put in USB, mount in Clover Configurator) to ACPI/patched
    To install kext, I always I do it by the old fashion way in terminal, copy all files → permission → rebuild cache.
    sudo cp -R /path/to/the/kext/NameOfKext.kext
    sudo touch /System/Library/Extensions && kextcache -u /
Restart, this time without the USB


Post-Install

Graphics card:
Do this all using HDMI connection is highly recommended.
Start clover EFI installer, the version I use was r4012.
At Installation type --> customize, since we had an older version from MultBeast, the already installed items will be upgraded, the only one to tick additionally is under Drivers64UEFI → EmuVariableUefi-64, then just install it.
EmuVariableUefi-64 has to do with nvram, however, if we don't have this installed, upon every reboot, instead of the NVIDIA Web Driver, the default driver will always be selected.
Note: Post-Install is not listed in Order particular but I found if EmuVariableUefi-64 isn't present iMessage couldn’t be fixed. This thread helps a lot on getting the web driver loaded and some troubleshooting.

Open config.plist again add Boot Arguments:
  • Boot args, there's really none mandatory in this section for newer Clover version & Sierra, but nv_disable=1 must NOT be ticked for Sierra Web Driver to work. I keep darkwake=8 for hibernating mode problem I am trying to solve on other machines. The rest of them just unticked.
  • Custom Flags:
    PCIRootUID=0 ; GraphicsEnabler=YES These two boot args are not even for Clover use, they don't matter, the reason why I thought they were working is explained in Note below.
  • System Parameters section, tick NvidiaWeb (This is the must) & set Inject Kexts to Yes(Detect also works for me).
Install nVidia Webdriver and must restart at the end of installation.
SMBIOS → The magic wand on the right hand side. By default Multibeast makes it 14.2, I chose 17.1 at Clover configurator and shake Week of Manufacturer and Unit Number a couple times.
Disable SIP at RT Variables--> CsrActiveConfig=0x67 if have not, so we can fix it by running AGDPfix.
Save and reboot.
It was expected to counter monitor going to sleep after loading Apple bar, this is due to the system definition we are using which includes iMac 15/17 and MacPro6.
I restart the machine again and boot by USB, select HFS which supposes to at least run into desktop.
Run AGDPfix, it take a little bit of time, will prompt when finished. Hit ok to Restart.
Boot without USB, this time the monitor "going to sleep" should be fixed and Web driver is functioning.

Note:
nv_disable=1 is useful to troubleshoot
nvda_drv=1 is not needed in Sierra as many guides suggested.
I added a lot of useless stuff because the first time installing nVidia card, I keep getting the monitor going to sleep after boot sequence, regardless what system definition and combination of boot args etc.. The only thing to go through it is by using nv_disable=1 which Web Driver is showing selected, but everything graphic acceleration is not really in effect since about my mac showing 7mb vram.
I messed around with the unneeded tweaks and somehow got it to work.
I did a few re-installation just out of curiosity how things actually work, I realized this card is using miniDP(1.2), I was using a miniDP to miniDP passive cable directly connect it to Dell U2715H.
Switching to a miniDP to HDMI passive cable and connect to a HDMI port of all the monitors I have on hands fix the problem. However multi-monitor only works when Hot-plugging(any connection) after system is booted with one or more "HDMI ONLY" connections. I now use two miniDP to HDMI passive cable, the system runs multi-monitor just fine in my use case.

I found the problem that I cannot have more than 1 connection to the same monitor regardless HDMI/DP.
By having 1 connection to each, I tried DP to PB287Q, HDMI to U2715H, HDMI to a HP pavilion 1080p monitor(can't recall the model number), I could boot without any issue with tri-monitor.



HIDPI:
I am using a 4k with another 2.5k monitor, the 4k one had hidpi mode with the Panel sliding bar by default, I believe it's because HiDPI mode will only be available on monitor resolution close or higher than Retina.
The 1440p monitor does not have HiDPI mode by default.
Open terminal and run
Code:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
Enter password, reboot, now the 1440p monitor show 720p hidpi mode. (Option and click will even show more options)
Take a screenshot (cmd+shift+3) and right click → get info to check the resolution is correct while UI in quadruple size.
If the default HiDPI scaling are not what you desire, I followed this guide Adding/Using HiDPI custom resolutions by Rehabman and working very well, be sure not to scale it way too high, performance wise, the capability of DP 1.2 is also applied.

Ethernet:
Install IntelMausiEthernet.kext and reboot, connect ethernet cable, hot-plug just fine

USB 3.0:
If you used 2.0 ports until now. Go back to USB3.0 at Installation
If you used 3.0, just do what exactly was done when making the USB to the actual config.plist and Install kext at /L/E.
Then you can continue to this guide #1, section 7.2 get it right

Basically, we are cutting down the additional ports to meet the 15 default.
Increase port limit has to be done first then be disabled.
I am not sure what the potential issues are if leaving it at 26 though.
Use IORegistryExplorer to learn the mapping of USB for 2.0 & 3.0 device.
Note: This board does not have 3.1 but only a 3.0 type-c.
  • Create SSDT based on the mapping and put it into ACPI → patched
  • Go set the boot arg to disable additional ports down to 15, I don't need one of the USB3 header completely, so I use "uia_exclude=HS01;SS01" with out quotes as the boot arg to meet 15 limit.
  • Disable the increase port limit under Kernel and Kext Patches → KextsToPatch.
Note: My SSDT for USB is attached. It includes All back IO & 2.0 header & 3.0 header & m.2@front when using USB2.0 device like Bluetooth.
Update 6/2/17: Following this guide by Rehabman for USB power property, I redo the SSDT, it fixed the problem that ipad couldn't charge by USB.

Audio:
There are different ways to do this, I tried Voodoo, AppleHDA patching but this is what I think the easiest and cleanest way to do it which served me very well. Big thx to all contribute figuring out the layout-id and kext development again.
SIP disabled.
Change it in config.plist and reboot.
Get HDMI through gpu working:
Note: HDMI does not have system volume control as expected. Volume control only through hardware or software.
Go to config.plist and rename the two DSDT patches and reboot.
HECI → IMEI 48454349 to 494D4549
HDAS → HDEF 48444153 to 48444546
Use IORegistryExplorer to search and check rename
Run audio_cloverHDMI-120.command (requires network) just follow and answer questions, it will ask to install HDMI but DP works, it will get to the question of wanting to install for ATI/nVidia card.
Reboot, HDMI audio are present. Unlike other GPU I have in hands, 980/950, the monitor model number are not shown in audio but instead, it shows DISPLAYPORT and correspond to the four of them on GPU.

ALC1220 front and rear
Install both of these two kexts to /EFI/CLOVER/kexts/10.12
using layout-id 11 (Devices → Audio) by just change the default layout ID number 1 to 11

  • AppleALC.kext release 1.1.0
  • Lilu.kext release 1.0.0.
Reboot, ALC1220 works flawlessly, the support was recently added.

iMessage:
An iDiot’s Guide to iMessage works very well for me. The luck relies on the shake number. I made it working on the second try.

Wifi and BT:
I ordered a BCM94352Z on ebay under $30 including shipping and tax which took about 3 weeks to arrive.
I was using HD630 and Fenvi T919(had to choose between GPU or Wifi/BT) which works natively out of box due to it’s broadcom chip during these weeks.
But after having Apple magic trackpad and keyboard connected, shutdown would shutdown and instantly reboot. Ticking FixShutdown does work, but at the same time all USB devices are not working after shutdown.
This is going to be my HTPC which has an IR receiver(Flirc SE, the first gen flirc) needing USB to work to wake it up from shutdown.

So the final configuration becomes nVidia card+BCM94352Z m.2 2230 (The on-board wireless NIC is Intel)
Followed this guide by Ross Fisher which works perfectly except I needed to fix permission and rebuild cache after installing kexts at step1.
In step2, there were a few repetitive KextToPatch entries in the config-bcm94352-120.plist. I just disabled them and use the newest, resolving the lag and try to pair BT with my iphone(hotspot). Once BT connected with the phone once, Handoff works.
Hotspot and 5G WiFi works jut fine after 1st patch try.(I am in the US with AT&T)

The only hiccup I had was the SSDT file for USB wasn't entirely correct. I re-done it and cut down 1set(2.0+3.0) of front 3.0 ports. Not a problem since I still have 1 set fulling working in front which won't likely be used for a HTPC.
If anyone needs it SSDT is attached.

Hand-off doesn't seem to be working correctly though, only handing things over to other device not the other way around.
Using a natively supported Broadcom chip can fix the problem as many reported, but none of them comes with m.2 A/E key.
So adapters are needed, I've found adapters like PCIe x2, m.2 M key, m.2 A/E key, to the Apple BCM chip connector(proprietary).
Edit 4/24/17: The adapters came in a few days ago, with a BCM94360CS2 it works OBB, handoff response is a bit slower than my MBP13'' 2016, I suppose that's due to CS2 being much older NIC, if you can physically mount the extra antennas came with BCM943602CS and BCM94360CD (3 & 4 antennas), it should be better in terms of latency/bandwidth.

----------------------------------------------------------------------------------------
Windows
I started windows Installation once all the mac side of things are tuned. This is relatively easy.
  • Prepare a USB bootable installer by a real PC with win10 using windows media creation tool.
  • Made a 400GB GUID partition on Mac, Disk Utility.
  • Restart and enter boot menu by pressing F12, boot UEFI USB.
  • Follow all the instruction until we are at Custom Install.
  • Delete the 400GB partition we just made(there's 4 with one additional unallocated which is normal.
  • Refresh, and hit new on the new unallocated partition.
  • Select Next on the new volume from last step. It prompts saying it will create more partition for system reserve etc...
  • Finish installation by booting into Windows (Boot WINDOWS from EFI) and change the default bootloader back to Clover or the Mac volume name shown in UEFI. The rest is just regular windows post-install
Note1: I have exFAT partition(300GB) created from windows which works fine on both OS to share files. System protection must be turned of to shrink volume more than half on system partition.

Note2: Intel I219V and the replacement BCM94352Z wireless NIC instantly work once boot into desktop.

There's a few things I found it useful
Fix Time
I needed to do all 3 steps do make it to work.

Fix num lock at lock in
Link
 

Attachments

  • SSDT for USB.zip
    4.1 KB · Views: 395
  • EFI.zip
    20.2 MB · Views: 539
Last edited:
Sooooo great, Ghost! Incredibly grateful. Thanks! Will post when I get my own build going :)
 
Thanks Ghost! Running flawlessly :)
 
thx, good luck with the build!


Nice, did you encounter any particular problem out of expectation?


Nope, only issue i still have left is the integrated HD630. I was able to get full acceleration working with the fix in the Kaby Lake post but it seems to be temporary and i encounter multiple kernel panics once enabled. Tho i'm still waiting for my GTX970 so this problem should solve itself.
 
@GhostHitWall Thanks for the guide! I'm building a new CustoMac and my goal is to put both Win10 and Sierra on the same Samsung SSD 850 EVO 500GB. Since I'm very new to this kind of setup, I have a general question for you: can I install the Windows part first and then go ahead with OSX or is this not recommended? Do you know if there's any good guide that would help me in setting up this dual-boot system? Thanks.
 
@GhostHitWall Thanks for the guide! I'm building a new CustoMac and my goal is to put both Win10 and Sierra on the same Samsung SSD 850 EVO 500GB. Since I'm very new to this kind of setup, I have a general question for you: can I install the Windows part first and then go ahead with OSX or is this not recommended? Do you know if there's any good guide that would help me in setting up this dual-boot system? Thanks.

It is not recommended but doable I believe.
The most common way to do it now is to use only Clover as the only bootloader to boot both into macOS and Windows.
To install windows first, it will create it's own EFI and bootloarder on the drive.
And the only thing you need to do should be just replacing the EFI partition with clover, but I am not 100% certain what is the most optimal way to do it.

Is there a specific reason why you wanna do that?
 
Is there a specific reason why you wanna do that?

The reason is that I need a fully working PC for my job asap and I'm quite sure that due to my poor knowledge of the whole OSX / hackintosh configuration process it will take me some time before I get a stable Sierra setup. In the meanwhile I can use Win10 :mrgreen:
 
The reason is that I need a fully working PC for my job asap and I'm quite sure that due to my poor knowledge of the whole OSX / hackintosh configuration process it will take me some time before I get a stable Sierra setup. In the meanwhile I can use Win10 :mrgreen:
Oh, in that case, why don't you try to install macOS on a separate drive?
And the only thing you need to do is not to accidentally format the working WIN10 drive.

Then once you have macOS installed with clover, set the default boot option to the macOS drive which will load clover, and clover will detect all possible booting volumes on the system which includes WIN10.
or to that point if you really want both OS on the same drive, just fresh install Win10 on a new partition like many dual boot systems.
 
Hi,

This is my first Hackintosh build. I have the same setup as you but using onboard graphics. I am trying to follow this guide but getting lost at these steps:

The Basics:
  1. Edit plist using Clover Configurator
  2. Create SSDT using maciASL <-- where do i find this?
Increase port limit:
Kernel and Kext Patches → KextToPatch → +

how do i enter this info?
  • Name: AppleUSBXHCIPCI
    Find: 83BD74FFFFFF10
    Replace: 83BD74FFFFFF1B
    Comment: Increase port limit
Also, do i use any boot args with the initial install of the UEFI?
 
Status
Not open for further replies.
Back
Top