Contribute
Register

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

Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
I have added instructions here for modifying the HP EliteDesk 800 G4 Mini so that it easily accommodates two M.2 2280 NVMe SSD drives and one SATA HD / SSD. The instructions describe a modification of the SATA drive caddy that permits simultaneous installation of the M.2 and SATA drives.
 
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
Thanks for guide!Do feel the G4 mini is very hot running MacOS.
 
Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
Thanks for guide!Do feel the G4 mini is very hot running MacOS.
No. It runs very cool and is silent. My fan hardly runs at all. I love this hack - it's awesome.
 
Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
EDIT: After implementing the graphics device properties changes described below, I am observing faster wake-from-sleep behavior. My displays wake almost immediately from sleep instead of a delay that I was observing prior to these changes.
--------------------------------------------------
Ever since I figured out the framebuffer patching for the I7-8700T / UHD630 here, I have suspected that I specified device properties that are unnecessary. After a bit of experimentation, I have determined that I don't need to specify pipe properties or any device properties for a 4th "dummy" connector. I do, however, need to specify the indices, busids and flags. My test results are as follows:

Action Result
Remove busids (framebuffer-conX-busid) black screens
Remove device-id normal operation (defaults to 0x3e92 which is the detected device-id)
Remove pipes (framebuffer-conX-pipe) normal operation
Remove 4th "dummy" connector (framebuffer-con3) normal operation
Remove indices (framebuffer-conX-index) Single screen, flashing on and off
Remove flags (framebuffer-conX-flags) Black screens after wake from sleep; unable to remotely connect after wake from sleep


The following changes are included in the EFI in the archive attached to Post #1 in this thread:
  • Removed device-id
  • Removed framebuffer-conX-pipe properties
  • Removed 4th "dummy" connector framebuffer-con3 properties
My current Clover config.plist is attached to this post. If you use the attached config.plist, 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.
 

Attachments

Last edited:
Joined
Jul 2, 2020
Messages
2
Motherboard
HP EliteDesk 800 G4 Mini
CPU
i5-8500T
Graphics
UHD 630 + 560
Mac
Mac mini
Mobile Phone
iOS
You forget about USB on m.2 socket
I setup WIFI/BT card (BT is working on HS14)
I made screenshot - you can see it
Also i remove USBInjectAll.kext and use USBPorts.kext (generated by Hackintool)

Hackintool.png


