Contribute
Register

[GUIDE] Catalina on HP EliteDesk 800 G4 Mini - The Perfect MacMini8,1 Hackintosh

Joined
Aug 12, 2017
Messages
213
Motherboard
ASRock Z390 Phantom Gaming-ITX
CPU
i7-8700K
Graphics
RX 580
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
512K, Centris, iBook, iMac, LC, Lisa, Performa, Plus, Power Mac, PowerBook, Quadra, SE, SE/30
Mobile Phone
Android, iOS, Other
References that helped me with this build
*** This is my first hack that uses Clover's on-the-fly patching (no manually applied DSDT patches). I think it's important to understand the basics of DSDT patching to appreciate why we're applying Clover's on-the-fly patches. Thank you @RehabMan for being a great teacher (and for always insisting on problem reporting files)
Yes, you are doing rocket science for sure! I tried to run through the first and second reference but my brain just stopped. Is it really that hard? I wonder because I am trying to get my HP 800 G2 just as stable as your G4. I guess I would have to go through all this patching from start then since I guess there are a lot of different addresses on devices than yours? Where do you suggest I start? I am using OpenCore but I have no problem going back to Clover. It seems that is the way to go for these mini pcs.
 
Joined
Sep 22, 2011
Messages
706
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
Yes, you are doing rocket science for sure!
When you're learning, it looks like rocket science. Just be patient and use Google to see what others have done for your CPU and graphics. If your signature is current and you are using an RX 580, take a look at my RX 580 post here. It might give you some ideas.

If I were starting a new install with your PC, I would simply follow my same methodology here. I would want to see the disassembled ACPI for your system (the first step in my posted methodology) to determine whether the ACPI had any errors and to see which devices were missing or needed to be renamed.

If you want to post your ioreg dump and your current EFI (along with original ACPI), I'd be happy to take a look.
 
