Contribute
Register

UtterDisbelief Goes Small - NUC10 i5 UHD630 32GB

Hello UtterDisbelief

Will you, by any chance, in the near future try to upgrade this build to a more recent Mac OS version ?
I am trying to upgrade my own hackintosh to a more recent build and I was about to source for a Mac mini for the form factor when I saw your post ...
My current Hackintosh dates back to 7 or 8 years back and used the almighty Unibeast and Multbeast tools. I did not keep up to date with the clover , open core as , as I am ageing, it becomes more difficult to dig in more technical stuff, so your step by step build seems perfect to me and I intend to buy the exact same hardware.
I am curious to know that, if I use your exact files provided, ( efi , usbfix etc...), the process can be smooth enough by following your steps and if you would attempt any OS upgrade later.

Eagerly waiting for your finalised EFI

Thanks for helping elders like me :)

Hi there. Sorry I missed your post, but thank you to @trs96 for mentioning it and replying. :thumbup:

Thank you to @oyko too, for the update. :)

So far I haven't planned on moving up to Ventura on this PC. In my view these newer macOS versions sap so much power from a computer, especially a low-powered one. I can tell you old High Sierra really flies along even on this NUC (though it's not yet perfected and the reason I haven't included an EFI for it).

With Big Sur we still get OS updates until Sonoma and then may well be the time to consider upgrading to Monterey to keep getting them, as they only run for three macOS versions.

To answer your question - the included EFI and USBFix upgrade will enable all hardware in this model NUC. I'll combine the zips when I can... Soon.

:)
 
Last edited:
Update 2-1/2

As promised here is the latest, combined EFI ZIP which now fully includes the Thunderbolt port set-up for Big Sur builds. (EFI-NUC-TMX.zip + USBFix.zip).

:)
 

Attachments

  • EFI-NUC-TBFix.zip
    31.9 MB · Views: 44
Update no.3 - Monterey

With the imminent arrival of macOS Sonoma, Big Sur will no-longer get updates from Apple. They only support the latest three macOS versions.

So that this build will keep up-to-date with security patches I've installed Monterey in preparation, created a new EFI folder and attached it here. The system still uses OpenCore 0.9.3. You can update this if you wish, but at present there is no need.

about.jpg

**As usual the included serial-numbers and UUIDs are dummies. Please create your own unique ones.**

:)
 

Attachments

  • EFI-NUC10-Monterey.zip
    32.2 MB · Views: 70
Last edited:
Hi @UtterDisbelief thanks for redirecting me here to your nice thread, great to see/meet another NUC10i5FNHN fellow!

A couple of questions for my learning curve, if you have some time, despite my existing experience on NUC10i7FNHN that I already use more than a year ago:
  • Are you no longer disabling Vt-D in BIOS?
  • Have you upgraded to latest firmware versions by Intel, currently at version 0062? (I have...)
  • Meaning, do you manage to disable MSR 0xE2 "CpuCfg" manually still? Or no need anymore?
  • In general, what would be different in your EFI packages between the latter one (Monterey-ready) and previous one (BigSur-ready) in terms of config parameters? (except Intel Airport Wireless for the specific macOS) I ask this just to understand what may change in OpenCore parameters that I may have missed (relied too much on the "works-don't-touch-then" approach :D)
  • For the device-id and platform-id assigned to the graphics adapter, do you have issues with video hardware playback e.g. DRM'ed content? For example, when running Intel Power Gadget and starting an animated screensaver preview (System Preferences) I saw that the GPU increased in usage and kept the top levels, compared to my NUC8 that didn't sweat at all...
Interesting analysis on the USB ports, I will make sure and re-read it carefully.
I will also try understanding your custom SSDTs as I am adding a few more than maybe needed.
Cheers, mate.
 
Hi @UtterDisbelief thanks for redirecting me here to your nice thread, great to see/meet another NUC10i5FNHN fellow!

A couple of questions for my learning curve, if you have some time, despite my existing experience on NUC10i7FNHN that I already use more than a year ago:
  • Are you no longer disabling Vt-D in BIOS?
  • Have you upgraded to latest firmware versions by Intel, currently at version 0062? (I have...)
  • Meaning, do you manage to disable MSR 0xE2 "CpuCfg" manually still? Or no need anymore?
  • In general, what would be different in your EFI packages between the latter one (Monterey-ready) and previous one (BigSur-ready) in terms of config parameters? (except Intel Airport Wireless for the specific macOS) I ask this just to understand what may change in OpenCore parameters that I may have missed (relied too much on the "works-don't-touch-then" approach :D)
  • For the device-id and platform-id assigned to the graphics adapter, do you have issues with video hardware playback e.g. DRM'ed content? For example, when running Intel Power Gadget and starting an animated screensaver preview (System Preferences) I saw that the GPU increased in usage and kept the top levels, compared to my NUC8 that didn't sweat at all...
