Contribute
Register

Intel NUC 10 Frost Canyon

That’s why I asked the question.

Anybody got a fully functioning 0.6.3 EFI for a NUC10 i7 they can share? I know to change the 3 Parameters that make it unique.

Thanks.


Dennis
or you can make the changes yourself?
 
Good evening everyone, sorry to join late this party, I've been reading your comments and studying the OpenCore configurations from @Leesureone (thanks mate!) and @NCMacGuy (thanks too!) whose EFI folders made my NUC10i7FNH2 work straight out of the box with an SSD that had already installed Catalina (that I tested on a Lenovo laptop).

Before posting a few questions that I would really appreciate your feedback to understand, here are some good news.

First, I updated to latest available bios FN0046. Went straight to OC v0.6.3.

1. I was studying the need for SSDT-HPET and realised that on my NUC8i7BEH2 there was no need for any SSDT related to HPET so why on NUC10? I thus tested and stopped using that and used instead a small SSDT that disables HPET completely, as the (buggy?) BIOS parameter "High Even Precision Timers" when disabled, still has HPET device visible in IORegistryExplorer. By setting value "HPTE" to Zero, the _STA is disabling the device.

This led to shutdown seemingly working without a) any FixShutdown-USB-SSDT.dsl needed, and b) only setting "Wake on LAN form S4/S5" to "Stay Off" in BIOS just like my NUC8.

What I did was to use the exact same NUC8i7BEH2 settings in BIOS on this NUC10 clumsier BIOS, so no need to enable "Deeper S4/S5 Sleep" that was mentioned earlier and that seems to also work.

2. I will post my notes for BIOS after a "Load Default" action, please bare with me. This 0046 BIOS doesn't seem to be able to take screenshots, I am amazed how less user-friendly this new one is, compared to the more refined NUC8 BIOS!

3. I think I made audio work without AppleHDADisabler.kext and VoodooHDA.kext but using just AppleALC.kext and layout ID = 19. I also disabled "Rename HDAS to HDEF" in config.

4. My current list of SSDTs are:
  • SSDT-AWAC.aml = Disable AWAC device
  • SSDT-DTGP.aml = Add DTGP method (not sure why except it's needed for Thunderbolt's SSDT?)
  • SSDT for EC-USBX.aml = Disable H_EC, add fake EC and USBX properties
  • SSDT-HPTE.aml = Disable HPET device
  • SSDT-NUC10-USBC.aml = Renamed SSDT for Thunderbolt properties (unknown source to me)
  • SSDT-PLUG.aml = Generic SSDT that adds "plugin-type" for CPU power management
  • SSDT-PMCR.aml = Add missing PMCR device
  • SSDT-USBW.aml = Apparently needed for USB wake-up (unknown source)
  • Generic SSDT-SBUS.aml to be added/tested next
  • Specific SSDT-NAMES.aml to assign some device names to unreferenced PCI devices e.g. MCHC etc.
