Jump to content
tonyx86

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

46 posts in this topic

Recommended Posts

Posted (edited)

**********************************************************************************

In this thread, I have fully documented the installation of macOS Catalina on my HP EliteDesk 800 G4 Mini. It is a PERFECT HackMini8,1 and is running very well for me without any issues. I hope this documentation helps you to install macOS on your hack. Please leave feedback if you think there is anything I can improve and let me know if you have any questions.
**********************************************************************************

 

Background

This is my first "modern" hack supporting UEFI and my first hack using Clover "on-the-fly" patches.  My previous hacks

  • Laptop: Thinkpad T61 / Nvidia NVS 140m
  • Laptop: Dell Latitude E6410 / Nvidia G3100m
  • Desktop: Gigabyte G31 / GeForce 9600
  • Desktop: Biostar TH55HD / Sapphire Pulse RX580 (Google "Catalina Biostar TH55HD" and look for user name deeveedee)

 

are all perfectly running Catalina and I patched them all "manually" - all DSDT patches applied with MaciSL with virtually no Clover on-the-fly patching and all booted Legacy Clover.  This UEFI hack was MUCH easier and took about 20 hours vs. a combined hundreds of hours for the old hacks.  I wanted a hack that was a little more future proof and I think this is it.  I hope you enjoy this as much as I am enjoying it.  It is a perfect MacMini8,1.

 

c06047206.png

 

My system specs

  • HP EliteDesk 800 G4 Mini (I7-8700T / UHD 630 / Q370 Chipset / 32GB DDR4 RAM)
  • 3 x DP Ports (connected to monitors using DP -> DVI adapters)
  • 6 x USB 3.1
  • 1 x USB Type-C 3.1
  • 2 x NVMe SSD (M.2 PCIe x4 2280/2230 combo ports)
  • 1 x SATA6 SSD
  • 1 x Intel Ethernet RJ-45
  • Conexant CX20632 Audio Codec
  • Unsupported M.2 PCIe x1 2230 Intel Wi-Fi (currently disabled in BIOS).  I may replace this with Brcm, but am using only Ethernet (IntelMausi) for now.

 

macOS Installation

  • See macOS installation steps here
  • See CLOVER (UEFI) installation later in this first post

  • See BIOS configuration in attached BIOS configuration PDF document

  • See EFI and /L/E kexts in attached EliteDesk.zip archive
  • See how I developed my installation methodology here
  • See references here
  • See instructions here for installing two M.2 2280 NVMe SSDs and one SATA HD / SSD

 

What is not working

  • Wi-Fi / Bluetooth (intentional since I have not yet replaced my Intel card).

 

What is not tested

  • USB c 3.1 port (I have partially tested the USB 3 functionality of the port and it seems to be working fine with the SSDT-UIAC.aml here)
  • Microphone port

 

What is working

  • Everything not mentioned above
  • Sleep / Wake
  • Multiple displays with IGPU graphics acceleration, hot pluggable display ports and DP->DVI adapters
  • USB 3.1 ports
  • Audio (internal speaker and headphone jack)
  • Ethernet
  • Auto-sensing headphone jack automatically switches to internal speaker when headphones removed

 

Known Issues and their solutions - see here

 

BIOS Version / Configuration

  • Version: 02.11.01 Rev.A
  • See attached BIOS configuration in PDF document "HP EliteDesk 800 G4 Mini BIOS Configuration.pdf"
  • Intel ME must be enabled for proper sleep / wake of UHD 630

 

Clover Configuration

  • Clover for UEFI booting only
  • Install Clover in the ESP
  • UEFI Drivers
    • Recommended drivers
      • DataHubDxe
      • FSInject
      • SMCHelper
    • File System drivers
      • ApfsDriverLoader
      • VBoxHfs
    • Memory fix drivers
      • AptioMemoryFix
    • Additional drivers
      • NvmExpressDxe
  • Install RC scripts on target volume
  • Themes
    • Choose your desired theme
  • Install Clover Preference Pane (option not available when installing on USB thumb drive)

 

UHD 630 Framebuffer Patching

 

Current Versions

  • Catalina 10.15.5.02
  • Clover (UEFI) r5119
  • Lilu.kext 1.4.5
  • WhateverGreen.kext 1.4.0
  • AppleALC.kext 1.5.0
  • IntelMausi 1.0.3 (Not IntelMausiEthernet)

 

Credits To be provided

 

ScreenShots

Spoiler

Screen Shot 2020-05-23 at 4.27.11 AM.png

 

Screen Shot 2020-05-24 at 10.38.24 AM.png

 

Screen Shot 2020-05-24 at 10.40.56 AM.png

 

