Contribute
Register

[GUIDE] Catalina on HP EliteDesk 800 G4/G5 Mini - The Perfect MacMini8,1 Hackintosh - CLOVER & OC

I believe that I stumbled upon the cause of rpcsvchost CPU utilization. I changed the RTCExclude range in my OC config.plist from 00-FF to B0-B4. With this reduced exclude range, rpcsvchost is not a problem. I'm still experimenting, but this should offer a clue.
 
EDIT: See here for an updated OC config.plist for testing without RTCMemoryFixup.

*** I have attached an updated config.plist to this post. If you retrieved the config.plist earlier, get this latest attachment. I have removed the PciRoot(0x0)/Pci(0x1f,0x4) that broke sleep for me. ***

My latest OC config.plist is attached. With this config.plist, rpcsvchost CPU utilitization is resolved (fixed by changing rtcexclude region). Some changes from my previous config.plist are as follows:

  • ACPI > Quirks > NormalizeHeaders = 1 (same as CLOVER Fix Headers)
  • ACPI > Quirks > RebaseRegions = 1 (same as CLOVER Fix Regions)
  • Booter > Quirks > EnableWriteUnprotector = 1 (allow writing to NVRAM)
  • Added DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4) -> This breaks sleep on my rig so I have removed it.
  • Kernel > Quirks > AppleXcpmCfgLock = 0
  • Changed boot-args rtcfx_exclude=00-FF to rtcfx_exclude=B0-B4
  • UEFI > Quirks > UnblockFsConnect = 1 (apparently necessary for HP systems)

If you use my attached config.plist, rename to config.plist and replace the ***REPLACE*** platform info values with your own.
 

Attachments

  • config-sanitized.plist.zip
    5.6 KB · Views: 125
Last edited:
*** I have an attached an updated config.plist to this post. If you retrieved the config.plist earlier, get this latest attachment. I have removed the PciRoot(0x0)/Pci(0x1f,0x4) that broke sleep for me. ***

My latest OC config.plist is attached. With this config.plist, rpcsvchost CPU utilitization is resolved (fixed by changing rtcexclude region). Some changes from my previous config.plist are as follows:

  • ACPI > Quirks > NormalizeHeaders = 1 (same as CLOVER Fix Headers)
  • ACPI > Quirks > RebaseRegions = 1 (same as CLOVER Fix Regions)
  • Booter > Quirks > EnableWriteUnprotector = 1 (allow writing to NVRAM)
  • Added DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4) -> This breaks sleep on my rig so I have removed it.
  • Kernel > Quirks > AppleXcpmCfgLock = 0
  • Changed boot-args rtcfx_exclude=00-FF to rtcfx_exclude=B0-B4
  • UEFI > Quirks > UnblockFsConnect = 1 (apparently necessary for HP systems)

If you use my attached config.plist, rename to config.plist and replace the ***REPLACE*** platform info values with your own.
rtcfx_exclude=B0-B4 rpcsvchost FIX works 4 me, Great!
PciRoot(0x0)/Pci(0x1f,0x4) won´t break my sleep. try my entries 4 the Keystore Error

i know, that these PCI entries are more cosmetic but if i tried to add the other missing PCI entries they will break my sleep!
 
Last edited:
rtcfx_exclude=B0-B4 rpcsvchost FIX works 4 me, Great!
PciRoot(0x0)/Pci(0x1f,0x4) won´t break my sleep. try my entries

i know, that these PCI entries are more cosmetic but if i try to add the other missing entries. They break my sleep!
Can you please post your latest config.plist? I believe that I pasted your info incorrectly and that's why I broke sleep. Thanks!

@Carstimann Without the addition of the DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4) in my config.plist, sleep works for me and the device is already properly identified as viewed in IORegistryExplorer. Here's a view of my IORegistry without injecting the DeviceProperty. Note that AAPL,slot-name and device-type are recognized natively.

Screen Shot 2020-11-11 at 12.39.55 PM.png


@Carstimann Can I ask what is probably a dumb question? You indicated that AAPL,ig-platform-id = 07009B3E works for you and you needed to add DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4). Are you conducting your OC testing on an HP EliteDesk 800 G4 Mini?
 
Last edited:
Can you please post your latest config.plist? I believe that I pasted your info incorrectly and that's why I broke sleep. Thanks!

@Carstimann Without the addition of the DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4) in my config.plist, sleep works for me and the device is already properly identified as viewed in IORegistryExplorer. Here's a view of my IORegistry without injecting the DeviceProperty. Note that AAPL,slot-name and device-type are recognized natively.

View attachment 495191

