Jump to content

[GUIDE] Catalina, Big Sur, Monterey, Ventura, Sonoma on HP EliteDesk 800 G4/G5 Mini - The perfect MacMini8,1 Hackintosh


deeveedee
920 posts in this topic

Recommended Posts

@hiphopboy In addition to using @jrhende 's kext, did you change the LayoutID?  If this requires further debugging, please start a new thread for your HP EliteDesk 800 SFF since this audio solution does not apply to the 800 Mini documented in this thread.  Thank you.

Link to comment
Share on other sites

I finally got a chance to play with my "new" EliteDesk G4 Mini with AMD RX560.  It is currently running Windows 11 Pro just to make sure everything is working properly.  My strategy for building an Open Core EFI will be to extract ACPI with the AMD RX560 installed / enabled, inspect the ACPI to determine necessary patches (specifically, graphics patches) and then to implement the new Open Core EFI.  I don't have much time to work on this, so my progress on this will be slow.

  • Like 1
Link to comment
Share on other sites

On 5/1/2024 at 1:05 AM, hiphopboy said:

tried it but not work :D

You need to set your layout-id to 39 decimal?

Link to comment
Share on other sites

Posted (edited)
On 5/2/2024 at 10:44 AM, CloverLeaf said:

Thanks @deeveedee. That's exciting! Isn't RX560 natively supported without the need of kexts/patches to work properly ? 

 

I haven't worked with AMD graphics since my hack here.  For that old hack, I needed an ACPI patch for GFX0.  I prefer to extract native ACPI and inspect.  It doesn't take long and helps me to understand what I'm patching.

 

EDIT: The first ACPI table that I looked at, DMAR, is different for the RX560-equipped EliteDesk 800 G4 Mini.  DMAR includes an additional reserved memory region that is not present in the DMAR table for rigs without RX560.  Since I started including a modified DMAR table in my EFI, I will be revising DMAR for my RX560-equipped EliteDesk 800 G4 Mini.  I haven't looked further at the newly extracted ACPI, but this is why reviewing the extracted ACPI is my first step in examining a new PC for hacking.  Not because this DMAR table will be critical, but because examining ACPI is a simple step that eliminates guessing.

 

@CloverLeaf I was wrong about the DMAR table change.  I accidentally compared my previously edited DMAR table to the virgin/unmodified table.  There is no difference between DMAR tables for the EliteDesk 800 G4 Mini with and without RX560.  During my inspection of ACPI extracted from the Mini with RX560, I determined possible patches necessary for GFX0, IGPU and HDAU.

Edited by deeveedee
  • Like 2
Link to comment
Share on other sites

That's interesting! Now my curiosity will start eating me and I will pull the trigger on one of those... 😆 I am really inspired by your dedication here man! 🙌

Link to comment
Share on other sites

Posted (edited)

I have successfully installed macOS Sonoma on an HP EliteDesk 800 G4 Mini with AMD RX560 Graphics.  I just completed my first attempt, so I have a bit of cleanup, experimentation and testing before I publish my EFI for this "new" hack.  You can follow my progress here.  I typed this on the new MacMini with RX560.

Edited by deeveedee
  • Like 4
Link to comment
Share on other sites

I read the next version of open core is out. I have not had a chance to look at it yet has any one here?

Link to comment
Share on other sites

I have not yet upgraded this hack to Open Core 1.0.0, but I have a fully working solution here for the EliteDesk 800 G4 / G5 Mini with Radeon RX560x graphics.  My RX560x EFI is using Open Core 1.0.0.  The upgrade to Open Core 1.0.0 is easy, as it requires no config.plist changes.

Link to comment
Share on other sites

Posted (edited)

I have upgraded the OC EFI attached to Post #1 with Open Core 1.0.0.  The EFI assumes that TPM and VT-d are enabled in BIOS (an ACPI patch hides TPM from macOS and the EFI includes a revised DMAR table).  Enabling TPM isn't required and is only necessary if you're also booting Windows 11.

 

Changes to the EFI are below.  Since I have not posted a new EFI since OC 0.9.6, all of my changes since OC 0.9.6 are listed below.

 