1305846805_ScreenShot2020-06-09at12_03_37PM.png.094266650360a21f9969aa3f73acc9f2.png

 

Screen Shot 2020-05-24 at 9.17.58 PM.png

 

About MacOS.png

 

 

 

HP EliteDesk 800 G4 Mini BIOS Configuration.pdf

EliteDesk800 G4 Mini - Rev 0.91.zip

Edited by tonyx86
Moved screenshots to Spoiler

Share this post


Link to post
Share on other sites
Advertisement
Posted (edited)

Revision History

 

  • 23-May-2020: Created thread with draft content
  • 24-May-2020: Updated EliteDesk.zip archive (Rev 0.4) in Post #1 to add darkwake=2 and remove -disablegfxfirmware boot args.  See Known Issues in Post #1.
  • 24-May-2020: Updated EliteDesk.zip archive (Rev 0.5) in Post #1 to include missing EFICheckDisabler.kext in LE.
  • 26-May-2020: Updated EliteDesk.zip archive (Rev 0.6) in Post #1 to include an updated SSDT-UIAC.aml to address the missing port types described in Known Issues in Post #1.
  • 27-May-2020: Updated EliteDesk.zip archive (Rev 0.7) in Post #1 to change IntelMausiEthernet.kext to IntelMausi.kext as described in Known Issues in Post #1.
  • 29-May-2020: Solved the UHD 630 "VideoEncodersUnavailable" problem (enabled Intel ME in BIOS).  Marked this as solved in Post #1 Known Issues.
  • 01-Jun-2020: Updated the EliteDesk800.zip archive (v0.8) attached to Post #1 of this thread with the changes/additions described here.
  • 02-Jun-2020: Applied Catalina supplemental update 10.15.5.02; Added Clover configuration to Post #1
  • 03-Jun-2020: Updated the EliteDesk800.zip archive (v0.81) attached to Post #1 of this thread with the change described here.
  • 03-Jun-2020: Updated the EliteDesk800.zip archive (v0.82) attached to Post #1 of this thread with the change described here.
  • 05-Jun-2020: Upgraded Clover to r5119 with the Clover configuration in Post #1
  • 08-Jun-2020: Updated the EliteDesk800.zip archive (v0.9) attached to Post #1 of this thread with added SSDT-USBX.aml to EFI/CLOVER/ACPI/patched. See here for explanation.
  • 09-Jun-2020: Attached "HP EliteDesk BIOS Configuration.pdf" document to Post #1
  • 10-Jun-2020: Updated the EliteDesk800.zip archive (v0.91) attached to Post #1 of this thread with new SSDT-PMCR (see here), enabled Clover's "Add MCHC" (see here) and added SSDT-PPMC (see here)
  • 12-Jun-2020: Added Catalina installation instructions link in Post #1
  • 28-Jun-2020: Added link in Post #1 with instructions for installing three SSDs/ HDs in the HP EliteDesk 800 G4 Mini
Edited by tonyx86

Share this post


Link to post
Share on other sites
Posted (edited)

