Contribute
Register

Big Sur on HP EliteDesk 800 G4/G5 Mini - The Perfect MacMini8,1 Hackintosh - OpenCore

Status
Not open for further replies.
Joined
Sep 22, 2011
Messages
1,520
Motherboard
HP EliteDesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
This thread is dedicated to installing / running Big Sur on the HP EliteDesk 800 G4/G5 Mini PC. This thread is derived from the original Catalina Guide and will gradually replace the Catalina guide.

A thread dedicated to Monterey on this HP EliteDesk 800 G4/G5 Mini has been created here by @logyon . I will continue to maintain this Big Sur thread for as long as I'm running Big Sur (until XCode updates require Monterey) and then will defer to @logyon and others for maintenance of the Monterey thread.

This thread is not applicable to other versions of the HP EliteDesk PCs (e.g. non-Mini PCs and G1, G2, G3, G6, etc.). It has been reported that this thread and posted EFIs are applicable to the HP Prodesk 600 G4 and G5 Mini PCs as well.

Getting help with your hack
Before you ask for help, do your homework by reading ALL Known Issues here. If you want assistance with your hack or you have an issue that needs to be resolved, please post your question in this thread with your problem reporting files as described here. If using OC, post your sanitized EFI (remove MLB, ROM, SystemSerialNumber, SystemUUID). If using CLOVER, use @black.dragon74 's problem reporting tool here. If macOS's Read-Only protections block your installation of black.dragon74's gen_debug script, please copy the gen_debug script attached here to your Desktop, change script properties with the terminal command 'chmod a+x ~/Desktop/gen_debug' and run the script from your Desktop. While this thread focuses on a solution with OpenCore, CLOVER questions can still be posted in this thread.

See BIOS configuration here
See macOS installation instructions here
See sample DeviceProperties configurations here for graphics and audio

Tested BIOS Versions (G4 Mini): 02.11.01 Rev.A, 02.12.00 Rev.A, 02.14.01 Rev.A, 02.15.00 Rev.A, 02.16.00 Rev.A, 02.17.00 Rev.A
Tested BIOS Versions (G5 Mini): 02.07.01 Rev.A, 02.08.00 Rev.A, 02.09.00 Rev.A, 02.10.01 Rev.A, 02.11.00 Rev.A, 02.12.00 Rev.A

See draft Open Core EFI attached. Match your installed OC version with the version indicated in the EFI name (do not mix OC and EFI versions). See change log here.

Switching from CLOVER to OC here

Big Sur install screen shots here

Big Sur GeekBench 5 CPU Benchmark here
 

Attachments

  • OC0.7.6-EFI-r002.zip
    3.8 MB · Views: 523
  • OC0.7.7-EFI-r001.zip
    3.8 MB · Views: 346
  • OC0.7.8-EFI-r001.zip
    3.8 MB · Views: 377
  • OC0.7.9-EFI-r001.zip
    3.8 MB · Views: 1,089
