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.