Contribute
Register

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

Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
The SSDT-XOSI.dsl that I copied from the web has a typo - it incorrectly included Windows Server 2008 ("Windows 2006.1"). If you examine Rehabman's SSDT-XOSI.dsl here, you will notice that Server 2008 (and other Server OSes) are commented out. I am currently running with the SSDT-XOSI.aml attached here and added this to the EliteDesk.zip archive attached to Post #1.
 
Last edited:
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
My HP EliteDesk 800 G4 Mini has been running perfectly with my current configuration. I have updated the EFI attached to Post #1 in the EliteDesk.zip archive.

If you use the config.plist included in the EliteDesk.zip archive attached to Post #1, you must replace the XX-MASKED-XX values with your own (MLB, BoardSerialNumber, SerialNumber, SmUUID, CustomUUID). You can use Clover Configurator or your preferred plist editor to personalize your config.plist. Do NOT simply copy my provided config.plists (here or elsewhere in this thread) and use them without replacing the XX-MASKED-XX values.
 
Last edited:
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
The upgrade to 10.15.6 was easy with the steps below:
  1. Backup! Use Carbon Copy or your favorite backup utility.
  2. If you have installed your 3rd-party kexts in EFI/CLOVER/kexts/Other and not in /Library/Extensions, proceed to Step 3.
    If you have installed your 3rd-party kexts in /Library/Extensions as I have done, create a USB boot disk, install Clover r5119 on the USB drive and install your EFI on the USB drive. Copy all 3rd-party kexts to EFI/CLOVER/kexts/Other on the USB drive. Leave your USB drive inserted so that your system reboots from the USB drive. All 3rd-party kexts must be located in EFI/CLOVER/kexts/Other for the macOS upgrade.
  3. Select About This Mac -> Software Update and start the update. Your system will begin the update.
  4. After your system reboots the first time, select the "Install macOS from Catalina Data" Volume
  5. After your system reboots the second time, select the "Install macOS from Catalina Data" Volume
  6. After your system reboots the third time, boot from your Catalina Volume (now updated) and complete the update prompts. If you created a USB boot drive, you may now remove it.
  7. Welcome to Catalina 10.15.6!
 

Attachments

  • Screen Shot 2020-07-15 at 7.10.41 PM.png
    Screen Shot 2020-07-15 at 7.10.41 PM.png
    56.3 KB · Views: 46
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
EDIT: After reviewing and testing the EC and PMCR advice in Dortania's ACPI Guide, I'm sticking with my original solutions. No changes at this time. Leaving the info below for informational purposes, in case I need to revisit for OpenCore.
-----------------------------------------------
I'm starting to examine OpenCore for this HP EliteDesk 800 G4 Mini. Dortania's reference here appears to be extremely well done. In addition, Dortania's ACPI Guide is a wealth of information. In the ACPI Guide, there is excellent discussion of the Embedded Controller and PMCR devices. Based on Dortania's explanation, I may be changing my implementations of Device (EC) and Device (PMCR).

Based on the teachings in Dortania's ACPI Guide, I'm specifically reviewing the following:
  • Creating a Fake EC device instead of renaming EC0->EC. Preliminary results suggest that renaming EC0 is the correct way to handle the Embedded Controller for this G4 Mini. When a Fake EC device is created (instead of renaming EC0), Device (EC) exists, but AppleACPIEC binds to the existing EC0 device (because the existing EC0 device has HID PNP0C09).
    Screen Shot 2020-07-17 at 12.48.23 PM.png
  • Moving Device (PMCR) from Scope (_SB.PCI0) to Scope (_SB.PCI0.LPCB) so that PMCR loads earlier. I'm hoping to assess the affect of this change through continued use, because I have not noticed any change in system behavior following this change. Note that as observed in the IORegistry dump from a real MacMini8,1, Device (PMCR) in a real MacMini8,1 is in Scope (_SB.PCI0).
 
Last edited:
Joined
May 14, 2020
Messages
37
Motherboard
Gigabyte Z390 Designare/ASUS M11H(WiFi)/HP 800G4 DM 35W
CPU
i9-9900K/i5-9600K/i5-9600T
Graphics
Shappire RX-5700 XT/RX-590
This Mini PC can easily install by Opencore, but now my isn't perfect, mainly the WiFi and BT cannot be driven.
 
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
This Mini PC can easily install by Opencore, but now my isn't perfect, mainly the WiFi and BT cannot be driven.

I'm in no rush to create an OpenCore solution for this G4 Mini. It is PERFECT with CLOVER r5119 and Slice's team is very busy with readying CLOVER for BS (including adopting some OpenCore code in CLOVER).

EDIT: CLOVER r5120 pre-release is out here
 
Last edited:
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
This post is NOT proposing a new SSDT-XOSI. I'm posting this only to show the results of an experiment with SSDT-XOSI and am leaving this for the curious reader.
------------------------------------------------------
The DSDT for my HP EliteDesk 800 G4 Mini includes Device (PAGD) that is enabled on condition _OSI("Processor Aggregator Device"). I've searched for ACPI documentation on "Processor Aggregator Device" and found this reference. Device (PAGD) does not appear in the IORegistry dump from a real MacMini8,1, so I'm fairly certain that Device (PAGD) is not relevant/applicable to macOS.