If you use this EFI with Sonoma 14.4+, be sure to set SecureBootModel = Disabled before installing/upgrading Sanoma.  You can restore SecureBootModel to your preferred setting after the Sonoma installation / upgrade.

 

OC 1.0.0 EFI R001

  • EFI/BOOT: Update BOOTx64.efi
  • EFI/OC: Update OpenCore.efi
  • EFI/OC/Drivers: Update OpenRuntime.efi, AudioDxe.efi, ResetNvramEntry.efi
  • EFI/OC/Kexts:
    • Upgrade AppleALC.kext from 1.8.9 -> 1.9.0
  • EFI/OC/config.plist
    • Add ACPI > Add: SSDT-TPM-Off
    • Add ACPI > Patch: change TPM._STA -> TPM.XSTA (paired with SSDT-TPM-Off)
  • EFI/OC/Tools: Update tools
  • EFI/OC/ACPI
    • Add SSDT-TPM-Off

OC 0.9.9 EFI R001

  • EFI/BOOT: Update BOOTx64.efi
  • EFI/OC: Update OpenCore.efi
  • EFI/OC/Drivers: Update OpenRuntime.efi, AudioDxe.efi, ResetNvramEntry.efi
  • EFI/OC/Kexts:
    • No changes
  • EFI/OC/config.plist
    • Change Misc > Security > SecureBootModel=Default -> =j174 (MacMini8,1)
  • EFI/OC/Tools: Update tools

OC 0.9.8 EFI R001

  • EFI/BOOT: Update BOOTx64.efi
  • EFI/OC: Update OpenCore.efi
  • EFI/OC/Drivers: Update OpenRuntime.efi, AudioDxe.efi, ResetNvramEntry.efi
  • EFI/OC/Kexts:
    • Upgrade AppleALC.kext 1.8.8 -> 1.8.9
  • EFI/OC/config.plist
    • No changes
  • EFI/OC/Tools: Update tools

OC 0.9.7 EFI R001

  • EFI/BOOT: Update BOOTx64.efi
  • EFI/OC: Update OpenCore.efi
  • EFI/OC/Drivers: Update OpenRuntime.efi, AudioDxe.efi, ResetNvramEntry.efi
  • EFI/OC/Kexts:
    • Upgrade AppleALC.kext 1.8.7 -> 1.8.8
  • EFI/OC/config.plist
    •  No changes
  • EFI/OC/Tools: Update tools
     
Edited by deeveedee
  • Like 2
  • Haha 1
Link to comment
Share on other sites

macOS upgrades to Ventura 13.6.7 and Sonoma 14.5 proceeded without issues using the new Open Core 1.0.0 EFI attached to Post #1.  Before upgrading Sonoma from 14.4.1 to 14.5, I set OpenCore's SecureBootModel = Disabled.  After the Sonoma upgrade, I restored SecureBootModel to j174.

 

About This Hack: Ventura 13.6.7

Spoiler

Screenshot2024-05-13at3_09_58PM.png.4f08367b583703bc4e62e1c385946d08.png

 

About This Hack: Sonoma 14.5

Spoiler

Screenshot2024-05-13at3_42_13PM.png.481325faeb11f4a84f180d21bcd0f20d.png

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Without any basis other than naive optimism, I am expecting Apple to support Intel-based Macs in macOS 15.  If that's the case, I'll continue to support this thread.  If Apple does not include Intel-based Macs in macOS 15, then I won't be spending much more effort on this thread.  The Open Core 1.0.0 EFI that I have attached to Post #1 is working very well for macOS versions through Sonoma 14.5.

  • Like 5
Link to comment
Share on other sites

I have seen contradictory posts in various forums where people claim that the 800 G4 Mini does and does not support 9th Gen Intel CPUs.  When I tested an i7-9700 CPU in a 65W EliteDesk 800 G4 Mini, the PC would not complete POST.  That was a long time ago, so maybe HP has incorporated 9th Gen CPU data into newer G4 BIOS?  I don't know and am curious.

 

