osy Posted June 27, 2019 Share Posted June 27, 2019 (edited) I recently acquired the NUC Hades Canyon at a bargain and thought it was almost the perfect computer for me: extremely tiny, has a powerful GPU, and a lot of ports. The only downside is that it doesn't run OSX (well). Since this is my ideal Mac Mini, I called the project HaC mini and have been working on it for the past month. The goal is to have a perfect build that is indistinguishable from a real Mac. That means every hardware and software feature works perfectly. I have a background in hardware and platform engineering but no experience in Hackintosh, so this was a great learning opportunity for me as well. In the spirit of learning, I'm also releasing a series of writeups for various hard issues that I resolved in hope that it will help future hackintoshers. These writeups are independent of the NUC Hades Canyon. NUC Hades Canyon Installation Guide Writeup - Fixing Metal Drivers Writeup - Fixing Thunderbolt Hotplug Writeup - Fixing HDA Audio Some improvements to existing Hades Canyon work I've seen previously: Metal graphics issues fixed Workaround for 10.14.5+ GPU panics Thunderbolt 3 working including hot plug, usb-c + hot plug, boot without anything connected, sleep, wake, etc SDXC port working Second ethernet port working Power management working Some highlights in general: Full graphics acceleration Working services: iMessages, iCloud, Siri (with built in mics), Find My Mac, FileVault, etc Working Handoff, Continuity, Universal Clipboard, Apple Watch unlock with swapped Wifi card Multiple displays, two ethernet ports, TB3, eGPU with eject Pretty much everything works, there's some very specific hardware issues documented here and are being worked on. Front headphone doesn't work yet, SPDIF digital audio doesn't work yet Most USB ports have sleep/wake eject issues (this is a hardware/BIOS problem) For TB3 to work you must have at least one TB or USB-C device plugged in on boot and during wakeup (you are free to unplug and hot-plug while running) Edited July 10, 2019 by osy 7 3 Link to comment Share on other sites More sharing options...
osy Posted July 3, 2019 Author Share Posted July 3, 2019 (edited) Thanks to help from al3x, the “TB3 doesn’t show up without anything plugged in on boot” issue is resolved. TB3 is fully working now including sleep, hotplug, and usb c. Also the layout changes in AppleALC has been merged upstream. Edited July 3, 2019 by osy Link to comment Share on other sites More sharing options...
rongu Posted July 5, 2019 Share Posted July 5, 2019 (edited) On 6/27/2019 at 12:15 PM, osy said: I recently acquired the NUC Hades Canyon at a bargain and thought it was almost the perfect computer for me: extremely tiny, has a powerful GPU, and a lot of ports. The only downside is that it doesn't run OSX (well). Since this is my ideal Mac Mini, I called the project HaC mini and have been working on it for the past month. The goal is to have a perfect build that is indistinguishable from a real Mac. That means every hardware and software feature works perfectly. I have a background in hardware and platform engineering but no experience in Hackintosh, so this was a great learning opportunity for me as well. In the spirit of learning, I'm also releasing a series of writeups for various hard issues that I resolved in hope that it will help future hackintoshers. These writeups are independent of the NUC Hades Canyon. NUC Hades Canyon Installation Guide Writeup - Fixing Metal Drivers Writeup - Fixing Thunderbolt Hotplug Writeup - Fixing HDA Audio Some improvements to existing Hades Canyon work I've seen previously: Metal graphics issues fixed Workaround for 10.14.5+ GPU panics Thunderbolt 3 working including hot plug, usb-c + hot plug, boot without anything connected, sleep, wake, etc SDXC port working Second ethernet port working Power management working Some highlights in general: Full graphics acceleration Working services: iMessages, iCloud, Siri (with built in mics), Find My Mac, FileVault, etc Working Handoff, Continuity, Universal Clipboard, Apple Watch unlock with swapped Wifi card Multiple displays, two ethernet ports, TB3, eGPU with eject Pretty much everything works, there's some very specific hardware issues documented here and are being worked on. Front headphone doesn't work yet, SPDIF digital audio doesn't work yet Most USB ports have sleep/wake eject issues (this is a hardware/BIOS problem) I enjoy reading the write-up, Great Work . but where are your source of information, while dealing you, you have a habit taking others work, repackage and become your work or become Ha_C mini from version 1.2-1.3. Like another Tonymax86 . If all those write up are all your work, I respect. It unlikely after some investigation. Edited July 27, 2019 by rongu 1 Link to comment Share on other sites More sharing options...
osy Posted July 9, 2019 Author Share Posted July 9, 2019 Thanks! What wake issue are you experiencing? Did you disable the IGPU? Link to comment Share on other sites More sharing options...
rongu Posted July 9, 2019 Share Posted July 9, 2019 (edited) It refuse to wake up most of the time and have to reset. Yes I did tried with IGPU disable but to no avail. It maybe due to the bluetooth/wireless card that I am using. Are you able to get quicksync working without whatevergreen.kext ? Edited July 9, 2019 by Alex.C Link to comment Share on other sites More sharing options...
osy Posted July 9, 2019 Author Share Posted July 9, 2019 Maybe it’s due to tb3 panic: https://github.com/osy86/HaC-Mini/issues/11 I would try to remove the force power stuff. I don’t use whatevergreen since I have the IGPU disabled. So I don’t have quicksync either but shouldn’t AMD VCE work as well? Link to comment Share on other sites More sharing options...
osy Posted July 10, 2019 Author Share Posted July 10, 2019 Updated the release package to 1.2. I removed the TbtForcePower driver because it's not 100% working (will add it back when it's stable). Updated Lilu+AppleALC to latest release build (my changes were merged). Finally, using the new Polaris22MetalFixup that does not require a hacked-up Lilu. Link to comment Share on other sites More sharing options...
rongu Posted July 10, 2019 Share Posted July 10, 2019 19 hours ago, osy said: Maybe it’s due to tb3 panic: https://github.com/osy86/HaC-Mini/issues/11 I would try to remove the force power stuff. I don’t use whatevergreen since I have the IGPU disabled. So I don’t have quicksync either but shouldn’t AMD VCE work as well? I thought it would be nice to have quicksync feature since the hardware is already there. BTW which version of bios do you have in your nuc8 ? Link to comment Share on other sites More sharing options...
osy Posted July 10, 2019 Author Share Posted July 10, 2019 I’m on 0056 I disable the IGPU because when enabled it wakes up to a black screen for me. Link to comment Share on other sites More sharing options...
rongu Posted July 10, 2019 Share Posted July 10, 2019 (edited) 11 minutes ago, osy said: I’m on 0056 I disable the IGPU because when enabled it wakes up to a black screen for me. Was on 0057 bios, downgrade to 0056 still no good wake on sleep even with disable IGPU. Otherwise, the system is very usable and stable. Edited July 10, 2019 by Alex.C Link to comment Share on other sites More sharing options...
osy Posted July 10, 2019 Author Share Posted July 10, 2019 What do you get for the wake reason? What’s the output of pmset -g log? Link to comment Share on other sites More sharing options...
rongu Posted July 10, 2019 Share Posted July 10, 2019 36 minutes ago, osy said: What do you get for the wake reason? What’s the output of pmset -g log? I get about 50% success rate, see attach nuc8.txt Link to comment Share on other sites More sharing options...
osy Posted July 10, 2019 Author Share Posted July 10, 2019 Do you have any usb devices plugged in? If so what port(s)? Did you disable portable device charging mode? Link to comment Share on other sites More sharing options...
rongu Posted July 10, 2019 Share Posted July 10, 2019 (edited) 15 hours ago, osy said: Do you have any usb devices plugged in? If so what port(s)? Did you disable portable device charging mode? Yes charging mode disable, had a usb 3 hub connected but had that rule out. Have make some progress, 100% wake from sleep with clover->dsdt->patches "change NTFY to XTFY" disabled. Not that I know, I am trying to understand your code in SSDT-tbtOnPCH.aml to find out what I have done or caused (break some TB3 stuff I think). Edited July 11, 2019 by Alex.C Link to comment Share on other sites More sharing options...
rongu Posted July 11, 2019 Share Posted July 11, 2019 (edited) HacC_mimi 1.1 With "change NTFY to XTFY" disabled" OR "change RWAK to XWAK" disabled, system sleep & wake consistently with dual GPU (IGPU enabled). Issues: Wakeup from USB, display does not power on immediately. It can be resolve by adding darkwake=0, display almost power up immediately (1s maybe) after a key press Issues: Low (or not charging), no Extra Operating Current (1600mA) & no Sleep current (2100mA) when connecting to IPad via USB3, AppleBusPowerController not loading. Fix, add clover->dsdt->patches "change H_EC to EC" with SSDT-USBX.aml injection. AppleLPC.kext loaded with LPC Injector (Xnu CPU Power Management) https://pikeralpha.wordpress.com/2013/10/05/xnu-cpu-power-management/ Edited July 11, 2019 by Alex.C Link to comment Share on other sites More sharing options...
osy Posted July 11, 2019 Author Share Posted July 11, 2019 I wonder if there's a difference between the HVK and HNK that affects the acpi changes. I do not want to use darkwake=0 because I like to use dark wake. I guess it's a tradeoff, if you want longer wake times vs dark wake features. H_EC => EC may cause other issues because the NUC has a fake EC. That's why I didn't include that patch. However, I haven't ran into any issues that is caused by that and if it fixes charging issues, then I'll add it. AppleLPC should already be loaded due to the device-id changes. Link to comment Share on other sites More sharing options...
rongu Posted July 11, 2019 Share Posted July 11, 2019 (edited) 20 minutes ago, osy said: I wonder if there's a difference between the HVK and HNK that affects the acpi changes. I do not want to use darkwake=0 because I like to use dark wake. I guess it's a tradeoff, if you want longer wake times vs dark wake features. H_EC => EC may cause other issues because the NUC has a fake EC. That's why I didn't include that patch. However, I haven't ran into any issues that is caused by that and if it fixes charging issues, then I'll add it. AppleLPC should already be loaded due to the device-id changes. Strange ? for my case AppleLPC.kext was never loaded Edited July 11, 2019 by Alex.C Link to comment Share on other sites More sharing options...
osy Posted July 11, 2019 Author Share Posted July 11, 2019 Can you post a ioregistry dump (or ioregistryviewer file)? Link to comment Share on other sites More sharing options...
blazinsmokey Posted July 12, 2019 Share Posted July 12, 2019 I noticed you said that you have tb and usb-c hot plug working, but in your commits you said you removed b/c it doesn't. Could you go into a bit more detail on what's not working or what is messed up. Is it the the Notify methods or the Thunderbolt Efi driver? Been working on TB/USB-C hot plug on my XPS 9560 without using the express card trick and TB hot plug for sometime with not much success. I like the idea of using notify, almost like the _ON/_OFF method we use for disabling NVIDIA on Optimus. Link to comment Share on other sites More sharing options...
rongu Posted July 12, 2019 Share Posted July 12, 2019 (edited) 11 hours ago, osy said: Can you post a ioregistry dump (or ioregistryviewer file)? Here you go, ioreg.zipnuc8.zip Edited July 12, 2019 by Alex.C Link to comment Share on other sites More sharing options...
osy Posted July 12, 2019 Author Share Posted July 12, 2019 7 hours ago, blazinsmokey said: I noticed you said that you have tb and usb-c hot plug working, but in your commits you said you removed b/c it doesn't. Could you go into a bit more detail on what's not working or what is messed up. Is it the the Notify methods or the Thunderbolt Efi driver? Been working on TB/USB-C hot plug on my XPS 9560 without using the express card trick and TB hot plug for sometime with not much success. I like the idea of using notify, almost like the _ON/_OFF method we use for disabling NVIDIA on Optimus. No, I only removed the fix for the controller not showing up when nothing is connected. I removed it because it wasn’t stable enough. Hotplug still works; you just need to have some usbc/tb3 device plugged in during boot and before any sleep wake. Once it’s booted in you’re free to hotplug. Link to comment Share on other sites More sharing options...
blazinsmokey Posted July 13, 2019 Share Posted July 13, 2019 22 hours ago, osy said: No, I only removed the fix for the controller not showing up when nothing is connected. I removed it because it wasn’t stable enough. Hotplug still works; you just need to have some usbc/tb3 device plugged in during boot and before any sleep wake. Once it’s booted in you’re free to hotplug. Thanks a lot for the response. I think I will try to implement your idea of notifying NHIO with my system. Link to comment Share on other sites More sharing options...
osy Posted July 13, 2019 Author Share Posted July 13, 2019 (edited) On 7/12/2019 at 12:15 AM, Alex.C said: Here you go, ioreg.zipnuc8.zip I checked your ioreg and we have the same device id for LPC (8086:A152) and my config.plist changed it to 8086:9CC1. What OSX version are you trying to run? AppleLPC.kext should attach on 8086:9CC1 on Mojave. In terms of charging current, how are you checking the current output? EDIT: I took a USB Charge Doctor (one of these https://www.adafruit.com/product/1852 ). On both windows and OSX, I measured 0.5A limit on the front blue port and 0.7A-0.9A output on the front yellow port. No difference in behaviour from windows and osx. No USBX/H_EC patches needed. No AppleBusPowerController loaded. I don't have any USB 3.0 device or 3.0 compatible charge doctor so I cannot confirm the limits listed in the specs (https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/nuc-kits/NUC8i7HVK_TechProdSpec.pdf) which are 0.9A on blue ports and 1.5A on yellow port. If someone can measure the charging current in Windows and in OSX with and without loading AppleBusPowerController, it would be great. Edited July 13, 2019 by osy Link to comment Share on other sites More sharing options...
rongu Posted July 14, 2019 Share Posted July 14, 2019 (edited) 12 hours ago, osy said: I checked your ioreg and we have the same device id for LPC (8086:A152) and my config.plist changed it to 8086:9CC1. What OSX version are you trying to run? AppleLPC.kext should attach on 8086:9CC1 on Mojave. In terms of charging current, how are you checking the current output? EDIT: I took a USB Charge Doctor (one of these https://www.adafruit.com/product/1852 ). On both windows and OSX, I measured 0.5A limit on the front blue port and 0.7A-0.9A output on the front yellow port. No difference in behaviour from windows and osx. No USBX/H_EC patches needed. No AppleBusPowerController loaded. I don't have any USB 3.0 device or 3.0 compatible charge doctor so I cannot confirm the limits listed in the specs (https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/nuc-kits/NUC8i7HVK_TechProdSpec.pdf) which are 0.9A on blue ports and 1.5A on yellow port. If someone can measure the charging current in Windows and in OSX with and without loading AppleBusPowerController, it would be great. 10.14.5 in NUC8i7HNK. I notice you did not mention disable IGPU and VT-d in your install guide and I cannot install without any of them. Do you have NUC8i7HVK ? I do not have a config.plist that changed it to 8086:9CC1. I am using the config.plist from HaC_mini 1.1 in your guide. What version of IORegistryExplorer are you running ? I am on v2.1. I do not have usb current meter but I use my iPad as reference and with see attach. This is with my Alienware 13r3 (ssdt-usbx injected) with iPad connected and charging (not with my nuc now). I know is better to have a mA meter check out. Edited July 14, 2019 by Alex.C Link to comment Share on other sites More sharing options...
osy Posted July 14, 2019 Author Share Posted July 14, 2019 42 minutes ago, Alex.C said: 10.14.5 in NUC8i7HNK. I notice you did not mention disable IGPU and VT-d in your install guide and I cannot install without any of them. Do you have NUC8i7HVK ? I do not have a config.plist that changed it to 8086:9CC1. I am using the config.plist from HaC_mini 1.1 in your guide. What version of IORegistryExplorer are you running ? I am on v2.1. I do not have usb current meter but I use my iPad as reference and with see attach. This is with my Alienware 13r3 (ssdt-usbx injected) with iPad connected and charging (not with my nuc now). I know is better to have a mA meter check out. I forgot to have disable IGPU, I will add it. VT-d doesn’t have to be disabled. I use parallels so I need it on. The setting is here: https://github.com/osy86/HaC-Mini/blob/master/Clover/config.plist#L167 That preference panel doesn’t mean anything. It just prints what you put in the USBX dsdt. Try putting in something like 9999 and it’ll print it out. You need a usb 3.0 current monitor device or a jailbroken iPhone/iPad running BatteryLife (or a rooted android device running some charging monitor app). Link to comment Share on other sites More sharing options...
Recommended Posts