Contribute
Register

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

Joined
Nov 18, 2020
Messages
4
Motherboard
HP 800 G5 Mini
CPU
i5-9500T
Graphics
Intel UHD 630
Mac
  1. MacBook Pro
  2. Mac mini
I think the issue that I was having was that when I was copying the files from the ZIP to the EFI I was putting them in the wrong spot (the previous post you helped me with), and I was doing a merge and not a replace (thanks Mac). When I started to manually replace all the files on the EFI partition, it started to work. I also had to swap to a different hard drive, the one I was using it did not like. When I was trying to wipe the drive, it was locking up on creating the partition. I don't know if the firmware was wrong or what. I also went out and got a different brand of USB Stick that helped. I'm all up and running for a couple days now. Waiting for my BCM94360NG to arrive so I can use my fancy Apple Keyboard and Mouse.

Thank you for all the help, this guide does work with the 800 G5 with the i5 and the Intel video.
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
21,525
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
  1. iMac
Mobile Phone
  1. iOS
I think the issue that I was having was that when I was copying the files from the ZIP to the EFI I was putting them in the wrong spot (the previous post you helped me with), and I was doing a merge and not a replace (thanks Mac). When I started to manually replace all the files on the EFI partition, it started to work. I also had to swap to a different hard drive, the one I was using it did not like. When I was trying to wipe the drive, it was locking up on creating the partition. I don't know if the firmware was wrong or what. I also went out and got a different brand of USB Stick that helped. I'm all up and running for a couple days now. Waiting for my BCM94360NG to arrive so I can use my fancy Apple Keyboard and Mouse.

Thank you for all the help, this guide does work with the 800 G5 with the i5 and the Intel video.
As per rules, please update your hardware profile to allow others to help you easier
 
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I'm installing Catalina on the HP EliteDesk 800 G3 Mini (OC 0.6.3). This ACPI patch was needed after updating the G3 Mini to the latest BIOS (02.37 Rev.A, Nov 6, 2020). Posting this here in case this becomes necessary for the G4 Mini after a new BIOS update.

Without this patch, the macOS boot was stuck at "[ PCI configuration end, bridges..."
 
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I learned some valuable lessons while trying to get the EliteDesk 800 G3 Mini working - these lessons apply to all hackintoshes (not just the HP EliteDesk Minis):