If anyone has successfully tested / proven that a 9th Gen Intel CPU works in an HP EliteDesk 800 G4 Mini, please post your tested / proven configuration (e.g., 35W G4 Mini / i9-9500T, 65W G4 Mini, i9-9900).  Please no guesses or speculation - just tested / proven results.  Thank you.

  • Like 1
Link to comment
Share on other sites

Hello,

first of all, many thanks to deeveedee for maintaining such a good work over the years for keeping the HP 800 G4 Mini uptodate. Just for fun I installed 13.6.7 on a HP 800 G4 Mini with 65W i5-8600 and it was the easiest installation I ever had. I have been using Clover over the years until some time ago on three laptops and a desktop with some fiddling around for making them up and running. I also tried a HP800 G1 SFF with opencore, which gave me a lot of headache, because minor changes in config.plist and kexts broke the installation. I got it running but not as stable as the other computers before. Therefore I do have a lot of respect not to change too much to the config.plist in post #1 of this thread for OC1.0 R001 version. In fact I have two left hands as it concerns computers.

 

To enter MLB, serial, uuid, Rom I used OC configurator (version for OC0.98) with success. However OCAT (version 240001) did not work (...two left hands). It gave me errors when opening the current config.plist, so I used OCC instead, despite people warning against it.

 

In post #6 (Rev. 1.0.7, 27 march 2024) of this thread it says "delete No-hda-gfx from the config.plist" for the case that one would like to have audio on the monitor speakers. Monitor is connected DP to DP with plain DP cable. Is it possible to simply delete the no-hda-gfx key under  DeviceProperties (in device 0x1f,0x3) in OC configurator? Maybe I could also simply delete the three lines

<key>No-hda-gfx</key>
<data>AAAAAA==</data>
 <key>device_type</key>

in the config.plist text-file.

Or is it in addition necessary to add or modify the keys in 0x2,0x0 or whatever device to get the sound on monitor speakers?

 

Thank you for your help.

Link to comment
Share on other sites

Posted (edited)