5. My quick questions, please indulge me:
  • Do we absolutely need to emulate a 9th Generation CPU via <key>Cpuid1Data</key> ? Is it degrading performance?
  • Does this Cpuid1Data value apply to Core i7 or Core i5 10th generation too? Is it common?
  • Is it not better to emulate an iMac20,1 or MacBookPro16,2 despite the NUC needing an external screen? Both appear to have 10th generation CPU... perhaps our external screen is the headache?
  • GeekBench 4 results on CPU were not bad, but GPU are not what I expected; do you think this is due to the assigned ig-platform-id of 0x07009b3e ? (that's 0x3E9B0007) Results are worse than NUC8i7BEH2...
  • When you select your boot drive in OC main screen (or timeout) do you also get a long pause in that incomprehensible screen (I never could manage to understand what it shows) before boot logs start running like crazy? (please, what's the name of this screen that shows these garbled logs?)
  • I am loading from https://github.com/OpenIntelWireless/ the kexts for both BTLE and Intel WLAN, do you know if we need to force-load IO80211Family to use AirportItlwm (Catalina) kext ?
  • Who is the author of SSDT-NUC10-THUNDERBOLT-DRENAN.aml to give credits due? What does this AML add to the existing DSDT space for USB-C? Has anyone validated its usefulness?
  • I cannot for reasons unknown load FakePCIID.kext nor FakePCIID_Intel_HDMI_Audio.kext any idea why, anyone? I confirmed the paths in the config but it just doesn't load... Same kexts on my NUC8i7BEH2 work 100% via Clover, and I get sound via video-output...
  • Since my NUC8 is not reporting fan speed, I don't expect NUC10 to do either; something has to do with the BIOS not providing values to the OS or similar. Thus, I am not using SMCSuperIO.kext but anyone has fan values reported in some monitoring tool? Just Curious.
  • IORegistryExplorer reports I2C0 and GPI0 devices etc. but I have no idea what hardware is that?
Apologies for my long post, appreciate your patience and quick answers, that I will reference in my guide. Cheers.
 
Last edited:
Hello,
firstly thank you all for a great information on this forum. I wouldn't be able to build my first Hackintosh on NUC without it.

I've been using EFI provided by @NCMacGuy (#535) on my NUC10i7 and the latest bios FN0046.

At first, I had problems with immediate restarts after shutdown which was solved by setting Power -> Sleep Type support -> Legacy S3 Standby in BIOS.


D6B4D343-44CC-4423-A4D1-7D05309F4225_1_105_c.jpeg


Everything else seems to be working except sleep which behaves weird. The NUC is able to go to sleep but after some time (it varies, sometimes it's 1min, sometimes 10mins..) the fan turns on by itself for 10-20s and this is happening repeatedly every 5-10min. I noticed that this behaviour is solved by unchecking "Allow Bluetooth devices to wake this computer" (I've been using BT keyboard and mouse).
Also, yesterday I tested sleep overnight and I was not able to wake up the NUC this morning using my BT devices, it looks like the BT module turned off overnight.

I've already tried to map my USB ports using the guide here:
and it didn't make any difference.
I've also played with the BIOS settings, trying:
- Deep S4/S5 to ON and OFF.
- Wake on Lan from S4/S5 to Stay Off.
- Wake System from S5 to OFF

Does anyone know how to deal with it?
Thanks a lot.
 
Good evening everyone, sorry to join late this party, I've been reading your comments and studying the OpenCore configurations from @Leesureone (thanks mate!) and @NCMacGuy (thanks too!) whose EFI folders made my NUC10i7FNH2 work straight out of the box with an SSD that had already installed Catalina (that I tested on a Lenovo laptop).

Before posting a few questions that I would really appreciate your feedback to understand, here are some good news.

First, I updated to latest available bios FN0046. Went straight to OC v0.6.3.

1. I was studying the need for SSDT-HPET and realised that on my NUC8i7BEH2 there was no need for any SSDT related to HPET so why on NUC10? I thus tested and stopped using that and used instead a small SSDT that disables HPET completely, as the (buggy?) BIOS parameter "High Even Precision Timers" when disabled, still has HPET device visible in IORegistryExplorer. By setting value "HPTE" to Zero, the _STA is disabling the device.

This led to shutdown seemingly working without a) any FixShutdown-USB-SSDT.dsl needed, and b) only setting "Wake on LAN form S4/S5" to "Stay Off" in BIOS just like my NUC8.

What I did was to use the exact same NUC8i7BEH2 settings in BIOS on this NUC10 clumsier BIOS, so no need to enable "Deeper S4/S5 Sleep" that was mentioned earlier and that seems to also work.

2. I will post my notes for BIOS after a "Load Default" action, please bare with me. This 0046 BIOS doesn't seem to be able to take screenshots, I am amazed how less user-friendly this new one is, compared to the more refined NUC8 BIOS!

3. I think I made audio work without AppleHDADisabler.kext and VoodooHDA.kext but using just AppleALC.kext and layout ID = 19. I also disabled "Rename HDAS to HDEF" in config.