Also i add external Sapphire RX 560 4Gb via ADT-Link R43SG on second m.2 port (UHD630 low FPS on my favorite game Dota2)
I have only one problem - with kext AppleALC on 23 and 28 mic in do not work(((
But it works with VoodooHDA.kext - but on it do not work HDMI audio(((
 

Attachments

Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
@Delek , Glad this guide helped you.

You forget about USB on m.2 socket
I setup WIFI/BT card (BT is working on HS14)
Good to know, thanks. I'm not using Wi-Fi / Bluetooth (yet), so this will help when I do. My system currently has the factory installed Intel Wi-Fi/Bluetooth card.

But it works with VoodooHDA.kext - but on it do not work HDMI audio(((
I have specified "no-hda-gfx" property in config.plist and do not define hda-gfx for reasons described at the bottom of this post. Did you try removing the no-hda-gfx property and defining hda-gfx before testing HDMI audio? Make sure that hda-gfx is defined in HDEF (you can use IORegistryExplorer to check). I have not setup HDMI audio (no HDAU device) and am not sure what VoodooHDA requires for working HDMI audio. If you need help, please post your debug files as described in Post #1.
 
Last edited:
Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
Hi, I have another question, I using BCM94360NG which is natively support by Apple, in this mini Elitedesk, after install finished, the Bluetooth can't be driven, but the WiFi works fine. also I have tried intel 9560 and intel Ax200 using intelBluetoothInjector.kext, IntelBluetoothFirmware.kext for Bluetooth and itlwmx.kext for intel WiFi, all can't be driven.
I think the only method is using M.2 adapter to using apple BCM9430CS2, may be can solve the question.
If you haven't revised your USB port mapping for your M.2 bluetooth card, @Delek 's post here may solve your bluetooth issue.

@asleb This may apply to you, too.
 
Last edited:
Joined
Jul 2, 2020
Messages
2
Motherboard
HP EliteDesk 800 G4 Mini
CPU
i5-8500T
Graphics
UHD 630 + 560
Mac
Mac mini
Mobile Phone
iOS
If you haven't revised your USB port mapping for your M.2 bluetooth card, @Delek 's post here may solve your bluetooth issue.
It solve his problem 100% - i have BCM94360NG and all is working)
No one kext need for this card - all work native!
 
Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
I am posting this for education about WEG and am NOT proposing a solution without WEG. I am using WEG in my system and it works perfectly.
----------------------------------------------
I attempted to develop a UHD630 graphics solution that does not require WhateverGreen (WEG). My brute force approach duplicates the WhateverGreen graphics properties that I injected (with Clover) as described here. This non-WEG solution almost works, but has graphics glitches during boot (before login prompt) and sometimes boots to black screens, so clearly WEG is doing more than I understand. Posting this as an explanation of some of the magic in WEG. I am still using WEG for my UHD 630 graphics solution and don't expect to develop a solution without WEG.

In addition to removing WhateverGreen.kext, I modified my Clover config.plist to work without WEG as follows
  • Remove all but the AAPL,ig-platform-id graphics device property (0000923E)
  • Enable the following DSDT device renames (WEG was renaming these)
    • change GFX0 to IGPU
    • change HDAS to HDEF
    • change HECI to IMEI
  • Add the following kext patches
Name Find Replace Comment
com.apple.driver.AppleIntelCFLGraphicsFramebuffer 00000800
02000000
98000000
01010800
04000000
C7030000
10.15.5-CFL-3E920000-Con0-LVDS2DVI
com.apple.driver.AppleIntelCFLGraphicsFramebuffer 01050900
00040000
87010000
02020900
04000000
C7030000
10.15.5-CFL-3E920000-Con1-DP2DVI
com.apple.driver.AppleIntelCFLGraphicsFramebuffer 02040A00 00040000
87010000
03040A00
04000000 C7030000
10.15.5-CFL-3E920000-Con2-DP2DVI


The kext patches do the following
  • Add 1 (one) to each connector index (00 -> 01, 01 -> 02, 02 -> 03). Without this index change, my system would boot to a single display that flashed on and off
  • Change all connector types to DigitalDVI (my system has DP connectors, but I am using DP->DVI adapters. System booted to black screens without this connector type change and when I change connector types to DP.
  • Change all connector flags to 0x03C7. Without the change in flag values, displays remained black after sleep/wake and I could not remotely connect after sleep/wake.
  • Change Bus IDs 0, 5, 4 to 1, 2, 4 respectively. I determined this by trial and error. There may be other Bus IDs that work, but my system booted to black screens if I did not change the Bus IDs.
 
Last edited:
Joined
Sep 22, 2011
Messages
640
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
I'm posting this for those who are curious about VRAM and am not suggesting any changes. My configuration baseline is still running with 1536 MB VRAM which is the UHD 630 default and I don't see any performance benefits when running with 2048 MB VRAM.
------------------------------------------------------
The macOS supported UHD 630 VRAM sizes are 0x40000000 (1024 MB), 0x60000000 (1536 MB) and 0x80000000 (2048 MB). When graphics device property framebuffer-unifiedmem is unspecified, VRAM defaults to 1536 MB. When framebuffer-unifiedmem is set to 0x80000000 (Reverse Byte Order 0x00000080), VRAM is 2048 MB. I tried setting framebuffer-unifiedmem to 2048 MB, but don't notice any difference in graphics performance (as measured by GeekBench 5). The only difference I see is that macOS now reports 2048 MB VRAM.

*** NOTE *** This guide indicates that patching framebuffer-unifiedmem is not recommended.

Screen Shot 2020-07-04 at 9.09.02 AM.png
 
Last edited:
Top