@Carstimann Can I ask what is probably a dumb question? You indicated that AAPL,ig-platform-id = 07009B3E works for you and you needed to add DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4). Are you conducting your OC testing on an HP EliteDesk 800 G4 Mini?
i allready applied your changes in the config plist. here is my ioreg too.
I have to use 07009B3E otherwise i can´t get HDMI Audio to work. this section won´t look pretty but it works 4 me 4 now.
I use VirtualSMC instead of FakeSMC.


It is a HP DM 800G4, do you need serials to compare?
USBPorts.kext now working in OC?
coreduetd i just saw as i looked 4 rpcsvchost and google it.
In BIOS i activated blink on sleep to get sure (Optical)
 

Attachments

  • config.plist
    34 KB · Views: 99
  • HP Mac mini.zip
    642.6 KB · Views: 111
Last edited:
i allready applied your changes in the config plist. here is my ioreg too.
I have to use 07009B3E otherwise i can´t get HDMI Audio to work. this section won´t look pretty but it works 4 me 4 now.
Thanks for providing your config.plist. Where is the DeviceProperty PciRoot(0x0)/Pci(0x1f,0x4)?
 
It is a HP DM 800G4, do you need serials to compare?
USBPorts.kext now working in OC?
coreduetd i just saw as i looked 4 rpcsvchost and google it.
No need for serials.

As you can see from my experiments, The working ig-platform-id choices (for me) were limited. I'm not sure why that's different for you. Maybe because I'm using DP->DVI and you're using HDMI? Don't know.

Ok - I have not observed the coreduetd CPU problem, but will keep an eye out for it. Thanks. Is your BIOS version 02.12.00 Rev.A?

@Carstimann I have only used USBPorts.kext with OC, so I don't know otherwise. It may be that you need to build your own USBPorts.kext (with Hackintool). I am new to USBPorts.kext, so I don't know if it's portable or needs to be created uniquely for each system. See my post here. Note that I am using the same USBPorts.kext that I used for CLOVER.
 
Last edited:
EDIT3: My latest OC EFI will now be managed / maintained in the Big Sur thread. Leaving the post below for historical purposes.
----------------------------------
EDIT: I have attached my latest OC EFI (OC 0.6.3). The separately attached config.plist is the same as the config.plist in the attached EFI, so the notes below apply to this attached EFI.

EDIT2: Good news! After the recent fixes (using the attached EFI), my Geekbench 5 benchmarks for OC match benchmarks for CLOVER. Looks like I have completed my OC config. I am still running with CLOVER as my baseline as I continue to test OC. So far, OC looks good.
----------------------------------
I am currently testing without RtcMemoryFixup.kext. At first, I simply disabled the Kernel > Add. Now, in my current EFI, I have removed RtcMemoryFixup.kext from OC/Kexts, I have removed rtc-exclude from my OC config.plist boot-args and I have removed Kernel > Add > RtcMemoryFixup from config.plist.

My config.plist still has Kernel > Quirks > DisableRtcCheckSum = 1 (haven't yet tested without this).

I have not observed any RTC issues after repeated Sleep / Wake cycles, repeated Restarts and repeated Shutdown / Boot cycles. When I tested with CLOVER, I occasionally observed corrupt system clock until I enabled KernelAndKextPatches > AppleRTC in my CLOVER config.plist, so I am not calling this a working solution yet. Still needs more testing.

I will continue to monitor and would welcome testing by others. My current config.plist is attached. If you use this config.plist, be sure to replace ***REPLACE*** in PlatformInfo with your own values.
 

Attachments

  • config-sanitized.plist.zip
    5.5 KB · Views: 116
  • EFI.zip
    1.5 MB · Views: 209
  • Screen Shot 2020-11-11 at 3.38.32 PM.png
    Screen Shot 2020-11-11 at 3.38.32 PM.png
    87.6 KB · Views: 105
Last edited:
Just tried the USBPorts.kext instead of the USBInjectAll.kext using hackintool, following your instructions and for me it didn't work at all. It even fails to boot. I had to revert back to the USBInjectAll.kext

I can also confirm that I don't ever see any of the coreduetd or rpcsvhost problems you guys are seeing.
Screen Shot 2020-11-11 at 10.50.48.png
 
Just tried the USBPorts.kext instead of the USBInjectAll.kext using hackintool, following your instructions and for me it didn't work at all. It even fails to boot. I had to revert back to the USBInjectAll.kext

I can also confirm that I don't ever see any of the coreduetd or rpcsvhost problems you guys are seeing.
View attachment 495209
The rpcsvchost problem only occurs if you used RtcMemoryFixup.kext with the wrong rtc-exclude range. I am currently running without RtcMemoryFixup (see here and here).

If you want help with USBPorts.kext, please post your EFI (with USBPort.kext).
 
Last edited:
Back
Top