If you make SMBIOS changes while experimenting for best graphics/power management (e.g. change MacMini8,1 to iMac19,1, you will likely have to
  • generate new USBPort mapping
  • delete extraneous com.apple.PowerManagement plists in /Library/Preferences
  • reset keyboard modifier keys (if you changed any)
  • reset Energy settings
  • check and reset power settings with Hackintool (e.g. proximitywake)
 
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
It appears that our HackMini8,1 (and probably other newer hacks) DO NOT NEED HPET.

EDIT: Since I originally posted this discovery, I have confirmed that HPET is also disabled on iMac19,1 and iMacPro1,1 when running macOS.

EDIT2: I have confirmed that Apple has been setting HPET._STA = 0 when running macOS since Skylake platforms (maybe earlier). I'm surprised that I haven't seen this in any guides and that guides still explain how to enable / patch HPET for newer platforms. I have concluded that HPET should not be enabled on newer hacks, so my next posted EFI will have HPET._STA = 0 (deleting HPET from macOS). With HPET disabled, I suspect that IRQ patching (e.g. with SSDT-TIME) is unecessary (since IRQ conflicts with HPET won't be an issue) and will experiment with this.

-----------------------------------------------------------

I wouldn't call this an earth-shattering discovery, but for me it was kind of a big deal. I was reviewing the ACPI and IORegistry dumps of a real MacMini8,1 and noticed something that I've never seen in ANY hackintosh guides: Device (HPET) is DISABLED on a real MacMini8,1 when running macOS! It's also disabled on a real iMac18,3, so I think that newer Macs don't enable HPET (unlike a MacPro5,1 which does enable HPET). Just for fun, I disabled Device (HPET) on my HackMini8,1 and wouldn't you know it - it appears to run fine without Device (HPET). I will continue to test, but this is contrary to everything I've always read and learned about hacking. If this is true, all the HPET patches that you read about in newer guides for newer hacks are unnecessary, and HPET should simply be disabled.

If you want to try this yourself, add the attached SSDT to your patched ACPI folder (slightly different methods for doing this if you're running CLOVER or OC, so know what you're doing).

If you already have a SSDT-AWAC.aml (to disable device AWAC), you'll notice that my attached SSDT-AWAC-HPET adds initialization of HPTE (in addition to initialization of STAS). If you want a "quick and dirty" test and you already have SSDT-AWAC, modify your SSDT-AWAC to match my attached SSDT.

How this works...

If you examine the extracted DSDT of an HP EliteDesk 800 G4 Mini, you'll see that HPET._STA is conditional on HPTE (same as AWAC._STA is conditional on STAS) as follows:

Code:
        Device (HPET)
        {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (HPTE)
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
        }

If we create Method _SB.INI (which does not already exist in an HP EliteDesk 800 G4 Mini) and initialize HPTE = 0 in this new method, HPET._STA will return 0 and Device (HPET) will be disabled.

If you are multi-booting multiple OSes, be careful with this patch, since it will disable HPET for all OSes if you're injecting patched ACPI for all OSes. In this case, you will want to wrap your condition with a check for _OSI("Darwin") (so that it only sets HPTE = 0 when running macOS).


To confirm that you've successfully disabled HPET, open IORegistryExplorer and search for HPET. If it's not there, you've disabled it. If the patch didn't work (and HPET is still enabled), make sure you've disabled other HPET patches (including CLOVER's "Fix HPET").
 

Attachments

  • SSDT-AWAC-HPET.zip
    812 bytes · Views: 36
Last edited:
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
EDIT: A note about CLOVER's FixRTC ACPI patch mentioned below: in addition to excluding the RTC IRQ (to prevent the IRQ conflict with HPET), CLOVER's FixRTC ACPI patch also patches ACPI to change the RTC memory length to 0x02. I believe that this prevents macOS from writing to and corrupting RTC. I suspect that setting RTC memory to 0x02 may not be the best way to address RTC corruption issues in our newer-generation hacks (may adversely affect sleep). If there are any RTC corruption issues after disabling CLOVER's FixRTC ACPI patch, I believe that Acidanthera's RTCMemoryFixup.kext should be used with an rtcfx-exclude range. Start with an rtcfx-exclude range of 00-FF as explained here and then narrow the range to find the specific range that causes the RTC corruption.

=================================

After patching HPET._STA=0, I am now testing the following CLOVER r5122 config.plist changes (for the reasons stated). @rafale77 is finding that similar changes are appropriate for OC here.

The following CLOVER ACPI fixes do not appear to be necessary for the HP EliteDesk 800 G4/G5 Mini:
  • FixTMR - not needed after setting HPET._STA=0 (no longer a risk of IRQ conflict)
  • FixHPET - not needed after setting HPET._STA=0 (no longer a risk of IRQ conflict and we no longer want to "force" HPET._STA as available)
  • FixIPIC - there never was an IRQ conflict and this was always unnecessary
  • FixRTC - not needed after setting HPET._STA=0 (no longer a risk of IRQ conflict)
  • FixMutex - was never necessary, since original DSDT has properly formed Mutexes
  • FixS3D - was never necessary, since there are no S3D issues in original DSDT
 
Last edited:
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Good news for microphone users - User @v.osypets in another forum shared his AppleALC.kext v1.5.5 with me. He has fixed the microphone/audio input. It's not mine to share, but if you look at my HP EliteDesk 800 G4 Mini thread in the other forum, you'll find the shared kext near the end of the thread.

I'm testing now and microphone seems to be working. Hopefully this is submitted to Acidenthera. Also fixed is the "relocation error" that I observed here.
 
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I have upgraded my Catalina 10.15.7.03 configuration with the latest Acidanthera kexts listed below. All working fine and Line-in/Mic works with layout-id 20 (0x14).
  • Lilu.kext: upgrade from 1.4.9 to 1.5.0
  • AppleALC.kext: upgrade from 1.5.4 to 1.5.5
  • WhateverGreen.kext: upgrade from 1.4.4 to 1.4.5
I will test for a while before updating the baseline attached to Post #1 in this thread. When I post the new baseline, it will include the following changes:
  • Setting HPET._STA=0 (delete HPET from macOS IORegistry)
  • Remove unnecessary CLOVER ACPI patches
  • Upgrade Acidanthera kexts
 
Last edited:
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I read a post by @5T33Z0 in another forum where he suggests a reduced driver set with CLOVER (especially after r5122). Based on his recommendations, I am currently running without FSInject.efi and without SMCHelper.efi. My reduced CLOVER r5122 driver set is as follows:
  • ApfsDriverLoader.efi
  • DataHubDxe.efi
  • NvmExpressDxe.efi
  • OcQuirks.efi (since I'm still booting with r5122)
  • OpenRuntime.efi
  • VBoxHfs.efi
According to him, after r5123, OcQuirks.efi is no longer necessary.
 
Joined
Sep 22, 2011
Messages
1,174
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
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:
Top