Last edited:
Revision History
  • 13-November-2020: Created thread with draft content
  • 14-November-2020: Attached new OC 0.6.3 EFI to Post #1. This updated EFI includes a revised config.plist that enables Kernel Quirks AppleCpuPmCfgLock and AppleXcpmCfgLock which may be necessary after confirming that the HP EliteDesk 800 G4 Mini BIOS has locked MSR 0xE2 register.
  • 17-November-2020: Attached new OC 0.6.3 EFI (r004) to Post #1. This revised EFI removes SSDT-USBX.aml (kUSB power properties are already in USBPorts.kext) and changes internal and Type C USBConnections (port types) and changes kUSB power properties to match MacMini8,1.
  • 22-November-2020: Attached new OC 0.6.3 EFI (r005) to Post #1. This revised EFI updates Lilu.kext (from 1.4.8 to 1.4.9), AppleALC.kext (from 1.5.3 to 1.5.4) and WhateverGreen.kext (from 1.4.3 to 1.4.4).
  • 02-January-2021: Attached new OC 0.6.3 EFI (r006) to Post #1. This revised EFI includes the changes listed here.
  • 04-January-2021: Attached new OC 0.6.5 EFI (r001) to Post #1. This revised EFI includes the changes listed here.
  • 06-January-2021: Attached new OC 0.6.5 EFI (r002) to Post #1. This revised EFI includes the changes listed here.
  • 03-February-2021: Attached new OC 0.6.6 EFI (r001) to Post #1. This revised EFI includes the changes listed here. Deleted older draft EFIs from Post #1.
  • 03-February-2021: Attached new OC 0.6.6 EFI (r002) to Post #1. This revised EFI includes the changes listed here. Deleted OC0.6.6-EFI-r001 from Post #1.
  • 13-February-2021: Updated Post #1 with new tested BIOS versions for G4 Mini and G5 Mini
  • 17-February-2021: Attached new OC 0.6.6 EFI (r003) to Post #1. This revised EFI includes the change listed here.
  • 01-March-2021: Attached new OC 0.6.7 EFI (r001) to Post #1. This revised EFI includes the change listed here.
  • 02-March-2021: Created first draft of macOS / OC installation instructions here.
  • 05-April-2021: Attached new OC 0.6.8 EFI (r001) to Post #1. This revised EFI for OpenCore 0.6.8 includes the changes listed here.
  • 27-April-2021: Attached new OC 0.6.8 EFI (r004) to Post #1. This revised EFI for OpenCore 0.6.8 includes the changes listed here.
  • 06-May-2021: Attached new OC 0.6.9 EFI (r001) to Post #1. This revised EFI for OpenCore 0.6.9 includes the changes listed here.
  • 08-May-2021: Attached new OC 0.6.9 EFI (r002) to Post #1. This revised EFI for OpenCore 0.6.9 includes the changes listed here.
  • 07-June-2021: Attached new OC 0.7.0 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.0 includes the changes listed here.
  • 08-June-2021: Attached new OC 0.7.0 EFI (r002) to Post #1. This revised EFI for OpenCore 0.7.0 includes the changes listed here.
  • 08-July-2021: Attached new OC 0.7.1 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.1 includes the changes listed here.
  • 07-September-2021: Attached new OC 0.7.3 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.3 includes the changes listed here.
  • 07-October-2021: Attached new OC 0.7.4 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.4 includes the changes listed here.
  • 02-November-2021: I have not posted an OC 0.7.5 EFI. See here for steps to update from OC 0.7.4 to OC 0.7.5 EFI.
  • 07-December-2021: Attached new OC 0.7.6 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.6 includes the changes listed here.
  • 22-December-2021: Attached new OC 0.7.6 EFI (r002) to Post #1. This revised EFI for OpenCore 0.7.6 includes the changes listed here.
  • 20-January-2022: Attached new OC 0.7.7 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.7 includes the changes described here.
  • 12-February-2022: Attached new OC 0.7.8 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.8 includes the changes described here.
  • 09-March-2022: Attached new OC 0.7.9 EFI (r001) to Post #1. This revised EFI for OpenCore 0.7.9 includes the changes described here.
 
Last edited:
Methodology
  • Started with Catalina as described here
  • Established a new OC test environment as described here
  • First experimented with OC here
  • Resolved performance issues and established first OC EFI release candidate here
  • Maintain production and test environments as described here
 