Just for fun, I added "Processor Aggregator Device" to my SSDT-XOSI (attached) and have confirmed (with IORegistryExplorer) that Device (PAGD) is loaded.

IORegistry Explorer: SSDT-XOSI includes "Processor Aggregator Device"
Screen Shot 2020-07-18 at 11.10.50 AM.png


IORegistry Explorer: SSDT-XOSI does not include "Processor Aggregator Device"
Screen Shot 2020-07-18 at 11.39.15 AM.png


It doesn't appear that macOS does anything with this device.

If anyone knows more about this, I would welcome your explanation.
 

Attachments

  • SSDT-XOSI.zip
    709 bytes · Views: 27
Last edited:
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
EDIT: I had inadvertently attached the wrong version of SSDT-XSPI. The correct version (copied from a real MacMini8,1) is now attached.
---------------------------------------------------
There is an unnamed device revealed in IORegistry Explorer that is named XSPI on a real MacMini8,1. The attached SSDT-XSPI names this device and injects the pci-device-hidden property to mimic Device (XSPI) in a real MacMini8,1 DSDT. I suspect that this addition is purely cosmetic. If you want to apply this change, simply copy the attached SSDT-XSPI to your EFI/CLOVER/ACPI/patched folder.
 

Attachments

  • SSDT-XSPI.zip
    638 bytes · Views: 38
Last edited:
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Thanks to @MacKonsti for alerting me to an Intel Wi-Fi / Bluetooth solution. It may be possible to get working Wi-Fi and Bluetooth with the factory-installed Intel card (without purchasing BRCM replacement).

According to @MacKonsti: "Been testing this for a couple of days, works great. All kexts loaded from CLOVER/kext/Other works great in Mojave."
 
Joined
Sep 22, 2011
Messages
1,082
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I am offering NO support for Intel Wi-Fi / Bluetooth and am only posting this for others who may want to experiment on their own. Please don't clutter this thread with Intel Wi-Fi /Bluetooth support questions. However, if after testing, you have concrete/tested suggestions that improve Intel Wi-Fi / Bluetooth performance, your posts are welcome.
----------------------------------------------------
Initial tests of Intel Wi-Fi/Bluetooth look promising after being alerted to this solution here. If you want to test with the Intel Wi-Fi/Bluetooth card that is factory-installed in your HP EliteDesk 800 G4 Mini, do the following:
  1. Enable Wi-Fi / Bluetooth device in BIOS
    1. Enable System Options -> M.2 WLAN / BT
    2. Enable Built-in Device Options -> M.2 USB / Bluetooth
  2. Add USB port HS14 to SSDT-UIAC.aml (used in conjunction with Rehabman's USBInjectAll.kext). An updated SSDT-UIAC.aml is attached. Replace SSDT-UIAC.aml in EFI/CLOVER/ACPI/patched with this updated version.
  3. Install kexts from the links at this post as follows:
    1. If you are injecting 3rd-party kexts with CLOVER (FakeSMC.kext or VirtualSMC.kext is NOT in /Library/Extensions), add IntelBluetoothFirmware.kext, IntelBluetoothInjector.kext and itlwm.ikext to /EFI/CLOVER/kexts/Other (do NOT add itlwmx.kext).
    2. If you have installed FakeSMC.kext or VirtualSMC.kext in /Library/Extensions with CLOVER's "Inject Kexts" = DETECT, you must remove all 3rd-party kexts from /EFI/CLOVER/kexts/Other, set CLOVER "Inject Kexts" = YES (not DETECT) and copy the following kexts to /EFI/CLOVER/kexts/Other: IntelBluetoothFirmware.kext, IntelBluetoothInjector.kext and itlwm.ikext (do NOT add itlwmx.kext)
  4. Reboot and configure Bluetooth and Wi-Fi
Since I am running with 3rd-party kexts in /Library/Extensions, my kext configuration is as follows
  • CLOVER "Inject Kexts" = YES
  • Kexts in /EFI/CLOVER/kexts/Other: IntelBluetoothFirmware.kext, IntelBluetoothInjector.kext, itlwm.ikext
  • Kexts in /Library/Extensions: AppleALC.kext, EFICheckDisabler.kext, FakeSMC_CPUSensors.kext, FakeSMC.kext, IntelMausi.kext, Lilu.kext, NVMeFix.kext, USBInjectAll.kext, WhateverGreen.kext

I have not thoroughly tested, but Intel Bluetooth/Wi-Fi looks promising. Attached are some screenshots. Bluetooth connected easily to my Bluetooth speaker. Wi-Fi appears as another Ethernet device.
-----------------------------------------------------
I am offering NO support for Intel Wi-Fi / Bluetooth and am only posting this for others who may want to experiment on their own. Please don't clutter this thread with Intel Wi-Fi /Bluetooth support questions. However, if after testing, you have concrete/tested suggestions that improve Intel Wi-Fi / Bluetooth performance, your posts are welcome.
 

Attachments

  • SSDT-UIAC.zip
    827 bytes · Views: 55
  • Screen Shot 2020-07-21 at 12.02.20 PM.png
    Screen Shot 2020-07-21 at 12.02.20 PM.png
    64.9 KB · Views: 57
  • Screen Shot 2020-07-21 at 12.05.05 PM.png
    Screen Shot 2020-07-21 at 12.05.05 PM.png
    15.6 KB · Views: 59
Last edited:
Top