Joined
Sep 22, 2011
Messages
706
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
EDIT: This SSDT-UIAC.aml has been superseded by a new version here. To ensure that you're using my latest configuration / files, refer to the install instructions here, use the EliteDesk.zip archive attached to Post #1 and refer to the Known Issues and their solutions here.
-------------------------------------
As I was installing the 10.15.5 update, I learned that my SSDT-UIAC was incomplete (didn't include all necessary USB port types). I had attempted the 10.15.5 update via USB installer (the way I prefer) and my USB thumb drive was not recognized. I removed SSDT-UIAC, enabled the USB port limit patch, rebooted and re-ran Hackintool. I discovered that the thumb drive I was using needed USB ports SSXX and I had enabled only HSXX ports.

Attached is the updated SSDT-UIAC. This has been updated in the EFI attached to Post #1 in this thread.
 

Attachments

Last edited:
Joined
Sep 22, 2011
Messages
706
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
Lesson learned. I tried to change my framebuffer-conX-type to 0x0400 (DP) and thought my system worked with framebuffer-conX-type DP, but it does not. My EliteDesk 800 G4 Mini DOES require framebuffer-conX-type = 0x0004 (DigitalDVI) and not 0x0400 (DP). I needed to reboot a couple of times to observe the problem when framebuffer-conX-type = 0x0400 (DP) (Display is blank or garbled with framebuffer-conX-type = 0x0400 DP). I suspect this is an NVRAM issue, where NVRAM is retaining display configuration after I make a display property change. My lesson learned is that I need to reboot a few times after making a display change to confirm the change.

I will NOT be changing my framebuffer-conX-type. The correct port type with DP->DVI adapters is DigitalDVI.
 
Last edited:
Joined
Sep 22, 2011
Messages
706
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
EDIT: After changing IntelMausiEthernet.kext to IntelMausi.kext, the upgrade from 10.15.4 to 10.15.5 proceeded without issues.

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

I'm currently updating from 10.15.4.02 to 10.15.5.01. During the upgrade, I found that my HP EliteDesk 800 G4 froze at "26 minutes remaining." An inspection of the problem revealed that my Ethernet switch was being crippled by my HP EliteDesk (I'm not sure if this was a a packet storm or a problem with link negotiation - I didn't check). I switched IntelMausiEthernet.kext to IntelMausi.kext (rev 1.0.2) here and the 10.15.5 install was able to proceed normally.

Note that during the upgrade from 10.15.4 to 10.15.5, my displays changed from one to the other and displays blanked and reappeared repeatedly. Aside from this strange display behavior, the upgrade proceeds without issues.
 

Attachments

Last edited:
Joined
Sep 22, 2011
Messages
706
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
EDIT: After I posted this, I fixed the "VideoDecodersUnavailable" problem mentioned in the attached table. Sleep/wake now works fine without the "VideoDecoderUnavailable" problem mentioned in the attached table.
-----------------------------------
While experimenting with FrameBuffer patching / WEG, I tried all Coffeelake AAPL,ig-platform-id values for frame buffers that have 3 connectors. My IGPU device-id is 0x3e92. My test results are below. Note that I would only see the display when the AAPL,ig-platform-id value ends in 0x00.

My current working configuration is device-id=0x00003E92, AAPL,ig-platform-id=0x3E920000 (reverse byte order: device-id = 0x923E0000, AAPL,ig-platform-id = 0x0000923E)

**** IMPORTANT NOTE ABOUT REVERSE BYTE ORDER ****
The byte order of data in the config.plist MUST be "reverse byte order" and NOT the actual value.


The 64-bit (8 byte) hexadecimal value framebuffer-patch-enable = 0x00000001 (one) must be specified in the config.plist in its reverse byte order 0x01000000

The value AAPL,ig-platform-id = 0x3E920000 must be specified in the config.plist in its reverse byte order 0x0000923e

The value device-id = 0x00003E92 must be specified in the config.plist in its reverse byte order 0x923e0000

The value framebuffer-con0-type = 0x00000004 must be specified in the config.plist in its reverse byte order 0x04000000

------------------------------------------------
EDIT: While experimenting with BusIDs, I tried the following with the results noted. When configured with the BusIDs noted in the "Working" column, all displays worked properly. When configured with the BusIDs noted in the "Non-Working" column, one of the displays was black. Note that these BusIDs are valid for DigitalDVI connector types.

Working Non-Working
framebuffer-con0-busid 0x01 0x02
framebuffer-con1-busid 0x02 0x04
framebuffer-con2-busid 0x04 0x06
 

Attachments

Last edited:
Joined
Aug 12, 2017
Messages
213
Motherboard
ASRock Z390 Phantom Gaming-ITX
CPU
i7-8700K
Graphics
RX 580
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
512K, Centris, iBook, iMac, LC, Lisa, Performa, Plus, Power Mac, PowerBook, Quadra, SE, SE/30
Mobile Phone
Android, iOS, Other
While experimenting with FrameBuffer patching / WEG, I tried all Coffeelake AAPL,ig-platform-id values for frame buffers that have 3 connectors. My IGPU device-id is 0x3e92. My test results are below. Note that I would only see the display when the AAPL,ig-platform-id value ends in 0x00.

My current working configuration is device-id=0x3E92, AAPL,ig-platform-id=0x3E920000
I am sorry but I am lost here. My IGPU device-id is 0x1912 (from Hackintool). What do I then add to the device-id? I am not sure what to add in config under PciRoot(0x0)/Pci(0x2,0x0). Where do I add the test values (frame-buffers)? This is too much for my brain.
 
Joined
Sep 22, 2011
Messages
706
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
I have never had USB work as well on a hack as it is working on this HackMini8,1. Just for a test, I was creating a Catalina Installer USB and put the hack to sleep in the middle of the operation. The hack went to sleep (which may be a problem since USB activity should have blocked sleep?). When I resumed, the hack continued and finished creating the Installer USB (which worked perfectly).
 
Top