My methodology for developing this solution

 

  • Started by disassembling ACPI to confirm that it didn't contain any errors
  • I researched various BIOS suggestions and found that they were in agreement.  I don't think my BIOS settings have any surprises.
  • I experimented with different CLOVER UEFI configurations (this is my first UEFI hack) and think I settled on a minimal set of required drivers.  Found that KernelPM fix was required to boot.  I kept Clover in verbose (-v) boot mode during initial installation / debugging.
  • I prefer to install kexts in /L/E, so my kext installation strategy is based on that preference
  • Temporarily added USB port limit patch to permit Catalina USB installation.  Then created SSDT-UIAC (using Hackintool) and removed port limit patch.
  • Researched Apple devices and selected MacMini8,1 as closest architectural match (CPU and graphics)
  • Inspected disassembled DSDT to observe device names for potential renaming or missing (e.g. GFX0, EC0, SAT0, HDAS, HECI).  Note that Lilu/WhateverGreen handles video/audio renaming.
  • Created Clover config.plist with _OSI and _DSM renames and also EC0 and SAT0 renames
  • I added SSDT-XOSI.aml and SSDT-PMCR.aml to EFI/CLOVER/ACPI
  • Enabled typical Clover ACPI fixes (identifying and testing the need for these fixes will be ongoing)
  • Dropped DMAR and MATS tables after a bit of research (not certain this is needed)
  • Enabled PluginType after a bit of research
  • Added -disablegfxfirmware boot arg to resolve gfx firmware boot loop while I was trying to get my display working (before I established working FrameBuffer patching with WhateverGreen).  After successfully implementing FB patching with WEG, removed -disablegfxfirmware boot arg.
  • Created device properties (in Clover config.plist) for IGPU / Framebuffers.  This was the hardest part.  LOTS OF TRIAL and ERROR since I'm using DP > DVI adapters with multiple displays.  Attempted video with and without WEG and ended up staying with WEG.  I got lucky with an accidental ig-platform-id mistake that actually kept IGPU acceleration from loading and allowed me to boot the Catalina installer.  The incorrect ig-platform-id allowed me to boot the Catalina installer and see the display (single display) before I had a working FrameBuffer solution.  Without this "accident" the Catalina installer booted to black screen. After extensive reading of Hackintool and WEG guides and other posts, I ended up manually creating my device properties and experimenting with different ig-platform-ids and port types.  My approach was a methodical, brute-force trial and error elimination of the possibilities until I found one that worked.  I suspect that my device properties currently include things that are unnecessary.
    Critical to my Framebuffer patching was enabling System Preferences > Sharing > Remote Login and Remote Management to allow me to "Remote Desktop" into my hack.  Each failed Framebuffer patch resulted in a black screen.  The only way to see the desktop was to remote into the hack.  I disabled sharing after I was certain that my Framebuffer patching was working properly.
    Also critical to my Framebuffer patching: While trying to get a working Framebuffer patch with WEG, I discovered that I needed to use framebuffer-conX-type = 0x0004 (DigitalDVI) and NOT 0x0400 (DP) (even though my system has DP ports). This is because I'm using DP->DVI adapters.
  • While trying to get IGPU acceleration working with FrameBuffer patching, I added an AppleGraphicsDevicePolicy patch.  I have confirmed that this AGDP patch is required for multiple displays on my HackMini8,1.
  • Set hibernatemode and proximitywake to 0 to address potential sleep issues and also disabled "Wake for Ethernet" and "Enable Power Nap"
  • I added No-hda-gfx device property to HDEF after finding that my system froze on sleep / wake
  • Removed -disablegfxfirmware boot arg which is not needed after successfully implementing FB patching with WEG
Edited by tonyx86

Share this post


Link to post
Share on other sites
Posted (edited)