4. My current list of SSDTs are:
  • SSDT-AWAC.aml = Disable AWAC device
  • SSDT-DTGP.aml = Add DTGP method (not sure why except it's needed for Thunderbolt's SSDT?)
  • SSDT for EC-USBX.aml = Disable H_EC, add fake EC and USBX properties
  • SSDT-HPTE.aml = Disable HPET device
  • SSDT-NUC10-USBC.aml = Renamed SSDT for Thunderbolt properties (unknown source to me)
  • SSDT-PLUG.aml = Generic SSDT that adds "plugin-type" for CPU power management
  • SSDT-PMCR.aml = Add missing PMCR device
  • SSDT-USBW.aml = Apparently needed for USB wake-up (unknown source)
  • Generic SSDT-SBUS.aml to be added/tested next
  • Specific SSDT-NAMES.aml to assign some device names to unreferenced PCI devices e.g. MCHC etc.
5. My quick questions, please indulge me:
  • Do we absolutely need to emulate a 9th Generation CPU via <key>Cpuid1Data</key> ? Is it degrading performance?
  • Does this Cpuid1Data value apply to Core i7 or Core i5 10th generation too? Is it common?
  • Is it not better to emulate an iMac20,1 or MacBookPro16,2 despite the NUC needing an external screen? Both appear to have 10th generation CPU... perhaps our external screen is the headache?
  • GeekBench 4 results on CPU were not bad, but GPU are not what I expected; do you think this is due to the assigned ig-platform-id of 0x07009b3e ? (that's 0x3E9B0007) Results are worse than NUC8i7BEH2...
  • When you select your boot drive in OC main screen (or timeout) do you also get a long pause in that incomprehensible screen (I never could manage to understand what it shows) before boot logs start running like crazy? (please, what's the name of this screen that shows these garbled logs?)
  • I am loading from https://github.com/OpenIntelWireless/ the kexts for both BTLE and Intel WLAN, do you know if we need to force-load IO80211Family to use AirportItlwm (Catalina) kext ?
  • Who is the author of SSDT-NUC10-THUNDERBOLT-DRENAN.aml to give credits due? What does this AML add to the existing DSDT space for USB-C? Has anyone validated its usefulness?
  • I cannot for reasons unknown load FakePCIID.kext nor FakePCIID_Intel_HDMI_Audio.kext any idea why, anyone? I confirmed the paths in the config but it just doesn't load... Same kexts on my NUC8i7BEH2 work 100% via Clover, and I get sound via video-output...
  • Since my NUC8 is not reporting fan speed, I don't expect NUC10 to do either; something has to do with the BIOS not providing values to the OS or similar. Thus, I am not using SMCSuperIO.kext but anyone has fan values reported in some monitoring tool? Just Curious.
  • IORegistryExplorer reports I2C0 and GPI0 devices etc. but I have no idea what hardware is that?
Apologies for my long post, appreciate your patience and quick answers, that I will reference in my guide. Cheers.

@konsti can you share your EFI once you're done testing OC v0.6.3?
 
OK everyone, this is as far as I can go for improvements. Please study my DSL included in the ZIP; @Leesureone and @NCMacGuy or anyone else studying these, your feedback is appreciated.

Here's a recap of my setup, settings, and questions... I based a lot of these on my perfectly working NUC8i7BEH as they share a lot of features. Please feel free to comment on settings!

Boot tab > Secure Boot = disable
Boot tab > Boot USB Devices First = enable
Boot tab > Optical Boot = disable
Boot tab > Network boot = disable

Power tab > Secondary Power Settings:
Wake on LAN from S4/S5 = Stay Off

Security tab > Security features:
Intel VT Directed I/O = disable
Thunderbolt ID = Legacy

My current list of SSDTs are:
  • SSDT-APPLE.aml = Add generic Apple DMAC and FWHD devices;
  • SSDT-AWAC.aml = Disable AWAC device so we can boot;
  • SSDT-DTGP.aml = Add DTGP method like real Macs, used in Thunderbolt SSDT;
  • SSDT for EC-USBX.aml = Disable H_EC, add fake EC and USBX properties (needs the patch in OC);
  • SSDT-HPTE.aml = Disable HPET device;
  • SSDT-NAMES.aml = assign unreferenced PCI devices names e.g. MCHC or XSPI etc.
  • SSDT-PLUG.aml = Generic SSDT that adds "plugin-type" for CPU power management;
  • SSDT-PMCR.aml = Add missing PMCR device;
  • SSDT-SBUS.aml = Generic sub-devices added BUS0 and BUS1 like real Macs;
  • SSDT-TITAN.aml = Renamed SSDT-NUC10-THUNDERBOLT-DRENAN.aml file.
File SSDT-USBW.aml = unused. It is apparently needed for USB wake-up but I add the "acpi-wake-type" key instead, in config.plist for device XHC.

Side notes:
  • Please compare your DSL and OC configuration via some text-difference-tool like Beyond Compare;
  • If SSDT-TITAN.aml is not used (for Titan Ridge Thunderbolt devices) then I get a card icon on the top toolbar, that is due to the undefined PCI devices for Thunderbolt. If the AML is enabled, this icon is gone. Disabling any of the two menus under this icon, results to freezing NUC.
  • Sleep seems to work fine.
  • Shutdown seems to work fine.
  • SD card: I have not tested, I disabled it in BIOS, please report success?
  • When using Intel's Power Gadget, I notice that the screen-saver like Flurry or Arabesque drives the IGPU usage and temperature quite high, do you notice that too? Even windowed-preview drives the GPU a lot.
  • USBPorts.kext found here, implies that no USB port (internal header) was disabled in BIOS...
  • Audio is using AppleALC now codec set is 19 but not tested extensively codec 23 works great (wish the output was a little louder) tested many IDs for ALC256 from: https://github.com/acidanthera/applealc/wiki/supported-codecs and since version 1.5.0: https://github.com/acidanthera/applealc/releases
  • Please experiment with codec IDs, just replace with #layout-id in the configuration key <key>layout-id</key> and add back the alcid=XX in boot arguments. UPDATE: Codec 23 works with Headphone Port, please comment out <key>layout-id</key> and add alcid=23 in boot arguments.
No-Thunderbolt-Icon.png


Some further information:
  • Config passed validator for 10th generation platform: https://opencore.slowgeek.com/
  • I am loading from https://github.com/OpenIntelWireless/ the kexts for both BTLE and Intel WLAN; perhaps there is a need to force-load IONetworkingFamily.kext but this is not mentioned in the GitHub notes.
  • AirportItlwm.kext used is 1.2.0 Beta.
  • No need to rename HDAS to HDEF since using AppleALC.
  • Geekbench 4 scores CPU = around 24040
  • Geekbench 4 scores GPU (OpenCL) = around 21940 which is pretty disappointing, considering that my NUC8i7BEH that has Iris Plus 655 scores about 39000.
  • Has anyone else successfully tried other IGPU values? Current config is using 0x3E9B0007 based on @NCMacGuy configuration.

Request:
  • I cannot load FakePCIIDs.kext and the HDMI audio kext, your help is appreciated...
  • If you don't get shutdown working, please try one change in BIOS at a time, like @Suchaac did; post your results when concrete, so I can test when I can and confirm for you.
  • I do not have USB-C devices to test, I am waiting from Amazon a USB-C to HDMI converter cable to try out;
  • Anyone tried any other <key>AAPL,ig-platform-id</key> at all?
  • Is it not better to emulate an iMac20,1 or MacBookPro16,2 that support 10th generation CPUs, despite the NUC needing an external screen? Could the need for an external screen be a headache when using these models?
  • When you select the boot drive in OC 0.6.3 main screen (or 5sec timeout) do you also get a long pause in that incomprehensible screen (I never could manage to understand what it shows) before boot logs start running like crazy? (please, what's the name of this screen that shows these garbled logs?)
I do hope you find my EFI and attachments valuable.
 

Attachments

  • NUC10i7FNH_OCv0.6.3_Catalina_Konsti.zip
    23.1 MB · Views: 164
Last edited:
Hello all,

Anybody installed the 10.15.7 Supplemental Update yet? :)
 
Hi, Konsti!

SSDT-APPLE.aml
SSDT-NAMES.aml
Would you please explain the need and origin of these AMLs?

If SSDT-TITAN.aml is not used (for Titan Ridge Thunderbolt devices) then I get a card icon on the top toolbar, that is due to the undefined PCI devices for Thunderbolt. If the AML is enabled, this icon is gone. Disabling any of the two menus under this icon, results to freezing NUC.
That's OK when you don't load Thunderbolt ACPI tables. This AML was brought in this thread by dolgarrenan and there is a chance he will modify it to perfection. At the moment the only issue I experience is the need to re-plug the TB3 devices after MacOS startup.

I cannot load FakePCIIDs.kext and the HDMI audio kext, your help is appreciated...
You use either AppleALC for headphone and HDMI audio or VoodooHDA - they don't work together and as far as I understand we don't need any extra audio kexts because all audio through native AppleHDA is handled by AppleALC. For me HDMI audio disappeared from Sound preferences pane starting (I believe) AppleALC 1.5.0 - I bet because there is no perfect Layout (Platform) for NUC10 ALC256.
Side note: But at the same time personally I build my own AppleALC to get both headphone and microphone work, because the last time I checked through all the codecs no one could produce even a beep from headphone (it was definitely after 1.5.2 release).

Anyone tried any other <key>AAPL,ig-platform-id</key> at all
I posted my thoughts with different frame buffers - please search above. But to save your time - until WhateverGreen starts supporting native device_id there is no much reason in such experiments.

My final thought by now:
- WhateverGreen still lack of supporting native device_id for NUC10 iGPU
- AppleALC still lack of supporting native layout-id for NUC10 ALC256
- Apple still lack of supporting native cpu_id for NUC10i7 so we need an emulation :)

At the same time the lack of above makes me quite happy with my NUC - I use it on a daily basis as a main machine with no any visible irritating issues.
 
Last edited:
OK everyone, this is as far as I can go for improvements. Please study my DSL included in the ZIP; @Leesureone and @NCMacGuy or anyone else studying these, your feedback is appreciated.

Here's a recap of my setup, settings, and questions... I based a lot of these on my perfectly working NUC8i7BEH as they share a lot of features. Please feel free to comment on settings!

Boot tab > Secure Boot = disable
Boot tab > Boot USB Devices First = enable
Boot tab > Optical Boot = disable
Boot tab > Network boot = disable

Power tab > Secondary Power Settings:
Wake on LAN from S4/S5 = Stay Off

Security tab > Security features:
Intel VT Directed I/O = disable
Thunderbolt ID = Legacy

My current list of SSDTs are:
  • SSDT-APPLE.aml = Add generic Apple DMAC and FWHD devices;
  • SSDT-AWAC.aml = Disable AWAC device so we can boot;
  • SSDT-DTGP.aml = Add DTGP method like real Macs, used in Thunderbolt SSDT;
  • SSDT for EC-USBX.aml = Disable H_EC, add fake EC and USBX properties (needs the patch in OC);
  • SSDT-HPTE.aml = Disable HPET device;
  • SSDT-NAMES.aml = assign unreferenced PCI devices names e.g. MCHC or XSPI etc.
  • SSDT-PLUG.aml = Generic SSDT that adds "plugin-type" for CPU power management;
  • SSDT-PMCR.aml = Add missing PMCR device;
  • SSDT-SBUS.aml = Generic sub-devices added BUS0 and BUS1 like real Macs;
  • SSDT-TITAN.aml = Renamed SSDT-NUC10-THUNDERBOLT-DRENAN.aml file.
File SSDT-USBW.aml = unused. It is apparently needed for USB wake-up but I add the "acpi-wake-type" key instead, in config.plist for device XHC.

Side notes:
  • Please compare your DSL and OC configuration via some text-difference-tool like Beyond Compare;
  • If SSDT-TITAN.aml is not used (for Titan Ridge Thunderbolt devices) then I get a card icon on the top toolbar, that is due to the undefined PCI devices for Thunderbolt. If the AML is enabled, this icon is gone. Disabling any of the two menus under this icon, results to freezing NUC.
  • Sleep seems to work fine.
  • Shutdown seems to work fine.
  • SD card: I have not tested, I disabled it in BIOS, please report success?
  • When using Intel's Power Gadget, I notice that the screen-saver like Flurry or Arabesque drives the IGPU usage and temperature quite high, do you notice that too? Even windowed-preview drives the GPU a lot.
  • USBPorts.kext found here, implies that no USB port (internal header) was disabled in BIOS...
  • Audio is using AppleALC now codec set is 19 but not tested extensively codec 23 works great (wish the output was a little louder) tested many IDs for ALC256 from: https://github.com/acidanthera/applealc/wiki/supported-codecs and since version 1.5.0: https://github.com/acidanthera/applealc/releases
  • Please experiment with codec IDs, just replace with #layout-id in the configuration key <key>layout-id</key> and add back the alcid=XX in boot arguments. UPDATE: Codec 23 works with Headphone Port, please comment out <key>layout-id</key> and add alcid=23 in boot arguments.
View attachment 494830

Some further information:
  • Config passed validator for 10th generation platform: https://opencore.slowgeek.com/
  • I am loading from https://github.com/OpenIntelWireless/ the kexts for both BTLE and Intel WLAN; perhaps there is a need to force-load IONetworkingFamily.kext but this is not mentioned in the GitHub notes.
  • AirportItlwm.kext used is 1.2.0 Beta.
  • No need to rename HDAS to HDEF since using AppleALC.
  • Geekbench 4 scores CPU = around 24040
  • Geekbench 4 scores GPU (OpenCL) = around 21940 which is pretty disappointing, considering that my NUC8i7BEH that has Iris Plus 655 scores about 39000.
  • Has anyone else successfully tried other IGPU values? Current config is using 0x3E9B0007 based on @NCMacGuy configuration.

Request:
  • I cannot load FakePCIIDs.kext and the HDMI audio kext, your help is appreciated...
  • If you don't get shutdown working, please try one change in BIOS at a time, like @Suchaac did; post your results when concrete, so I can test when I can and confirm for you.
  • I do not have USB-C devices to test, I am waiting from Amazon a USB-C to HDMI converter cable to try out;
  • Anyone tried any other <key>AAPL,ig-platform-id</key> at all?
  • Is it not better to emulate an iMac20,1 or MacBookPro16,2 that support 10th generation CPUs, despite the NUC needing an external screen? Could the need for an external screen be a headache when using these models?
  • When you select the boot drive in OC 0.6.3 main screen (or 5sec timeout) do you also get a long pause in that incomprehensible screen (I never could manage to understand what it shows) before boot logs start running like crazy? (please, what's the name of this screen that shows these garbled logs?)
I do hope you find my EFI and attachments valuable.

Thanks @konsti !

I've tried your EFI and this is my result:
- shutdown seems to be working only with Sleep type support - Legacy S3 standby and Deep S4/S5 - enabled
- sleep didn't get improved :/ fan goes on repeatedly as I described in post #580. Works fine only if "Allow Bluetooth devices to wake this computer" is disabled in BT settings but then I'm not able to wake up using BT keyboard/mouse.. EDIT: I've been trying separate combinations of my BT devices and I've just noticed that this issue is specific to my keyboard Logitech K380. Other BT devices seem to be working fine. I'm missing some Logitech driver most probably..
EDIT2: ok, so I am able to deal with it by turning the Logitech keyboard off while sleeping


Otherwise, everything seems to be working fine.
 
Last edited:
Back
Top