Interesting analysis on the USB ports, I will make sure and re-read it carefully.
I will also try understanding your custom SSDTs as I am adding a few more than maybe needed.
Cheers, mate.

Hello. Happy to help, if I can.

This was my first NUC build so I went into it just like any other, normal PC.

I'll try to answer your questions:

1) I have not disabled VT-d, choosing to enable the "DisableIoMapper" quirk instead.

2) No, I am using the firmware that came with my NUC. I will check the version for you later. (14.1.65.1969)

3) I did not try to unlock MSR 0xe2. I read online that this was essential, but ... No it isn't.

4) The differences between the Big Sur and Monterey EFIs are, yes, AirportItlwm.kext, and also the removal of the IntelBluetoothInjector.kext, to be replaced with IntelBTPatcher.kext and BlueToolFixup.kext. There were changes made to audio device-ids but not for Big Sur or Monterey (I have also tried High Sierra but that EFI is still at the beta stage).

5) As far as I'm aware DRM video playback on a 10th gen Intel iGPU is not yet possible directly, even with spoofing. (Though may be, through a web-browser). For this to work we need a GPU and that's not likely. More than happy to learn otherwise. :thumbup:

6) Yes, please read through the USB configuration. The only issue you will find is when trying to power certain higher drain USB devices from the NUC's tiny power supply. Even some 2.5" USB caddies can defeat it.

7) I have added needed SSDTs only. The main EC was from Hackintool's USB configuration while the power-management and RTC ones were generated by SSDTTime. The Titan-Ridge comes from my fellow mod @CaseySJ 's builds.

:)
 
Last edited:
Hi @UtterDisbelief been meaning to post but was away from home, thanks again for posting your EFI configuration. I did a line-by-line comparison to mine and discovered the issue being the wrong CPU ID being spoofed. I had 7AYIAAAAAAAAAAAAAAAAAA== and it should be 6gYJAAAAAAAAAAAAAAAAAA== as yours, obviously. That was my original suspicion (since firmware/BIOS are the same) so thanks again, it worked. Just wish I could find out more how to detect these values, I know it's CPU Identifiers but cannot find a good reference... (even after converting them to HEX).

I have some differences between your config and mine, some of them I cannot decide what is best to choose, but if your hack works, then it's OK. I tried understanding the following (minor?) settings (between yours and mine) while consulting OpenCore Configuration PDF from their repository, for example:

<key>FadtEnableReset</key> yours is true
<key>HibernateSkipsPicker</key> yours is true
<key>GraphicsInputMirroring</key>yours is false
<key>EnableVectorAcceleration</key> yours is false
etc.

Not sure why you would need to change _PTS (Prepare-To-Sleep), as I don't have this patch and my NUC goes to sleep just fine, just wondering when I saw your <string>_PTS to ZPTS</string>

I am running Ventura, I will post here just the config.plist so that you can compare it too, via some tool like UltraCompare or BeyondCompare. Thanks again!
 
Hi @UtterDisbelief been meaning to post but was away from home, thanks again for posting your EFI configuration. I did a line-by-line comparison to mine and discovered the issue being the wrong CPU ID being spoofed. I had 7AYIAAAAAAAAAAAAAAAAAA== and it should be 6gYJAAAAAAAAAAAAAAAAAA== as yours, obviously. That was my original suspicion (since firmware/BIOS are the same) so thanks again, it worked. Just wish I could find out more how to detect these values, I know it's CPU Identifiers but cannot find a good reference... (even after converting them to HEX).

I have some differences between your config and mine, some of them I cannot decide what is best to choose, but if your hack works, then it's OK. I tried understanding the following (minor?) settings (between yours and mine) while consulting OpenCore Configuration PDF from their repository, for example:

<key>FadtEnableReset</key> yours is true
<key>HibernateSkipsPicker</key> yours is true
<key>GraphicsInputMirroring</key>yours is false
<key>EnableVectorAcceleration</key> yours is false
etc.

Not sure why you would need to change _PTS (Prepare-To-Sleep), as I don't have this patch and my NUC goes to sleep just fine, just wondering when I saw your <string>_PTS to ZPTS</string>