Last edited:
Known Issues and their solutions
  • See Catalina Known Issues and Solutions here
  • (Possible solution here) If after properly configuring bluetooth, you are unable to connect to bluetooth devices or bluetooth connections are unreliable / intermittent, you may try resetting bluetooth. See possible solution here.
  • HackMini8,1 freezes during upgrade from XCode 12.5.1 to XCode 13.2.1. See here.
  • (Solved. Configure manually since this is not configured in posted EFI) Boot chime (startup audio) does not play after upgrading to OC 0.7.7. See startup audio configuration here.
  • (Solved and included in EFI attached to Post #1 starting with OC 0.7.6 R002) Monterey does not support patched connector type Dual-Link DVI (<04000000>) which I had been using to enable displays with DP->DVI adapters. With connector type DVI, Monterey boots to black screens. Starting with Monterey, we must use patched connector type HDMI (<00080000>) with DP->DVI adapters as discussed here.
  • (Solved and included in OC 0.7.6 and newer EFIs attached to Post #1) Apple's Intel GUC firmware update is not applied for increased iGPU performance. Solution is to add boot-arg igfxfw=2 as documented here.
  • (Solved - See solution here) I have not posted an OC 0.7.5 EFI. See here for steps to upgrade to OC 0.7.5 from the OC 0.7.4 EFI attached to Post #1.
  • (Solved - See solution here) Volume names are wrong in OC Boot Menu / Boot Picker. See solution here.
  • (Solved - See solution here) Unable to print from macOS to a Windows shared printer. This problem was caused by MS Windows update KB5005565 and a MacOS update to Big Sur 11.6.x and Monterey 12.2.x. This fix for this is here.
  • (Solved - See solution here) Unable to upgrade XCode from 12.4 to 12.5+ after upgrading from Catalina to Big Sur. Solution is to perform a clean installation of Big Sur as described here.
  • (Solved - Don't use Samsung SSDs) As discussed here, Samsung SSDs may cause problems in your system, even if they are not your primary boot device. The Dortania guide advises against the use of some Samsung SSD models here. Since there are alternatives (like Western Digital Black SSDs), I'm not recommending any Samsung SSDs for our hackintosh. More info on drives to avoid here.
  • (Solved and included in the latest EFI attached to Post #1) As discussed here, the _DSM->XDSM rename patch enabled in OC config.plist is unnecessary. This rename does not affect booting macOS with OC, but it may affect booting Windows with OC. Solution is to disable or remove this rename rule.
  • (Solved and included in the EFI attached to Post #1) If you are booting multiple OSes with Open Core (e.g. booting both Windows and macOS with Open Core), you will need ACPI patches that include _OSI("Darwin") conditions to conditionally load devices and apply changes depending on whether you are running macOS. See candidate ACPI here.
  • (Solved and included in the EFI attached to Post #1) Either BIOS or macOS updates (maybe both?) may require a new rtcfx_exclude range for RtcMemoryFixup.kext. I don't like periodically having to find a new rtcfx_exclude range, so I'm abandoning RtcMemoryFixup and reverting to the RTC memory size patch employed by CLOVER (Fix RTC). According to Download-Fritz (other forum), RtcMemoryFixup patches upper RTC memory for use with hibernate and FV2 unattended restart. I don't care about either of these, so RtcMemoryFixup.kext has no value for me. See here.
  • (Solved. Remove AudioDXE driver and disable UEFI Audio Support in OC config.plist) If OpenCore startup times are long (delay before seeing the boot picker), try disabling the AudioDXE driver and disabling UEFI Audio Support in the OC config.plist. Currently, AudioDXE driver and UEFI Audio Support are enabled in the EFI attached to Post #1, so you will need to make this change yourself.
  • (Solved. Switched to VirtualSMC.kext which is included in the EFI attached to Post #1) The 'old' FakeSMC.kext has compatibility issues with OC. If you like FakeSMC's HWMonitor.app/Sensors, there's a newer version of FakeSMC. See here and here. I suspect that the 'old' FakeSMC is responsible for a random restart that I experienced when updating BS 11.2 to BS 11.2.1 and that it was responsible for random restarts that I observed after upgrading my G4 Mini's BIOS from 2.14.01 to 2.15. If you're using VirtualSMC.kext (instead of FakeSMC), you can disregard this issue.
  • (Solved and included in the EFI attached to Post #1) Big Sur update notifications do not appear via the normal 'Software Update' mechanism. Big Sur updates may require certain SIP levels. The EFI attached to Post #1 has SIP fully enabled (in OC config.plist, NVRAM>Add>7C436110-AB2A-4BBB-A880-FE41995C9F82>csr-active-config is <00000000>). If you have fully or partially disabled SIP, you may not be notified of Big Sur updates.
  • (Solved. Not yet included in EFI attached to Post #1) USBPorts.kext may be incorrectly classifying the connector type for the USB-C port. See here and here. Since this port appears to be functioning without issues, this issue may be more cosmetic than functional.
  • (Not included in EFI attached to Post #1) If your system includes a SATA SSD, you may need to enable Kernel > Quirk > ThirdPartyDrives to enable TRIM on your 3rd-party SSD. NVMe SSDs do not require this Quirk.
  • (Resolved and included in the EFI attached to Post #1) USBPorts.kext has wrong HS14 port type and incorrect USB Sleep/Wake Power properties. See here.
  • (Resolved and included in the EFI attached to Post #1) Real time clock error during Big Sur Installation. Use RTCMemoryFixup.kext as discussed here. Use RTC device patch here. I am no longer using RTCMemoryFixup.kext.
  • (Not yet resolved, but doesn't appear to be a critical error) The MSR 0xE2 register is locked in the HP EliteDesk 800 G4 Mini BiOS. The OC EFI currently attached to Post #1 attempts to address this by enabling Kernel Quirks AppleCpuPmCfgLock and AppleXcpmCfgLock, but according to Dortania's Guide, this may result in instability. The preferred method is a BIOS Mod.
  • (Resolved and included in the EFI attached to Post #1) At some point during my Catalina experimentation, I had tried switching boot-arg darkwake=2 to darkwake=3. This did not make any difference, but I never changed back. My OC EFIs will continue to use darkwake=2.
 
Last edited:
Install macOS on HP EliteDesk 800 G4/G5 Mini with Open Core (OC)
Rev 1.0.6
08-October-2021

****************************************************************
This guide is for installing macOS with Open Core (OC) boot loader on HP EliteDesk G4/G5 Minis. This guide is tested with the EliteDesk 800 G4/G5. Others have claimed that it works with ProDesk 600 as well.
****************************************************************

IMPORTANT
  • Pay close attention to the boot options you select from the OC boot picker to make sure that you complete all steps of the macOS installation. OC usually does a good job of picking the correct boot option, but you should still confirm each selected boot option each time the macOS installer reboots.
  • This guide assumes that you are using an OC EFI.zip archive attached to Post #1. BEFORE installing macOS, edit the provided OC config.plist, replacing PlatformInfo>Generic> MLB, ROM, SystemSerialNumber, SystemUUID values with your own unique values. If you don’t already have your own unique values, use corpnewt/GenSMBIOS to create your own MLB, SystemSerialNumber and SystemUUID. User your rig's Ethernet MAC Address for your ROM.
  • Use ONLY the OC version indicated in the name of the provided EFI.zip archive (e.g. use ONLY OC 0.6.7 with OC0.6.7-EFI-r001.zip).
  • Configuring your BIOS with USB as your first UEFI boot device will simplify macOS installation, since you will be rebooting multiple times from the USB stick.
  • Beginning with Big Sur 11.3, you must make sure that your USBPorts.kext (in EFI/OC/Kexts) has only 15 logical ports. Starting with EFI archive OCO.6.7-EFI-r001.zip, the included USBPorts.kext matches the included USBPorts-noHS14.kext (internal Bluetooth USB port HS14 is removed from the USB port map). The provided EFIs include USBPorts-16.kext that include all 16 available logical USB ports. After installing macOS, you may need to edit USBPorts-16.kext/Contents/Info.plist to create your own custom USBPorts.kext to enable/disable the ports that you require (while remaining within the 15-port limit). Creating your own USBPorts.kext will be important if your bluetooth requires port HS14. See here for more about customizing USBPorts.kext.
  • The graphics DeviceProperties in the provided config.plist are for systems using DP->DVI adapters for their displays. You may need to edit your own config.plist DeviceProperties if you are using different displays (e.g. if you are using DP or HDMI ports without adapters). See sample DeviceProperties here. See here for some DeviceProperties editing tips.
  • The audio DeviceProperties in the provided config.plist have audio over DP/HDMI disabled (No-hda-gfx is defined). You will need to delete No-hda-gfx from the config.plist audio DeviceProperties to enable audio over DP/HDMI.
  • Don't forget to review known issues and their solutions here. There may be some resolved issues that are not yet included in the provided EFI.
************************************

  1. Configure your G4/G5 Mini BIOS as per the BIOS configuration attached here. Make sure your BIOS version matches one of the tested BIOS versions specified in Post #1 of this thread.
  2. Replace Intel Wi-Fi/Bluetooth with Broadcom Wi-Fi/Bluetooth if you want native macOS support for Wi-Fi/Bluetooth. See Broadcom options here or here (check both options before deciding). There may be other macOS supported options, too. You can choose to use Intel Wi-Fi/Bluetooth, but I'm not supporting it or recommending it (yet).
  3. Create a macOS USB Installer (follow instructions here)
  4. Copy one of the provided OC EFIs (attached to Post #1) to the EFI on your macOS USB Installer. Choosing the EFI with the latest OC version and latest rXX version is usually best if you don't have your own preference. After you copy the EFI to your USB drive, the EFI directory structure on your USB drive should be /Volumes/EFI/EFI containing folders BOOT and OC.
  5. Edit config.plist in the USB stick EFI/OC, replacing the PlatformInfo>Generic> MLB, ROM, SystemSerialNumber, SystemUUID values with your own values. If you don’t already have your own unique values, use corpnewt/GenSMBIOS to create your own MLB, SystemSerialNumber and SystemUUID. Use your rig's Ethernet MAC Address for your ROM.
  6. Customize USBPorts.kext in OC/EFI with your own 15-port USBPorts.kext. If you are not sure which USB ports you need, you may start with the provided USBPorts.kext. Beginning with EFI archive OC0.6.7-EFI-r001, the provided USBPorts.kext matches USBPorts-NoHS14.kext (removes the internal Bluetooth USB port HS14). The provided EFI includes USBPorts-16.kext which defines all 16 available logical USB ports. You can edit USBPorts-16.kext/Contents/Info.plist to create your own custom USBPorts.kext.
  7. The graphics DeviceProperties in the provided config.plist are for systems using DP->DVI adapters for their displays. You may need to edit your own config.plist DeviceProperties if you are using different displays (e.g. if you are using DP or HDMI ports without adapters). See sample DeviceProperties here. See here for some DeviceProperties editing tips.
  8. Boot from the macOS Installer USB stick
  9. If booting for the first time after updating/changing your OC EFI, Reset NVRAM and reboot
  10. At the OC boot picker, select “Boot macOS Install” from the macOS installer USB stick
  11. If you are performing a new macOS installation, select Disk Utility from the macOS Utilities screen and click Continue
    • Erase the target disk with Format APFS and Scheme GUID Partition Map
    • Exit Disk Utility
  12. Select Install macOS from the macOS Utilities screen and click Continue
  13. Click Continue and click Agree
  14. Select the target volume for your macOS installation and click Continue
  15. When the macOS installer reboots, boot from the USB stick
  16. At the OC boot picker, select “Boot macOS Install” from your macOS target disk (NOT the macOS installer on the USB stick)
  17. When the macOS installer reboots, boot from the USB stick
  18. At the OC boot picker, select “Boot macOS Install” from your macOS target disk (NOT the macOS installer on the USB stick). Note that you are selecting this same entry for the SECOND TIME.
  19. When the macOS installer reboots, boot from the USB stick
  20. At the macOS boot screen, select “Boot macOS” from your macOS target disk
  21. Follow the macOS configuration prompts
  22. Copy the OC EFI from your USB stick to your target disk EFI
  23. Eject / Remove the macOS installer USB stick
  24. Reboot and confirm that your new macOS installation starts and runs properly
  25. Use pmset to set hibernatemode and proximitywake to 0 to address potential sleep issues. For complete configuration of pmset, you can use the script here.
  26. Disable "Wake for Ethernet" and disable "Enable Power Nap" (System Preferences > Energy Saver)
  27. If necessary, modify USBPort.kext/Contents/Info.plist to customize your USB port map. Begining with Big Sur 11.3, USB port maps must include no more than 15 logical USB ports (port limit patching is no longer supported). The EFI.zip attached to Post #1 includes USBPorts-16.kext with all 16 available logical USB ports. Edit USBPorts-16.kext/Contents/Info.plist to remove one logical port that you are not using, rename it to USBPorts.kext and copy it to EFI/OC/Kexts. See here for more about customizing USBPorts.kext.
  28. The audio DeviceProperties in the provided config.plist have audio over DP/HDMI disabled (No-hda-gfx is defined). You will need to delete No-hda-gfx from the config.plist audio DeviceProperties to enable audio over DP/HDMI.
  29. See my Known Issues here for solutions that have not yet been included in the provided EFI (you may need to apply these fixes yourself).
  30. If you have successfully created Device Properties for a Graphics/Audio configuration that is not listed here, please create a new post in this thread with your new Device Properties. See this post as an example for your post. Thank you!
 
Last edited:
CLOVER Specifics
  • I will not be posting a Clover-based solution for Big Sur. Open Core will be my only bootloader for Big Sur.
To switch from CLOVER to OC, do the following:
  1. Make a full system backup before you convert
  2. Open Hackintool and collect the following info (collecting this from your CLOVER config.plist is possible, too, if you can avoid the confusion of RtVariables.MLB and SMBIOS.BoardSerialNumber):
    1. Serial Number (this will be OC's PlatformInfo.Generic.SystemSerialNumber)
    2. System ID (this will be OC's PlatformInfo.Generic.SystemUUID)
    3. ROM (this will be OC's PlatformInfo.Generic.ROM)
    4. Board Serial Number (this will be OC's PlatformInfo.Generic.MLB)
  3. Follow this guide to remove the CLOVER stuff from your system: Converting from CLOVER to OC
  4. After you have completely removed the CLOVER EFI from your system, replace it with your OC EFI
  5. Populate your OC config.plist with the values you collected in Step 1
  6. Reboot (now with OC bootloader)
  7. Follow any prompts to allow extensions for apps that you've installed
 
Last edited:
Still being investigated
  • See Catalina items still being investigated here.
  • After confirming that MSR 0xE2 register is locked in the HP EliteDesk 800 G4 Mini BiOS, I have enabled Quirks AppleCpuPmCfgLock and AppleXcpmCfgLock (a work-around that is apparently not as good as a BIOS Mod). I will continue to observe after making these Quirks changes.
  • CFG-Lock is enabled in BIOS. I have extracted the BIOS .bin from multiple HP EliteDesk 800 G4 Mini BIOS versions and examined with UEFITool / Universal IFR Extractor as discussed here, but I am not able to find the 'Setup' in the BiOS .bin and Universal IFR Extractor reports everything I try to examine as "Unknown Protocol."
 
Last edited:
Graphics Device Properties

  • 3xDP-to-DVI (default solution in EFIs attached to Post #1): 3 x DP -> DVI adapters. Audio over DP/HDMI is disabled with property No-hda-gfx to prevent kernel panic on wake. Provided by @deeveedee. See here and here and here for my work to determine these DeviceProperties. *** Beginning with Monterey, connector type must be patched as HDMI (not DVI) for DP->DVI adapters ***
  • 3xDP_NoHdaGfx: 3 x DP. Audio over DP is disabled with property No-hda-gfx. Provided by @cavesdev
  • 3xDP_NoHdaGfx-v2: 3 x DP. Audio over DP is disabled with property No-hda-gfx. Provided by @deeveedee . This is a simplified property list that needs testing. If you have 3xDP and do not want audio over DP, please test and post your test results. See background here.
  • 2xDP+1HDMI: 2 DP + 1 HDMI. Audio over DP / HDMI is ENABLED. Provided by @NeoNero
  • 3xDP: 3 DP. Audio over DP is ENABLED. Provided by @rafale77. See details here.
 

Attachments

  • 3xDP-to-DVI.plist.zip
    1.2 KB · Views: 262
  • 3xDP_NoHdaGfx.plist.zip
    1 KB · Views: 250
  • 2xDP+1HDMI.plist.zip
    1.2 KB · Views: 462
  • 3xDP.plist.zip
    1.2 KB · Views: 351
  • 3xDP_NoHdaGfx-v2.plist.zip
    1.2 KB · Views: 249
Last edited:
Status
Not open for further replies.
Back
Top