@fechaa My posted EFI (attached to Post #1) is specifically for my hack which uses DP->DVI adapters for graphics.  The DeviceProperties (graphics and audio) are those necessary for working graphics and working wake from sleep with DP->DVI adapters.  Since you are not using graphics adapters (i.e., you have DP->DP), you will want to follow this suggestion in the instructions

 

  • 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 here for example DeviceProperties that may be suitable for your graphics.

 

That should get you pointed in the right direction.  You'll need to modify DeviceProperties for both PciRoot(0x0)/Pci(0x1F,0x3) and PciRoot(0x0)/Pci(0x2,0x0).

 

EDIT: I do not use Open Core configurators (like OCAT).  I have nothing against them and see that many have success when using them.  It's just that I don't want to introduce another variable into my testing and debugging (i.e., I don't want to have to consider a possible OCAT bug if I have any problems with my modified EFI).  I use Apple's Xcode to edit my config.plist and I manually update/replace OC driver files, kexts, etc.  After you modify your config.plilst, use Open Core's ocvalidate in the downloaded Open Core package (Utilities / ocvalidate).

Edited by deeveedee
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)

I conducted performance tests of my "new" toy here.  The graphics performance of the Radeon RX560x (the Mobile version of RX560) is impressive.  For those who are still considering the purchase of a G4 Mini vs. a G5 Mini and you are looking for the best bang for your buck, I would recommend the G4 Mini and an upgraded power supply.  When you pair the G4 Mini with a higher wattage power supply (e.g., 150W), you'll get a CPU performance bump.  HP implemented power supply sensing in the G4 Mini to increase PL2 power limit with increasing power supply wattage.  HP does not implement adaptive power limits in the G5 Mini.  I have tested my G5 Mini / i9-9900 with 90W, 150W and 230W power supplies and the GB5 CPU benchmarks remain unchanged.

 

EDIT: Remember that to maximize performance of these Mini's you need to populate both memory slots with equivalent SODIMMs.

 

HP EliteDesk 800 G5 Mini 65W i9-9900 GB5 CPU Benchmark

Spoiler

Screenshot2024-05-24at3_47_28PM.thumb.png.e3d3cdebaee16a5e37110647b84e01bf.png

 

EDIT2: You'll need to test your own hack to measure performance, since ambient room temps, proper application of thermal paste and copper vs. aluminum heatsink will affect your CPU performance.  Also, I can't guarantee that HP continues to implement dynamic power limits if they release new BIOS versions.

 

Edited by deeveedee
  • Like 1
Link to comment
Share on other sites

As much as I like the 9th gen Intel, I must admit that the new i3s (4c/8t) for around $100 gives way better results in single-core and similar results in multi-core tasks.

  • Like 1
Link to comment
Share on other sites

Posted (edited)
21 minutes ago, CloverLeaf said:

As much as I like the 9th gen Intel, I must admit that the new i3s (4c/8t) for around $100 gives way better results in single-core and similar results in multi-core tasks.

 

By "new i3s" do you mean generations later than 9th gen (so something other than an EliteDesk 800 G4 or G5 Mini)?

Edited by deeveedee
Link to comment
Share on other sites

4 minutes ago, deeveedee said:

 

By "new i3s" do you mean generations later than 9th gen (so something other than an EliteDesk 800 G4 or G5 Mini)?

 

Yes, 12th gen and newer. I had 9900 for a while and the performance of my i3 12100F is just better. System is snappier and feels faster. Not that this will make i9 9900 bad CPU, just remember my excitement to play with i9 9900 thinking this is a beast of a CPU.

Link to comment
Share on other sites

4 minutes ago, CloverLeaf said:

 

Yes, 12th gen and newer

 

Good to know that Intel is getting better.  They are getting their butts kicked by the competition.

  • Like 1
Link to comment
Share on other sites

Posted (edited)

Gents, quick question.

 

I've got the G4 65W. I've used my Sonoma disk from a previous installation (it's bare naked vanilla 14.5 ofc), and thoroughly went through the recommendations here.

Booted on the first try without any hassle, but my resolution was off. It booted in the lowest possible one, and when i switched to what i think was (could be that it wasnt) 5120x1440p, the screen glitched but the system is functional in the background (i can call terminal from my memory and issue reboots commands).

I've used the 3xDP output as i have two DP's and a USB-C with DP-ALT capabilities. Again, i've used the 3xDP + Audio recommendation from this thread.

I booted in Recovery and went ahead deleted /L/P/com.apple.display*.plist, which now i can boot to the log in screen, but as soon as i log in, i lose the display again as before.

 

This is a 32:9 display, and wondering if the DP 2.1 interface is haggling with me.

 

EDIT: remembered i have a DP version switch in the monitor. DP 2.1 is definitely the culprit. Odd that my HD 620 could do 4:3 automatically in 4K res, but not UHD 630.

 

Still missing my 32:9 resolution, 5120x1440p is not in the list.

Edited by PlutoDelic
  • Like 1
Link to comment
Share on other sites

4K@60Hz definitely works with DP->DP or DP->HDMI (make sure you have quality adapter). By the way the exact numbers (i.e. 1920x1080) does not reflect the actual resolution. For example 1080p on my TV is 4K, and 1280x720 is actually full hd 1080p resolution. Never tried anything above 4K as I don't have such screen, but the maximum resolution for UHD 630 is 4K@60Hz through the DP.

Link to comment
Share on other sites

44 minutes ago, deeveedee said:

@PlutoDelic I don't have experience with 4K and UHD630, but others have reported success.  Have you read this (search for 4K)?

Oh no 4K works. When i set up the monitor to DP 1.4, i can get 4K@60Hz (16:9) and 3840x1080@120Hz (32:9). But both are far from the optimal the GPU can handle. Even HDR works on both resolutions (looks awful though).

 

My Goal is to get 5120x1440@60Hz. Both the GPU and DP protocol can do that as confirmed by Windows.

 

I am looking in to getting a HDMI 2.0 Module to replace the USB-C, but i think the problem relies on Apple's ignorance towards UltraWide displays.

  • Like 2
Link to comment
Share on other sites

×
×
  • Create New...