Known Issues and Their Solutions

 

  • (Solved - not yet included in EliteDesk.zip archive attached to Post #1)  Displays are slow to wake from sleep (even though system wakes immediately). Solution is to inject EDID for each display using the graphics device property key AAPL0X,override-no-connect, where X is the display number.  See details here.
  • (Solved - not yet included in EliteDesk.zip archive attached to Post #1)  My SSDT-UIAC.aml USB port maps do not include the USB port for M.2 Bluetooth. This is intentional, because my system does not have a supported Wi-Fi/Bluetooth card. If you have a supported M.2 Wi-Fi / Bluetooth card, you will need to add the Bluetooth USB port mapping to SSDT-UIAC.aml.
  • (Solved - not yet included in EliteDesk.zip archive attached to Post #1) There are unnecessary graphics device properties injected via my Clover config.plist as specified here.  Solution is to remove these unnecessary properties.  It appears that removal of these unnecessary graphics device properties results in faster display wake-from-sleep.
  • (Solved - see mechanical modification here) The HP EliteDesk 800 G4 Mini has a mechanical design flaw that prevents simultaneous installation of two M.2 2280 NVMe SSDs and a SATA HD / SSD. Solution is to modify the SATA drive caddy as shown here.
  • (Solved - no further work required)  After cloning my backup to a new NVMe SSD (using Carbon Copy), my displays did not work correctly. System would appear to boot properly, but after login, one display would go black. Solution is to rebuild kextcache as described  here.
  • (Solved - not yet included in Bios Configuration PDF attached to Post #1) When pressing F9 at start-up to display boot menu, the G4 Mini makes an annoying, loud beep. Solution is to disable startup sounds in BIOS configuration

  • (Solved - not yet included in EliteDesk.zip archive attached to Post #1) SSDT-UIAC.aml in EFI/CLOVER/ACPI/patched does not include port mappings for the USB 3.1 Type C port. The HS10 and SS03 mappings are added in the updated SSDT_UIAC.aml here, but are not yet included in the EliteDesk.zip archive attached to Post #1.

  • (Solved - not yet included in EliteDesk.zip archive attached to Post #1) Audio "pop" during macOS startup (before login prompt). Solution is to uninstall CLOVER's AudioDxe.efi driver. I am currently running without this driver, but have not yet updated the EliteDesk.zip archive attached to Post #1.

  • (Solved - not yet included in EliteDesk.zip archive attached to Post #1) When first configuring my Clover config.plist, I enabled "ResetHDA" (Devices > Audio Properties). It does not appear that this is necessary. I am currently operating with "ResetHDA" disabled. This change is not yet reflected in the EliteDesk.zip archive attached to Post #1.

  • (Solved and included in the EliteDesk.zip archive attached to Post #1) A real MacMini 8,1 has ACPI Device (PPMC) but this device does not appear in the real MacMini8,1 IORegistry. I'm not sure why this device would be needed. The SSDT to inject Device (PPMC) is here and is included in the EliteDesk.zip archive attached to Post #1.

  • (Solved and included in the EliteDesk.zip archive attached to Post #1) A real MacMini8,1 has ACPI Device (MCHC). Solution is to enable "Add MCHC" in Clover's config.plist.

  • (Solved and included in the EliteDesk.zip archive attached to Post #1) Device (PMCR) is not loaded as viewed with IORegistry Explorer. The solution is to use the ACPI Device (PMCR) from a real MacMini8,1 (not a simplified fake Device (PMCR) ). With the real ACPI Device (PMCR), PMCR is loaded as viewed with IO Registry Explorer. See solution here.

  • (Solved and included in the EliteDesk.zip archive attached to Post #1) USB Power properties are not defined.  Solution is to add SSDT-USBX.aml to EFI/CLOVER/ACPI/patched, with power properties extracted from a real MacMini8,1 DSDT.
  • (Solved. Cycle power on the new display) A new display may not be detected if the new display is plugged into an unused display port while the HP EliteDesk 800 G4 Mini is sleeping. Solution is to cycle power on the new display after waking the EliteDesk 800 G4 Mini. Cycling display power on the newly added display causes displays to be re-detected.
  • (Solved. Problem resolves itself after a few boot cycles) After applying the Catalina 10.15.5.02 supplemental update, Catalina booted to a single display.  After a few boot cycles, multi-display operation was restored to normal.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) Unable to upgrade from 10.15.4 to 10.15.5 when using IntelMausiEthernet.kext.  Solution is to switch to IntelMausi.kext (Rev 1.0.2 here).
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) Some USB devices were not recognized. My SSDT-UIAC.aml was incomplete and did not specify all required USB port types (missing SSxx ports). The attached EliteDesk.zip archive includes this fix.
  • (Reported this as a possible Clover issue - no solution yet) Clover boot loader may default to Recovery volume after a normal shutdown.  Work-around is to select your normal macOS volume.  This may only happen when Clover is configured to boot LastBootedVolume and may be "fixable" by explicitly setting a boot volume (haven't tested this).
  • (No longer observed) At least one display blanks (sleeps) when plugging / unplugging USB device (observed in front USB 3.1 ports).  Display wakes immediately on keyboard and mouse activity, so this is a minor issue but may be indicative of another issue.
  • (Solved - this is a BIOS setting and requires no macOS changes) Safari has problems loading insanelymac web pages after sleep / wake.  I suspect that the problem is with the embedded video on the pages.  Also observed video problem in AppStore after sleep/wake.  Console: VideoDecodersUnavailable.  Solution is to enable Intel ME in BIOS.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) Display does not fully wake after resuming from sleep (needs an extra mouse or keyboard stimulus to fully wake).  Solution is to change boot arg darkwake=0 to darkwake=2.  Other values of darkwake may work as well, but this is the first I tried and it worked.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) -disablegfxfirmware boot arg is not required with WEG.  I inadvertently left this boot arg after I encountered an endless gfx firmware update boot loop while working on my FB patching.  This boot arg is no longer necessary after completing FB patching with WEG.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1): Sometimes, CMOS time is lost on shutdown or restart.  Solution is to enable Clover's Apple RTC fix in config.plist.
  • (Solved and included in the attached EliteDesk.zip archive) headphone jack doesn't work.  Solution is to change HDEF layout-id to 28.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) System freezes on wake from sleep because of a kernel panic related to hda-gfx (my system does not have HDMI and my DP->DVI adapters do not drive monitor speakers).  Solution is to add No-hda-gfx property to HDEF as described here.  This property is recognized as a Lilu flag and prevents loading hda-gfx.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) Device (PMCR) is not defined.  Solution is a SSDT that "injects" the missing device.
  • (Solved and included in the EliteDesk.zip archive attached to Post #1) eficheck is loaded (not sure why this is bad, but may be a privacy issue - see here). Solution is to add updated EFICheckDisabler kext that include Q370 chipset.  See here.
Edited by tonyx86

Share this post


Link to post
Share on other sites
Posted (edited)

Install Catalina on HP EliteDesk 800 G4 Mini
Rev 1.0
12-June-2020

************************************
IMPORTANT

  • Your displays may flash on and off during Catalina installation. If you have multiple displays, your displays may alternate during Catalina installation.
  • Pay close attention to the options you select from the CLOVER boot screen to make sure that you complete all steps of the Catalina installation.
  • Be sure to edit the provided CLOVER config.plist, replacing all XX-MASKED-XX values with your own unique values.
  • Configuring your BIOS with USB as your first UEFI boot device will simplify Catalina installation, since you will be rebooting multiple times from the USB stick.
  • Don't forget to review known issues and their solutions here. There may be some resolved issues that are not yet included in the configuration files attached to Post #1.

************************************
 

  1. Configure your G4 Mini BIOS as per the BIOS configuration attached to Post #1 of this thread. Make sure your BIOS version matches the BIOS version specified in Post #1 of this threat.
  2. Create a “vanilla” Catalina USB Installer (follow instructions here)
  3. Install CLOVER boot loader on the Catalina Installer USB stick. Use the CLOVER configuration provided in Post #1 of this thread and the CLOVER version specified in Post #1 of this thread.
  4. Copy EFI from EliteDesk.zip archive (attached to Post #1 of this thread) to the USB stick EFI. Copy all kexts from the LE folder in the EliteDesk.zip archive to the USB stick EFI/CLOVER/kexts/Other.
  5. Edit config.plist in the USB stick EFI/CLOVER, replacing the XX-MASKED-XX values with your own values
  6. Boot your G4 Mini from the Catalina Installer USB stick
  7. At the Clover boot screen, select “Boot macOS Install” from the Catalina installer USB stick
  8. If upgrading an existing macOS installation, skip to Step 10
  9. If you’re performing a new Catalina 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
  10. Select Install macOS from the macOS Utilities screen and click Continue
  11. Click Continue and click Agree
  12. Select the target drive for your Catalina installation or upgrade and click Continue
  13. When the Catalina installer reboots, boot from the Catalina installer USB stick
  14. At the CLOVER boot screen, select “Boot macOS Install” from your Catalina target disk (NOT the Catalina installer on the USB stick)
  15. When the Catalina installer reboots, boot from the Catalina installer USB stick
  16. At the CLOVER boot screen, select “Boot macOS Install” from your Catalina target disk (NOT the Catalina installer on the USB stick). Note that you are selecting this same entry for the SECOND TIME.
  17. When the Catalina installer reboots, boot from the Catalina installer USB stick
  18. At the CLOVER boot screen, select “Boot macOS” from your Catalina target disk
  19. Follow the Catalina configuration prompts
    Welcome to Catalina!
  20. If performing an upgrade, confirm your new macOS version by viewing About This Mac
  21. If performing a new installation
    • Install CLOVER boot loader on the Catalina target disk. Use the CLOVER configuration provided in Post #1 of this thread and the CLOVER version specified in Post #1 of this thread.
    • Copy EFI from EliteDesk.zip archive (attached to Post #1 of this thread) to the Catalina target disk EFI.
    • Edit config.plist in the Catalina target disk EFI/CLOVER, replacing the XX-MASKED-XX values with your own values
    • PROPERLY INSTALL all kexts from the LE folder in the EliteDesk.zip archive to the /Library/Extensions folder on the Catalina target disk. Use Hackintool or your preferred 3rd-party kext installer. It is wrong to simply copy 3rd-party kexts to /Library/Extensions.
  22. If performing an upgrade, make sure that your target disk EFI and 3rd-party kexts in /Library/Extensions are updated using the EFI and LE folder contents in the EliteDesk.zip archive attached to Post #1 in this thread.
  23. Eject / Remove the Catalina installer USB stick
  24. Reboot and confirm that your new Catalina installation starts and runs properly
  25. Use pmset to set hibernatemode and proximitywake to 0 to address potential sleep issues
  26. Disable "Wake for Ethernet" and disable "Enable Power Nap" (System Preferences > Energy Saver)
  27. Delete hibernatefile ‘/var/vm/sleepimage’ and recreate “dummy” ‘/var/vm/sleepimage’
  28. See my Known Issues here for solutions that have not yet been included in the EliteDesk.zip archive attached to Post #1 (you may need to apply these fixes yourself).

Edited by tonyx86

Share this post


Link to post
Share on other sites
Posted (edited)

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.

Edited by tonyx86

Share this post


Link to post
Share on other sites

EDIT: After switching from IntelMausiEthernet.kext to IntelMausi.kext, the 10.15.4 to 10.15.5 upgrade 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 crippled by the HP EliteDesk (I'm not sure if this was because of a packet storm from the EliteDesk or a link negotiation problem - 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.

Spoiler

Screen Shot 2020-05-27 at 12.10.35 PM.png

Share this post


Link to post
Share on other sites

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 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 but 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 0x0400000000

 

Spoiler

Screen Shot 2020-05-30 at 8.53.52 AM.png

Share this post


Link to post
Share on other sites

With my solution to the UHD 630 sleep / wake problem here, I am not observing any other meaningful issues with this MacMini8,1. Note that at the time of this writing, I still have not tested the USB Type-C port (which probably doesn't work at this time because I haven't mapped it in SSDT-UIAC) and I have not tested the microphone port.

 

This is a perfect MacMini8,1.

Share this post


Link to post
Share on other sites

I have updated the EliteDesk800.zip archive attached to Post #1 of this thread with the following changes/additions. The new version of this archive is rev 0.8.

  • Updated AppleALC.kext from 1.4.9 to 1.5.0
  • Updated IntelMausi.kext from 1.0.2 to 1.0.3
  • Updated Lilu.kext from 1.4.4 to 1.4.5
  • Updated WhateverGreen.kext from 1.3.9 to 1.4.0
  • Added FakeSMC_CPUSensors.kext to support HWMonitor app
  • Added Applications folder with HWMonitor app

Note that my installation methodology installs kexts in /Library/Extensions (read my installation methodology here). If you are installing all of your 3rd-party kexts in EFI/CLOVER/kexts/Other (not in /Library/Extensions), make sure that all of the 3rd party kexts in the LE folder in the EliteDesk800.zip archive are in your EFI/CLOVER/kexts/Other folder. If you are installing 3rd-party kexts in /Library/Extensions, make sure that you properly install the kexts with the correct ownership / permissions. I use Hackintool to install 3rd-party kexts in /Library/Extensions.

Share this post


Link to post
Share on other sites

The 10.15.5.02 supplemental update installed easily.  After first applying the 10.15.5.02 supplemental update, Catalina booted to a single display (additional displays did not work). After a few reboots, displays are back to normal.

Spoiler

Screen Shot 2020-06-02 at 11.00.36 AM.png

Share this post


Link to post
Share on other sites

I have attached an updated EliteDesk800.zip archive to Post #1 in this thread.

I inadvertently masked the Board-ID property in the CLOVER config.plist included in the EliteDesk800.zip archive attached to Post #1. This Board-ID should not have been masked (nothing private about it) and is necessary (with MacModel MacMini8,1) for Catalina 10.15.5 to install.

Share this post


Link to post
Share on other sites
Posted (edited)
37 minutes ago, brx7 said:

Did you change the id due to catalina 15.5.5 update ?

 

 

I didn't actually change the Board-ID.  In my original "sanitized" config.plist, I had replaced the MacMini8,1 Board-ID with XXX-MASKED-XXX when I was masking other sensitive values (like my serial number).  Beginning with 10.15.5, the installer will not install without both a supported MacModel (MacMini8,1) AND a supported Board-ID.  Prior to 10.15.5, the installer would check only the MacModel.

 

The Board-ID in the latest archive attached to Post #1 is now the Board-ID auto-populated by Clover Configurator for MacMini8,1.

Edited by tonyx86

Share this post


Link to post
Share on other sites
12 minutes ago, tonyx86 said:

I didn't actually change the Board-ID.  In my original "sanitized" config.plist, I had replaced the MacMini8,1 Board-ID with XXX-MASKED-XXX when I was masking other sensitive values (like my serial number).  Beginning with 10.15.5, the installer will not install without both a supported MacModel (MacMini8,1) AND a supported Board-ID.  Prior to 10.15.5, the installer would check only the MacModel.

 

The Board-ID in the latest archive attached to Post #1 is now the Board-ID auto-populated by Clover Configurator for MacMini8,1.

Did you also change the device id for igpu uhd630? 

Share this post


Link to post
Share on other sites
Posted (edited)

Got it working, .

0x3E920000 was correct for me.

using latest lilu and web, OC 0.6.0, all connection are dummy in hackintool though

uhd630_cat1555.plist

Edited by brx7

Share this post


Link to post
Share on other sites
Posted (edited)
19 hours ago, brx7 said:

Got it working, .

0x3E920000 was correct for me.

using latest lilu and web, OC 0.6.0, all connection are dummy in hackintool though

uhd630_cat1555.plist

That's great that the AAPL,ig-platform-id in my config.plist also worked for you.  Glad you found this helpful.

 

Note that my default device-id is 0x3e92.  I included device-id in my config.plist device properties, but did not change the value from its default.

Edited by tonyx86

Share this post


Link to post
Share on other sites

I attached an updated EliteDesk800.zip archive to Post #1 in this thread. This update restores the missing graphics device properties device-id and AAPL,ig-platform-id. Not sure how this happened, since my production system was fine - only the archive that I attached to Post #1 had the missing properties.

Share this post


Link to post
Share on other sites

If I plug a new display in while my HP EliteDesk800 G4 Mini is sleeping, the new display may not be automatically detected on wake. The solution is to cycle the power on the new display. Cycling power on the newly added display triggers re-detection of the displays.

Share this post


Link to post
Share on other sites

Just upgraded to Clover r5119. My system is working perfectly. The Clover team is doing a great job of making improvements.

Use the Clover configuration in Post #1 of this thread.

Share this post


Link to post
Share on other sites

Not the boot times that I expected...

I just ran a test to compare Catalina 10.15.5.02 boot times from my M.2 NVMe x4 SSD (ADATA SX8200PNP 256GB) and my 2.5" SATA 6 SSD (ADATA SU800 256GB). My system boots faster from the 2.5" SATA6 SSD than from the NVMe SSD. I expected faster boot times from the NVMe drive.

Boot times measured from Clover r5119 boot screen to Catalina 10.15.5.02 Login prompt with all displays visible

  • M.2 NVMe x4 SSD: 14.4 seconds
  • 2.5" SATA6 SSD: 11.5 seconds

Share this post


Link to post
Share on other sites

Rehabman's USB Power Property tutorial appears to still be relevant to this HackMini8,1 running Catalina. The USBMap tool (Option U) indicates that USB Power properties are not properly defined (see attached screenshot "BEFORE"). I examined the ACPI dump of a real MacMini8,1 and see that the real MacMini8,1 DSDT.aml defines Device USBX (below). After adding SSDT-USBX.aml with the real MacMini8,1 USB Power properties, USBMap tool (Option U) indicates that USB Power properties are ok (see attached screenshot "AFTER").

Copy the attached SSDT-USBX.aml to EFI/CLOVER/ACPI/patched for your HackMini8,1.

Device (USBX) from a real MacMini8,1 DSDT.aml

 

Device (USBX) 
{
	Name (_ADR, Zero) // _ADR: Address
	Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
	{
		Local0 = Package (0x08)
		{
			"kUSBSleepPowerSupply",
			0x0C80,
			"kUSBSleepPortCurrentLimit",
			0x0834,
			"kUSBWakePowerSupply",
			0x0C80,
			"kUSBWakePortCurrentLimit",
			0x0834
		}
		DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0)
	}
}

Spoiler

BEFORE.png

 

AFTER.png

SSDT-USBX.zip

Share this post


Link to post
Share on other sites

As I was exploring the ACPI from a real MacMini8,1, I noticed a couple of differences that need to be remedied in our HackMini8,1:
 

The real MacMini8,1 ACPI has Device (MCHC). This is easily remedied by enabling "Add MCHC" in Clover's config.plist

The real MacMini8,1 ACPI has a different Device (PMCR) than the fake PMCR that is floating around the web. With the fake PMCR version that I found, Device (PMCR) is not loaded (as viewed with IORegistry Explorer). With the "real" Device (PMCR) (from the real MacMini8,1 ACPI), Device (PMCR) is loaded. The "real" Device (PMCR) is below and is injected with the attached SSDT.

 

See attached IORegistry Explorer screenshot to see why the modified PMCR now has an IONameMatch.
 

DefinitionBlock ("", "SSDT", 2, "hack", "_PMCR", 0x00000000)
{
	External (_SB_.PCI0, DeviceObj)

	Scope (_SB.PCI0)
	{
		Device (PMCR)
		{
			Name (_HID, EisaId ("APP9876")) // _HID: Hardware ID
			Name (_STA, 0x0B) // _STA: Status
			Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
			{
				Memory32Fixed (ReadWrite,
					0xFE000000, // Address Base
					0x00010000, // Address Length
					)
			})
		}
	}
}

 

SSDT-PMCR.zip

Spoiler

Screen Shot 2020-06-08 at 4.49.32 PM.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By verrwirung
      Hi!
      Just finished installing hackintosh Catalina on my Razer Edge Pro tablet.
      I need help making the touchscreen work.
      I've tried installing VoodooI2C kexts (I2cHID, I2CELAN, etc) but still not working.
      can someone help me on this project? it would be really really be much appreciated 
       
      Thanks!
       



    • By UsamaShahid036
      I was previously using clover with Catalina and on that everything worked very good, now i shifted to Opencore everything is working on laptop except trackpad, from windows is searched that my trackpad is "Microsoft HID" and i have tried all the VoodoI2 kexts, seperately like VoodoI2CHID, VoodoI2CELAN, VoodoI2CSynaptics but trackpad won't work. Previously i was using VoodoI2CHID on clover and trackpad was working very fine.
      Kindly help me in that, a little help would be appreciated.
       I have attached my OpenCore EFI Folder
       
      OC EFI.zip
    • By Donw35
      10.16 Big Sur, OpenCore .0.6.0 needed. Tested and working but buggy, stay tuned for more information.
      10.15.4 03/24/2020, Clover version 5107 needed before update, I ran in to CMOS resets after restarts of the OS, below was used to fix it.
      RTCMemoryFixup.kext boot-arg= rtcfx_exclude=00-FF I Added the USB_CLOVER folder needed if you want to create a USB installer, there are lots of tutorials on how to make one, just add my USB_Clover files.
      10.15.3 01/28/2020, update with no issues.
      10.15.2 12/10/2019, update with no issues.
      10.15.1  11/30/2019 using VirtualSMC.kext for testing, working, also updated Acpi section for speedstep, it was missing. new EFI download.
      10.15.1  11/08/2019 updated Kext version numbers.
      10.15.1  10/29/2019 update without issues.
      10.15     10/23/2019 using Intel onboard iGPU, made some changes to the /drivers/UEFI folder to fix sleep issues.
      10.15     10/14/2019 using Intel onboard iGPU.
       
      ------------------------------------------------------------------------------------------------------------------------
      Big Sur Section:
      CPU = Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz (Haswell)
      SMBIOS = iMac14,4
       
      Working
      Sleep
      Wifi and Bluetooth (BCM4360)
       
      not working
      speed steep, fans seem to be running faster.
       
      method
      Install Bug sur from a working Mac mini using a USB SSD adapter mounted EFI partition and copied OC EFI folder, make sure to get your own serial numbers placed SSD into HP 800 G1 and let it boot. Presented with Bug Sur desktop, enjoy ------------------------------------------------------------------------------------------------------------------------
      BIOS (I am using v02.77 04/17/2019, but it should work with lower versions)
       
      Option: Using a USB flash drive to install
      Create USB installer using the many tutorials, once you have your USB done, install clover to it and use my USB_CLOVER folder, it has all the drivers, patches and kexts you need to boot up and install Mac OS. The use my Desktop Clover folder once you install Clover to your HDD.
       
      1. use bios defaults
      2. Storage = SATA Emulation >AHCI
       
      1. Install High Sierra, Mojave or Catalina from a real MAC to the hard drive going into the HP EliteDesk 800 G1
      2. Install Clover v5103 from real MAC to hard disk with the below options checked
         * Clover for UEFI booting only
         * Install Clover in the ESP
         * Themes
         * drivers/UEFI
                    ApfsDrvierLoader.efi
                    OsxAptioFix3Drv.efi
         * Install RC scripts on target volume
         * Optional RC Scripts - All
         * Install Clover Preference Pane
      3 Use Clover Configurator to Edit config.plist but see below for the code or just use mine and rename to config.plist 
      4 Added the following Kext's to \EFI\CLOVER\kexts\Other
         *** Versions are important, use latest ***
         VooDooHDA.kext  
         IntelMausi.kext
         Lulu.kext
         USBInjectAll.kext
         Lulu.kext
         VirtualSMC.kex
         WhateverGreen.kext
      5 Reboot and setup
      6 Sleep working, wake up using keyboard  -- open terminal and type sudo pmset -a standby 0   to resolve issues with waking up
       
      NOTE" VGA will not work, you will need to use the display port for your monitor, if you have a video card installed, check to make sure its compatible with OS X, top tip: install first without a video card, if all good, then install it.
       
      Not working
      4k does not work in OS X, I only tested video using the DP port
      Some USB ports may not work, USB3 use lower blue in the back.
      TVApp is not working but I have not spent a lot of time on it.
      Sidecar not working, resolution in progress.
       
      NOTE: this zip file may contain older versions of Kext's, make sure you are using the latest before rebooting.
       
       
       
      HP_800_G1_CLOVER_01272020.zip
      USB_CLOVER.zip
    • By ltooz_audis
      So, I cheap out and got a $20 dw1820a for my laptop hackintosh - EliteBook 820 G3 macOS Catalina 15.5. Clover wouldn't boot or work properly, OpenCore works perfectly with some adjustment.
      https://www.youtube.com/watch?v=46hanWDwZLA
      Cheers,
      Louis
    • By JijiTheFox
      Hi All,
       
      I'm trying to install Catalina via Clover, however, it hangs on ACPI errors. I've managed to reduce this from 6 to 4, but there's still some outstanding. 
       
      I'm thinking this may require DSDT patching to get by, but on the below information, how to do I gauge what I need to locate, and change values to?

      I've been lucky with past machines, rarely required a DSDT edit. The EC patch for Catalina has been applied.

      Model - Lenovo A540
      CPU - Intel® Core® i5-4258U (2.9 GHz)
      Chipset - Haswell
      Boot - UEFI Clover
      GPU - Intel Iris / HD Graphics 5100
      Resolution - 1920 x 1080
      Storage -  1TB hard drive
      RAM - 8GB

×