Contribute
Register

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

I just participated in a Zoom call with my HackMini8,1. I used a CTIA-style (4-connector) headset with built-in microphone and inserted the connector into the front-right audio jack. The audio (both in and out) worked perfectly with AppleALC.kext 1.5.5 and layout-id 20 (0x14). To ensure optimal microphone audio, I needed to set the SoundPreferences > InputVolume to maximum. I didn't experiment with other input volume settings.
 
Last edited:
I noticed that one of my M.2 NVMe drives was running warmer than usual. I installed NVMeFix.kext and see a lower operating temp, but haven't observed long enough to confirm. I know that "Autonomous Power State Transition to reduce idle power consumption of the controller" is supposed to be one of the benefits.

Has anyone else tested NVMeFix.kext to determine whether it is reducing NVMe drive temps?
 
Thank you @deeveedee for this wonderful guide!

Using this method and some adjustment I was able to do a successful installation of Catalina 10.15.7 (19H15) on a HP ProDesk 600 G3 Mini.

System specs
CPU: i5-7500T
GPU: HD 630
Chipset: Q270
BIOS: 02.35 Rev.A
SSD: Samsung NVMe 970 Evo 250GB

Like you discovered on the EliteDesk 800 G3 Mini, this ACPI patch is needed in order to boot correctly.

To fully support graphics acceleration, I had to set the correct FrameBuffer type. I set the AAPL,ig-platform-id property to 00001259 (my FB is 0x59120000) and removed all the others as they seems to be not needed.

The USB ports worked as the patch is very similar (not identical), but I made my own USBPorts.kext.

I saw that on my setup the PPMC and PMCR patch are not needed, the OS loads the PMC device correctly without them.

I don't see temperature differences on the SSD with or without NVMeFix (I think it depends on what SSD are you using and if it's supported without NVMeFix). Also the NvmExpressDxe driver seems useless, no performance improvement or better compatibility.

Regarding the HPET disabling I'm fine with it, but I have to keep the FixRTC flag, otherwise the RTC corrupts.

I also updated Clover to the last version (r5127).

To sum up, the system is working with the following

ACPI patch:
  • SSDT-AWAC-HPET.aml
  • SSDT-XOSI.aml
  • SSDT-XSPI.aml
UEFI drivers:
  • ApfsDriverLoader.efi
  • DataHubDxe.efi (it works also without it, but I read somewhere in the Clover wiki that it's not a problem if your system supports DataHub and you still load this driver)
  • OpenRuntime.efi
  • SMCHelper.efi
  • VBoxHfs.efi
Kext:
  • AppleALC.kext v1.5.5
  • EFICheckDisabler.kext v0.5
  • FakeSMC_CPUSensors.kext v1800
  • FakeSMC.kext v1800
  • IntelMausi.kext v1.0.4
  • Lilu.kext v1.5.0
  • USBPorts.kext
  • WhateverGreen.kext v1.4.5
No luck with sleep/wake, but I'm fine with it.
 
Thank you @deeveedee for this wonderful guide!

Using this method and some adjustment I was able to do a successful installation of Catalina 10.15.7 (19H15) on a HP ProDesk 600 G3 Mini.

The USB ports worked as the patch is very similar (not identical), but I made my own USBPorts.kext.

I saw that on my setup the PPMC and PMCR patch are not needed, the OS loads the PMC device correctly without them.


Regarding the HPET disabling I'm fine with it, but I have to keep the FixRTC flag, otherwise the RTC corrupts.


No luck with sleep/wake, but I'm fine with it.
Excellent! This is consistent with my findings - nice work. When you say "FixRTC" flag, I assume you mean CLOVER's AppleRTC kext patch and not CLOVER's FixRTC ACPI patch - correct?
 
Excellent! This is consistent with my findings - nice work. When you say "FixRTC" flag, I assume you mean CLOVER's AppleRTC kext patch and not CLOVER's FixRTC ACPI patch - correct?
No, I mean precisely Clover's FixRTC ACPI patch :think:
 
No, I mean precisely Clover's FixRTC ACPI patch :think:
I forgot - CLOVER's FixRTC ACPI patch is also changing the RTC length to 0x02. In my opinion, this is NOT the correct way to address the RTC corruption issue (if you want a chance at working sleep with the G3 Mini). I am booting my G3 Mini with OC and am using Acidanthera's RTCMemoryFixup.kext. For now, I'm using rtcfx-exclude=00-FF (the full region). With this rtcfx-exclude range, the G3 Mini does not have RTC corruption. I have not yet experimented to find the specific (narrower) range. Be aware that an incorrect RTC patch can prevent proper sleep.

@vascorosso - I haven't tried RTCMemoryFixup.kext with CLOVER. If you want an experiment, try adding RTCMemoryFixup.kext, add boot-arg rtcfx-exclude=00-FF and uncheck CLOVER's FixRTC ACPI patch. You can read more about RTCMemoryFixup here.
 
Last edited:
I haven't tried RTCMemoryFixup.kext with CLOVER. If you want an experiment, try adding RTCMemoryFixup.kext, add boot-arg rtcfx-exclude=00-FF and uncheck CLOVER's FixRTC ACPI patch.
Thank you for the suggestion, I confirm it works also on my system for the purpose of not corrupting the RTC.

Now I'm investigating the wake issue. It seems that I am able to correctly wake the system if there's no displays connected. After that, I connect the display and it's all OK.
If I wake the system with a display connected it freezes and the only way to recover is to power off manually.
 
Thank you for the suggestion, I confirm it works also on my system for the purpose of not corrupting the RTC.

Now I'm investigating the wake issue. It seems that I am able to correctly wake the system if there's no displays connected. After that, I connect the display and it's all OK.
If I wake the system with a display connected it freezes and the only way to recover is to power off manually.
Cool - next step with RTCMemoryFixup is to narrow the range, so you're only excluding the minimum. See here for suggested strategy to find the offending address or address range. The folks at Acidanthera seem to think that proper RTC patching may be important for sleep/wake, so we might as well eliminate that variable.

Good detective work to find that you can wake with display disconnected.

If you want to create a new thread for your 600 G3 Mini (separate from this g4/g5 mini) and post a link to your new thread here, we can continue the conversation and debugging there. Thanks!
 
Last edited:
I just applied the most recent Catalina 10.15.7 security update and Safari 14.0.2 update without any issues. During the update, my HackMini8,1 did have a few dramatic pauses and screens flickered, but I remained patient and all was well. Just be patient. As always, backup first - just in case.

Note: if you see lost RTC (clock) during the installer reboots, just acknowledge the warning and allow your HP EliteDesk 800 G4 Mini to recover gracefully. Your G4 mini will reboot and resume the macOS upgrade without issues. There does appear to be the need for RTCMemoryFixup.kext / custom rtcfx-exclude on this rig as noted here. The RTC issue does not occur during normal operation, so fixing this remains a low priority for me.

Screen Shot 2020-12-14 at 7.54.48 PM.png


Screen Shot 2020-12-14 at 7.57.47 PM.png
 
Last edited:
Back
Top