I am running Ventura, I will post here just the config.plist so that you can compare it too, via some tool like UltraCompare or BeyondCompare. Thanks again!

Glad to hear your NUC 10 system is running well. :thumbup:

When I upload an EFI it is after extensive testing to make sure anyone else trying it will have as few problems as possible. Of course you can modify the settings as you feel necessary, and upgrade OpenCore. I work on the principle of "don't fix what isn't broken" and the EFI is just a starting-point.

By the way, there is a useful list of CPU identifiers on Dortania:

Intel CPU Support Chart

Thank you for the feedback. It is much appreciated and will help others. :thumbup:

:)
 
Hello everyone, hi @UtterDisbelief here is my final configuration for this NUC10i5FNHN. I am using 2 config files, one for setup (USB stick) and another for normal loading (picker) after successfully installing the OS. The main differences are that the "setup" config has almost all of the debug options activated and allows USB loading via policies i.e.

<key>ScanPolicy</key>
<key>SecureBootModel</key>


After a working OC 0.9.4 I made the jump to OC 0.9.5 that only needed 1 new setting at the bottom Quirks.

Each new config I visually compare (text) with previous one and others, such as yours, to better detect the differences and then validate it via ocvalidate tool, of course.

The main differences seem to be:
  • the SSDTs used (for easier follow-up, I have mine broken per "type") but basic PLUG, AWAC, EC and Thunderbolt exist;
  • the order of the loaded kexts;
  • the order of the loaded drivers;
  • the section DataHub (how did you create it, via some tool? Any special reason to having added this?)
  • some DeviceProperties differences in structure, but main IGPU device-id and ig-platform-id are the same, except leaving out framebuffer-stolenmem as Dortania guide now suggests;
  • CPU ID data is obviously 6gYJAAAAAAAAAAAAAAAAAA== i.e. ea 06 09 00 in bytes from Base64
  • no DSDT hot-patching or replacement except Swap _STA with XSTA (H_EC) to allow disabling original H_EC device via custom SSDT (the creation of much EC is still happening);
  • no need for _OSI or _DSM or GPRW replacement; I mean, do as little as possible.
The keys that are different may involve fixes of (perhaps) lesser importance/impact, I had kept the default from the OC proposed sample configuration, and had again a quick reference to the OpenCore PDF but I personally don't see any gains from these:

<key>PowerTimeoutKernelPanic</key>
<key>HibernateSkipsPicker</key>
<key>FadtEnableReset</key>
<key>csr-active-config</key>
<key>GraphicsInputMirroring</key>
<key>EnableVectorAcceleration</key>

Finally, I discovered that in boot-args the fact that I had from other past installations npci=0x2000 stopped the loading so this is something to remove it ASAP if you are stuck, guys.

Question: Despite setting CPU ID in the config, I see that you have ProcessorType = 1801 (integer) but do we really need this declaration, too? Value 0 (Automatic) per manual "attempts to provide the most accurate value for the currently installed CPU [...] per Apple SMBIOS" but the value 1801 (0x0709) found on the linked file AppleSmBios.h is not Core i5 and it's 8th Gen?

Code:
AppleProcessorTypeCorei5Type9 = 0x0609,     // i5 8259U (MacBookPro15,2), i5 8500B (Macmini8,1)
AppleProcessorTypeCorei7Type9 = 0x0709,     // i7 8850H (MacBookPro15,1), i7 8700B (Macmini8,1)

Moreover, per the Dortania CPU guide you posted (thanks!) ea 06 09 00 refers to 0x0906EA(S/H/E) that is Coffee Lake. It's interesting that 7AYIAAAAAAAAAAAAAAAAAA== i.e. ec 06 08 00 = 0x0806EC has been working fine on the NUC10i7FNH that I have, but is nowhere to be found on that Dortania table...

You can see more on my repo (for NUC10i7FNH) on the code of SSDTs i.e. the DSL files (for compiling).

Hope this offers some food for thought :D Thanks again for the help. Attention everyone, FAKE serials included, I have masked my own for obvious reasons :)
 

Attachments

  • nuc10i5fnhn.config.v095.picker.plist
    30.9 KB · Views: 15
  • nuc10i5fnhn.config.v095.setup.usb.plist
    33 KB · Views: 14
Last edited:
Hello everyone, hi @UtterDisbelief here is my final configuration for this NUC10i5FNHN. I am using 2 config files, one for setup (USB stick) and another for normal loading (picker) after successfully installing the OS. The main differences are that the "setup" config has almost all of the debug options activated and allows USB loading via policies i.e.

