This is a repository where I store files that were configured to run macOS properly on HP EliteDesk 800 G3.
You can use the EFI folder or refer to the configurations here to make your own bootable macOS installation USB. More information on creating bootable macOS installation USB please checkout the official guide from OpenCore. If you are on the same HP model or system, you can copy or modify my EFI folder and place it into EFI partition of your USB.
Explainations for files and configurations are presented in way that user can understand and apply for his/her own PC with the same system or model.
Disclaimer: I do not own any responsibilities if your PC running into problems by patching the files or applying the guide here. Please do your own research.
NAME | DESCRIPTION |
---|---|
Model name | HP EliteDesk 800 G3 Desktop Mini Business PC (65W) |
OS | macOS Monterey 12.4 |
CPU | 3,5 GHz Quad-Core - Intel Core i5-7600 |
Memory | 16GB (8GB x 2) - Hynix/Hyundai DDR4 2400 MHz |
Graphics | Intel HD Graphics 630 |
Monitor | LG 29WN600 |
Wi-Fi | Broadcom BCM94360CS2 |
Bluetooth | Broadcom BCM94360CS2 |
Storage | 250 GB - CRUCIAL NVME CT250P2SSD8 |
Storage | 1 TB - WDC SATA III WD10JPVX-75JC3T0 |
BIOS | 447.60.3.0.0 |
OpenCore | 0.8.1 |
- Almost everything from Apple services
- All USB ports (including USB-C port)
- All DisplayPort
- Both audio ports on the front face
- Wi-Fi
- Bluetooth
- Graphics acceleration
- NVME SSD
- Boot chime
- AirDrop
- Hand-off
- Apple TV (can open but video is not streamed) → finding way to fix. (Update: AppleTV uses DRM, the DRM fix from WhateverGreen has been broken since macOS 10.12.3, you will need a dGPU to address this issue)
- Sleep (sometimes it works)
- VGA port
- Ethernet port
Required: Please reset your BIOS to default settings before this
-
Advanced → Boot Options
- Disable Fast Boot
- Enable USB Storage Boot
- UEFI Boot order, place your bootable macOS installation USB on the first row otherwise you will need to choose it when system restarts by pressing F10 → your USB.
- Other settings remain default
-
Advanced → Secure Boot Configuration
- Select Legacy Support Disable and Secure Boot Disable
- Other settings remain default
-
Advanced → System Options
- Enable Virtualization Technology (VTx)
- Disable Virtualization Technology for Directed I/O (VTd)
- Enable M.2 SSD if you're using a NVME SSD
- Check M.2 WLAN/BT (Uncheck it if have interruption issues)
- Check Allow PCIe/PCI SERR# Interrupt (Uncheck it if have interruption issues)
- Other settings remain default
-
Advanced → Built-in Device Options
- Disable Wake on LAN
- Set Video memory size to 64MB or larger
- Disable LAN/WLAN Auto Switching
- Disable Wake on Wake on USB
- Other settings remain default
Notice: Make sure to save your settings before restarting
Below are three SSDTs required for my system. To find SSDTs for your system, please refer to this document.
- SSDT-EC-USBX-DESKTOP.aml
- SSDT-PLUG-DRTNIA.aml
Location:
EFI/OC/ACPI/
Required
- HfsPlus.efi
- OpenRuntime.efi
Optional
- OpenCanopy.efi (for enabling OpenCore GUI bootloader)
- AudioDxe.efi (for enabling boot chime)
Location:
EFI/OC/Drivers/
Required
- Lilu.kext
- WhateverGreen.kext
- VirtualSMC.kext
- AppleALC.kext
- IntelMausi.kext
- [USBPorts.kext](Created using Hackintool)
Optional
- SMCProcessor.kext (for monitoring CPU temperature, included in
VirtualSMC
package) - SMCSuperIO.kext (for monitoring fan speed, included in
VirtualSMC
package) - CPUFriend.kext (CPU power management, please ignore if you are not certain about this one)
- CPUFriendDataProvider.kext (same as
CPUFriend.kext
) - NVMeFix.kext (for fixing power and energy consumption on NVME SSD, only use if you are having a NVME SSD)
Location:
EFI/OC/Kexts/
The USBPorts.kext file in the EFI folder was created using Hackintool. The kext file is used to recognize all the ports of my machine. If you are having a different model, you can refer to the video here for making one. Thanks to Tech Labs.
Required (only remove when you are good with your set up)
-v
: boot macOS in verbose modedebug=0x100
: prevents macOS not to reboot when facing a kernel panic, this will help giving you some insights why the system is not booting.keepsyms=1
: prints the symbols during a kernel panic.
Extras
You will notice that the boot-args
from my config.plist
file has the argument alcid=20
. It will be needed for playing boot chime with internal audio. The number 20
is layout ID for my Conexant audio device, which you can find all the supported coded in this page.
Also, there is an extra argument igfxonln=1
that I aimed to force all displays online for fixing wake issue (but not helped at all). You may want to delete this argument.
So literally you will need this in your
boot-args
:-v debug=0x100 keepsyms=1 alcid=xx
, withxx
is your audio layout ID.
Follow the guide over here by choosing your correct CPU model name.
From my system on Kaby Lake and Intel Graphics HD 630, I will need to set
- AAPL,ig-platform-id | DATA | <00001659>
under PciRoot(0x0)/Pci(0x2,0x0)
from DeviceProperties
section of config.plist
file.
Notice: If you are on HD 630, it's safe to choose <00001659> as <00001B59> caused an issue for one of my DisplayPorts (not receive signal after booting).
Follow the guide from OpenCore here
GUI bootloader
I already included the EFI folder that contains Resources for a GUI bootloader, and also configured the config.plist
.
If you want to modify the theme, feel free to change it from the property Misc -> Boot -> PickerVariant
of config.plist
file. Options can be found here.
Boot chime
Important: if you are not using my EFI folder, make sure you have
AudioDxe.efi
in yourEFI/OC/Drivers/
and it must be on the same OpenCore version withHfsPlus.efi
andOpenRuntime.efi
.
You need to define two things below in order to get boot chime:
AudioCodec
: go to Terminal and run:
ioreg -rxn IOHDACodecDevice | grep IOHDACodecAddress
Then you will probably see this:
| "IOHDACodecAddress" = 0x0
| "IOHDACodecAddress" = 0x2
There will be few lines appear on Terminal, mostly will be two. First is the internal audio (in my case that is the Conexant one), and the second one will be HDMI/DVI sound. In this case I will pick 0x0
for the AudioCodec
as I want to play boot chime from the internal audio.
You can change it to another value appears, if it won't work, just switch to another one.
AudioDevice
: run gfxutil to find the path
/path/to/gfxutil -f HDEF
You will receive something like this:
00:1f.3 8086:a2f0 /PCI0@0/HDEF@1F,3 = PciRoot(0x0)/Pci(0x1F,0x3)
Grab the right part after the =
, in my case it would be PciRoot(0x0)/Pci(0x1F,0x3)
.
After get the
AudioCodec
andAudioDevice
, put them underUEFI -> Audio
. Other configurations I have already made, you can change the others if you know.
Contributions are always welcomed. Please make a Pull request from your side, I will review and merge if it looks good.