Contribute
Register

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

I've changed the title of this thread to include the G5. Now we're all on topic again :)
 
Oh, i did a realy big mistake, i´ve got a G4 not a G5 !! Please forgive me.
 
Hi @deeveedee

I followed Dortania Guide and this configuration is present on that guide:


I also put your audio properties PciRoot(0x0)/Pci(0x1F,0x3) because if I delete them, I loose audio jack from the front, only DP audio, but in my case I think it is better to use the front jack, because this way I can manage audio volume using the keyboard, this is not possible with audio over DP.

I have just changed the 35w ProDesk 600 G5 i5-9500T with an EliteDesk 800 G5 i9-9500 65w. Now I am currently updating the EFI folder to current versions, working flawlessly. Will upload the EFI to GitHub, will paste the link so you @deeveedee can take a look. I am sure you can vastly improve it with all your knowledge :)
 
Hi @deeveedee

I followed Dortania Guide and this configuration is present on that guide:
Dortania's guide is well written. It keeps getting better. The last I checked, the guide recommended injecting Device (EC) (with SSDT) instead of renaming the existing Device (EC0) to Device (EC). In my experience, injecting a new Device (EC) is usually correct for desktops, but not for laptops that have a real Device (EC). I don't believe that injecting a new Device (EC) is the correct solution for the EliteDesk Minis. The EliteDesk Minis are more like laptops than desktops (which is why a laptop AAPL,ig-platform-id is required). The only other thing I noticed is that Dortania's guide recommends injecting Device (PMCR) in LPCB instead of PCI0. I haven't found this recommendation to make any difference and a real MacMini has Device (PMCR) in PCI0 (where I have injected it).

In summary, I prefer to rename EC0 and to inject PMCR in PCI0. I think those may be the only differences between my approach and the Dortania guide (other than the obvious OC vs. CLOVER difference).

EDIT: I did notice one other difference between my EFI and the Dortania guide: My Device (USBX) includes USB power properties from a real MacMini8,1. The Dortania USBX seems to include "generic" USB power properties. I'm not sure which device was used to create the "generic" USB power properties, but I have chosen to use USB power properties from a real MacMini8,1 in my Device (USBX).
 
I just performed my first OpenCore (0.6.3) installation using my old legacy HackPro5,1 as my guineapig. I learned a lot about OC and must say that I'm impressed with the level of control. I plan to start from scratch with my own OC configuration for this HackMini8,1 and I will post my own OC solution. I do not plan to use any of the Dortania precompiled SSDTs in my solution. Fortunately, the Dortania guide is extremely well written for anyone who wants to create their own OC configuration from scratch.
 
I just performed my first OpenCore (0.6.3) installation using my old legacy HackPro5,1 as my guineapig. I learned a lot about OC and must say that I'm impressed with the level of control. I plan to start from scratch with my own OC configuration for this HackMini8,1 and I will post my own OC solution. I do not plan to use any of the Dortania precompiled SSDTs in my solution. Fortunately, the Dortania guide is extremely well written for anyone who wants to create their own OC configuration from scratch.
I am shamelessly looking forward to your updates. ;)
 
EDIT3: My most current OC EFI will be managed / maintained in the Big Sur thread. Leaving the post below for historical purposes.
-----------------------------------------------
Attached is my first OC configuration for the HP EliteDesk 800 G4 Mini. I've only been learning OC for a few days, so I welcome constructive criticism, feedback and suggestions and you can say "I told you so" :). I have not spent much time on RTC patches/fixes and I have not carefully analyzed Quirks, so these are likely to have issues. Also, I did not perform the suggested CFG Lock checks before installing OC and simply enabled Quirk AppleXcpmCfgLock.

EDIT: See here for updated stable OC config.plist.
EDIT2: See here for an updated release candidate for a config.plist without RTCMemoryFixup.

If you use this OC config, you will need to replace the ***REPLACE*** strings in PlatformInfo->Generic with your own. My ACPI patches are currently designed only for macOS with OC boot loader. My ACPI patches/config.plist will not support multi-booting macOS and other OSes using OC picker. You will need to add your own conditional "Darwin" checks to my ACPI patches and I believe there is at least one config.plist change required to enable Windows boot with OC.

Also, you will need to review my
Known Issues to determine whether your system needs changes to my EFI.

The attached OC config was created with OC 0.6.3. boot-args include '-v' for verbose boot.


I have not tested much, but here's what I've observed that is working:
  • macOS boots fine
  • macOS restarts fine
  • shutdown works fine
  • sleep / wake seems to work (only tested once)
  • FakeSMC CPU Sensor works
  • USB seems fine
  • A quick scan of IORegistry looks fine
  • I hear sounds but didn't thoroughly test audio - seems fine
  • CPU Power Management (I had incorrectly perceived that this wasn't working)
What is not working:
  • CPU temps and clock are high. I don't think CPU Power Management is working properly.
    CPU temps and clock have dropped after waiting. Since this was a fresh Catalina installation, maybe macOS was doing something (including Spotlight indexing). Moving CPU Power Management to "working."

Details
Attached is my first OC (UEFI) configuration. With it, I successfully booted the Catalina 10.15.7 installer on an HP EliteDesk 800 G4 Mini (35W). Catalina installed without issues. The 10.15.7 supplemental install notice appeared after the install completed and the supplemental install proceeded without issues.

Since this is my first OC (UEFI) configuration and only my second OC configuration in 3 days (yup, I'm an OC newbie and maybe a convert), I'm sure there is room for improvement and mistakes to be corrected. I'm also FAR from an OC expert, so I welcome all suggestions for improvement.

I developed the attached OC config with the following assumptions:
  1. My CLOVER configuration worked perfectly, so I tried to emulate my CLOVER configuration with OC
  2. I believe that the EliteDesk 800 G4 Mini is more like a laptop than a desktop, so I renamed EC0 to EC instead of injecting a new EC. I believe this is the correct approach for the EliteDesk 800 G4 Mini.
  3. The OC Sanity Checker indicates that my Apple,ig-platform-id may be wrong. I believe it is correct and I ignored the Sanity Checker warning.

While creating this OC config, I noticed a couple of things about my CLOVER config that are unnecessary:
  1. G4 Mini DSDT does not need 'Fix Mutex' (all Mutex calls are already MUTEX(X, 0x00)
  2. 'Fix S3D' is unnecessary
  3. LAN / en0 loads correctly, so 'Fix LAN' is not necessary

Miscellaneous
  1. The Dortania Guide is outstanding. Amazingly well-written! It was a pleasure using this guide to learn OC.
  2. I am using FakeSMC and the FakeSMC_CPU_Sensor with Hardware Monitor
  3. I prepared my SSDTs based on analysis of the DSDT, so the SSDTs do not have the extra condition checks found in the Dortania SSDTs.
 

Attachments

  • OC-EFI Rev 0.01.zip
    1.5 MB · Views: 467
Last edited:
Incredible work @deeveedee. Thank you REALLY MUCH!! Tomorrow will start using it and will come back with feedback. Hope Big Sur is released tomorrow too and test it with you EFI!
 
Back
Top