<key>ScanPolicy</key>
<key>SecureBootModel</key>


After a working OC 0.9.4 I made the jump to OC 0.9.5 that only needed 1 new setting at the bottom Quirks.

Each new config I visually compare (text) with previous one and others, such as yours, to better detect the differences and then validate it via ocvalidate tool, of course.

The main differences seem to be:
  • the SSDTs used (for easier follow-up, I have mine broken per "type") but basic PLUG, AWAC, EC and Thunderbolt exist;
  • the order of the loaded kexts;
  • the order of the loaded drivers;
  • the section DataHub (how did you create it, via some tool? Any special reason to having added this?)
  • some DeviceProperties differences in structure, but main IGPU device-id and ig-platform-id are the same, except leaving out framebuffer-stolenmem as Dortania guide now suggests;
  • CPU ID data is obviously 6gYJAAAAAAAAAAAAAAAAAA== i.e. ea 06 09 00 in bytes from Base64
  • no DSDT hot-patching or replacement except Swap _STA with XSTA (H_EC) to allow disabling original H_EC device via custom SSDT (the creation of much EC is still happening);
  • no need for _OSI or _DSM or GPRW replacement; I mean, do as little as possible.
The keys that are different may involve fixes of (perhaps) lesser importance/impact, I had kept the default from the OC proposed sample configuration, and had again a quick reference to the OpenCore PDF but I personally don't see any gains from these:

<key>PowerTimeoutKernelPanic</key>
<key>HibernateSkipsPicker</key>
<key>FadtEnableReset</key>
<key>csr-active-config</key>
<key>GraphicsInputMirroring</key>
<key>EnableVectorAcceleration</key>

Finally, I discovered that in boot-args the fact that I had from other past installations npci=0x2000 stopped the loading so this is something to remove it ASAP if you are stuck, guys.

Question: Despite setting CPU ID in the config, I see that you have ProcessorType = 1801 (integer) but do we really need this declaration, too? Value 0 (Automatic) per manual "attempts to provide the most accurate value for the currently installed CPU [...] per Apple SMBIOS" but the value 1801 (0x0709) found on the linked file AppleSmBios.h is not Core i5 and it's 8th Gen?

Code:
AppleProcessorTypeCorei5Type9 = 0x0609,     // i5 8259U (MacBookPro15,2), i5 8500B (Macmini8,1)
AppleProcessorTypeCorei7Type9 = 0x0709,     // i7 8850H (MacBookPro15,1), i7 8700B (Macmini8,1)

Moreover, per the Dortania CPU guide you posted (thanks!) ea 06 09 00 refers to 0x0906EA(S/H/E) that is Coffee Lake. It's interesting that 7AYIAAAAAAAAAAAAAAAAAA== i.e. ec 06 08 00 = 0x0806EC has been working fine on the NUC10i7FNH that I have, but is nowhere to be found on that Dortania table...

You can see more on my repo (for NUC10i7FNH) on the code of SSDTs i.e. the DSL files (for compiling).

Hope this offers some food for thought :D Thanks again for the help. Attention everyone, FAKE serials included, I have masked my own for obvious reasons :)

Thank you for your comments on this build. As before, much appreciated.

To answer your questions:

I used a Coffee Lake CPU emulation to get "closer" to the iGPU spoof we are using. Yes, you can use Comet Lake and Whisky Lake as they are recognised, but are then stretching overall compatibility - theoretically. I found that other combinations of CPU/iGPU spoofs would not give reliable hardware acceleration. (I even tried Kaby Lake for the High Sierra config I tested). If Comet Lake works fine for you that's great to know. :thumbup:

Processor type. I agree with you and would normally use "0" also. But another, more expert, of our moderators corrected me on this point and I now take on board values other than this. "1801" was suggested by OpenCore Configurator. Like you, my default is to use "0" but I am always happy to learn from others more knowledgeable. If the architecture shows up correctly in About this Mac and there are no power-management issues, I'm usually happy.

As for any other patches in config.plist, they are just working defaults. Of course you are free to modify them if you have other preferred settings.

Remember, you can always write-up your build using the User Build template and upload it for others to view - it is preferred over sending people off-site. This would be a great addition here as NUC PCs don't get much coverage!
 
But of course... I had not considered IGPU spoofing and acceleration parameters, due to CPU. You are right, thanks for pointing this out.

"If the architecture shows up correctly in About this Mac" another point that I had never really checked.

I will have a look at "User Build template" and come back, thanks for the tip, as I was not aware of this. Thanks again.
 
Back
Top