- Joined
- Sep 26, 2015
- Messages
- 126
- Motherboard
- Gigabyte H270N WiFi
- CPU
- i5-7500
- Graphics
- Quadro K1200
- Mac
Cayprol's HTPC: Sierra&Win10 | iMac17,1
i5-7500 | GA-H270N-Wifi | Quadro K1200 | Samsung 960pro NVMe SSD
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,
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 outputeven 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:
- Clover configurator
- IORegistryExplorer
- Multibeast 9.0.1
- Clover EFI installer
- DPCIManager
- maciASL Rehabman's Bitbucket link
- IntelMausiEthernet.kext
- USBInjectAll.kext
- XHCI-200-series-injector.kext
- AppleALC.kext release 1.1.0
- Lilu.kext release 1.0.0
- audio_cloverHDMI-120.command
- nVidia web driver 367.15.10.35f01
- AGDPFix 2
- HWSensors
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:
- Edit plist using Clover Configurator
- Create SSDT using maciASL
- 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.
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
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
- 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 /
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=YESThese 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).
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 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
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.
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.
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
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
Last edited: