Awesome
HP EliteDesk 800 G2 Tower PC (Skylake) for macOS Big Sur & Catalina
Hackintosh your HP EliteDesk 800 G2 Tower PC Skylake. This is intented to create a fully functional hackintosh for the HP EliteDesk 800 G2 Tower PC i7-6700 (Skylake).
Important Notes
-
This guide is for the HP EliteDesk 800 G2 TWR PC i7-6700 (Skylake).
-
Following this guide you can run Big Sur 11.2.1. and Catalina 10.5.x up to 10.15.7
-
I stopped using Clover. This guide is for OpenCore only. If you need to run Clover for any reason you can check the older Clover Guide
-
All files used and detailed readmes are located in github sakoula/HP-EliteDesk-800-G2-6700
-
The guide was fully tested with BIOS N01 Ver. 2.36 07/18/2018
-
macOS has been installed on an internal SSD. I have no experience of having both Windows and macOS on a single disk.
-
The following ports have been disabled to meet the maximum allowed ports in macOS USB back, bottom row/1rst from left/USB back, bottom row, 2nd from left/USB back, bottom row, 3rd from left/USB back, bottom row, 4rth from left. Please see USB mapping if you want to further customize it.
-
In order to be able to help you please provide full debug information useing the excellent black-dragon74/OSX-Debug tool.
-
Support and Discussion on this guide can be found at tonymacx86.com
Known Issues / Work in Progress
-
sleep hibernation has not checked and is not the focus of the guide
-
Audio through DisplayPorts has not checked and is not the focus of the guide
-
Enable HiDPI resolutions has not checked and is not the focus of the guide
-
in
sources.opencore/IM171_0105_B20-10.12.4.firmware update ACPI Tables.zip
andsources.opencore/IM171_0110_B00 10.13.0GM ACPI Tables.zip
you can findiMac 17,1
ACPI tables from insanelymac. It may be used to create new SSDT patches. All firmwares seems that they are available gdbinit/firmware_vault.
If you face another problem please open a issue.
Hardware Specifications
- Product Number: L1G77AV
- HP EliteDesk 800 G2 Tower PC
hardware configuration with the following specs:
- Skylake
- Skylake (100 series)
- HP EliteDesk 800 G2 TWR
- MOBO HP 8053 (U3E1)
- Intel® 8 Q170
- BIOS 02.36
- Intel Core i7 6700 @ 3.40GHz Skylake
- GPU: Integrated: Intel® HD Graphics 530 with (2) DisplayPorts with multi - stream and VGA
- 32GB DDR4 2133 DIMM (Dual-Channel Unknown @ 1064MHz (15-15-15-36))
- Audio: Realtek ALC 221 Audio (revision 0x100103)
- Network: Intel® I219LM Gigabit Network Connection LOM
- 500GB Samsung V-NAND SSD 860 EVO MZ-76E500 (Model Code: MZ-76E500B/EU)
- 1000GB Seagate Barracuda 7200.14 ST1000DM003-1SB102 (SATA)
- 1000GB Western Digital Caviar Green WDC WD10EAVS-14M4B0 (SATA)
- display1: HP EliteDisplay E242
- display2: HP EliteDisplay E243i
full specs from the HP site
Table of Contents
<!-- MarkdownTOC -->- Dual Monitor
- Installation Guide
- Upgrade Guide
- Benchmarking
- FAQ
- Changelog
- Buy me a coffee or a beer
- Credits
Dual Monitor
Dual monitors works. Patching has been done using hackingtool. HotPlugging a monitor is not required. The following patch has been applied
WhateverGreen: weg @ (DBG) agdpmod using config vit9696
WhateverGreen: igfx @ (DBG) patching framebufferId 0x19120000 connector [1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187
WhateverGreen: igfx @ (DBG) patching framebufferId 0x19120000 connector [2] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x00000187
WhateverGreen: igfx @ (DBG) patching framebufferId 0x19120000 connector [3] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187
WhateverGreen: igfx @ (DBG) patching framebufferId 0x19120000 connector [-1] busId: 0x00, pipe: 0, type: 0x00000001, flags: 0x00000020
Patch
General > Devices/Properties
General > Connectors
General > Auto Detect Changes
Advanced > FB Port Limit 3
Device Id: 0x1912: Intel HD Graphics 530
This configuration works with an HP EliteDisplay E242
on the top DP port and an HP EliteDisplay E243i
on the bottom DP port. Very rarely when I pass the boot process and once it turns into 'graphics mode' (Apple Logo) the machine sometimes hangs there for some seconds and reboots (Framebuffer is crashing).
I noticed that if I have only one monitor on the top DP port (any) the coputer boots fine and then I can hot plug the other monitor once on the logon screen I do not have any problem.
Installation Guide
These are the steps in order to install or upgrade your EliteDesk-800. There is a very detailed document on the steps followed and the customizations which can be found in DETAILS.opencore.md.
There is a another document on how I setup my environment including all the tools and utilities I have used ENVIRONMENT.wks.md.
Start by downloading the latest version the customization files from the releases page. It includes:
ELITEDESK800_EFI/
: efi directory including all kexts and customization needed
The guide is being written based on the excellent Dortania guides
Installation SSD
I have installed macOS on the internal 500GB Samsung V-NAND SSD 860 EVO MZ-76E500 (Model Code: MZ-76E500B/EU)
.
Keys Shortcuts to Boot
F9
Boot MenuF10
BIOS<ESC>
Startup Menu
BIOS setup
Make sure that you check with this link to update BIOS:
sp90164
: HP EliteDesk 800 G2 TWR/SFF SystemBIOS (N01) / 02.36 Rev.A / Aug 13, 2018
Note: Update the BIOS from the BIOS itself. On a USB stick with an EFI directory place bios file N01_0236.bin in directory EFI/HP/BIOS/new. On Finder create an extra EFI directory under the mounted EFI exactly as OpenCore do.
Get into the BIOS
and make the following changes:
BIOS Settings:
Broke Raid without any problem on booting from one disk(computer came with no raid)Setup disk as AHCI(there is no option on the BIOS)Advanced > Security > TPM Embedded Security > TPM Device
HiddenAdvanced > Security > BIOS SureStart >
Unchecked ALLAdvanced > Security > System Management Command
UncheckedAdvanced > Security > SIntel Software Guard Extensions (SGX)
DisableAdvanced > Boot Options > UEFI boot order
Checked (do this or else it will not boot from the stick)Advanced > Boot Options > Audio Alerts During Boot
UncheckedAdvanced > Secure Boot Configuration >
Unchecked ALLAdvanced > Secure Boot Configuration > Configure Legacy Support and Secure Boot
Legacy Support Enable and Secure Boot DisableAdvanced > System Options > Configure Storage Controller for RAID
UncheckedAdvanced > System Options > VTx
CheckedAdvanced > System Options > VTd
UncheckedAdvanced > System Options > PCI*
UncheckedAdvanced > System Options > Allow PCIe/PCI SERR# Interrupt
CheckedAdvanced > Built-In Device Options > Video memory size
512MB hereAdvanced > Built-In Device Options > Audio Device
CheckedAdvanced > Built-In Device Options > Internal Speakers
CheckedAdvanced > Port Options > Serial Port A
UncheckedAdvanced > Port Options > SATA*
CheckedAdvanced > Port Options > *USB*
CheckedAdvanced > Port Options > USB Charging Port Function
CheckedAdvanced > Port Options > Media Card Reader/SD_RDR USB
CheckedAdvanced > Port Options > Restrict USB Devices
Allow all USB DevicesAdvanced > Power Management Options > Runtime Power Management
CheckedAdvanced > Power Management Options > Extended Idle Power States
CheckedAdvanced > Power Management Options > S5 Maximum Power Savings
CheckedAdvanced > Power Management Options > SATA Power Management
CheckedAdvanced > Power Management Options > PCI Express Power Management
CheckedAdvanced > Power Management Options > Power On from Keyboard Ports
UncheckedAdvanced > Power Management Options > Unique Sleep State Blink Rates
UncheckedAdvanced > Remote Management Options > Active Management (AMT)
UncheckedAdvanced > Option ROM Launch Policy > Configure Option ROM Launch Policy > All UEI
for the multimonitor support on boot
Fixing CFG Lock
CFG Lock
removal is not required.
It may be better to remove it. However this cannot be done easily on this BIOS since there is no hidden toggle in the BIOS setup as in others. This is a work in progresss. If you managed to patch it in any way please contact me.
There is a number of information on the Internet. Start here Fixing CFG Lock and see the following reddit posts:
cannot be removed in this BIOS. This is a work in progress.
Preparing USB Flash Drive
Get a at least 16GB USB Flash Drive and follow Creating the USB > Making the installer. Follow just the Making the installer Guide
.
If you need just a USB stick with OpenCore installation for booting an existing MacOS installation just format the USB stick as following:
Disk Utility > Select USB Device > Erase
:
- Scheme = GUID Partition Map
- Name: OC
- Format: macOS Extended (Journaled)
Customize USB Flash Drive
In this step you will add all the required opencore files to the USB flash drive.
Download the latest release from github and unzip the archive. You will find an ELITEDESK800_EFI
directory. Mount the USB Flash Drive's EFI
partition on /Volumes/EFI
. You can do this with many utilities (e.g. MountEFI or mount_efi.sh).
Move the ELITEDESK800_EFI
to /Volumes/EFI
and rename it to EFI
. It will look like /Volumes/EFI/EFI
Generate a valid SMBIOS
Use corpnewt/GenSMBIOS to generate a valid iMac17,1
SMBIOS and populate the following /Volumes/EFI/OC/config.plist
with a text editor or corpnewt/ProperTree:
<key>PlatformInfo</key>
<dict>
...
<key>MLB</key>
<string>XXXXXXXXXXXXXXXXX</string>
...
<key>SystemSerialNumber</key>
<string>XXXXXXXXXXXX</string>
...
<key>SystemUUID</key>
<string>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</string>
...
</dict>
a valid SMBIOS is really important for Apple Services, iMessage & FaceTime. Check also the guide An iDiot's Guide To iMessage
Install macOS
During the first time you boot you must clear the NVRAM of the system (Clover and other Bootloader leave traces)
To boot from the USB Flash Drive you can just hit F9
and you will get the UEFI boot loader. Once you get to Clover hit space
and select CleanNvram.efi
. After it completes power off the computer wait for ten seconds and power on again.
Boot again and Install macOS
Post Install
At this point OpenCore boot loader is installed only in the USB driver. You are required to install it on your bootable disk. Follow Moving OpenCore from USB to macOS Drive
Enable TRIM for SSDs
Since OpenCore does not reccomends to patch for TRIM using the bootloader you need to enable TRIM for all SSDs manually. Open terminal and use command: sudo trimforce enable
. Reboot and check that TRIM is enabled on the Apple > About this Mac > System Report
.
Clover to OpenCore Migration
This section is for those who run Clover and want to migrate to OpenCore. You need to:
-
make sure you have a backup USB flash drive with clover in order to boot your system. Check README.clover.md. If something goes wrong you may end up with an unbootable system! You have been warned!
-
Create a USB flash drive without the macos installer. check Preparing USB Flash Drive and Customize USB Flash Drive.
-
Remove Clover. Check Converting from Clover to OpenCore. TLDR you need to Cleaning the Clover Junk in macOS and Removing kexts from macOS(S/L/E and L/E)
-
Most likely you will hit the stuck on OCB: LoadImage failed - Security Violation. Follow the link and fix it now. Do not disable SecureBootModel. Follow the terminal instructions
-
Boot from the USB and Clear the NVRAM. Check Install macOS section.
-
Boot from the USB flash drive. Make sure you have a working system
-
Move OpenCore from USB to macOS Driver. Check Post Install
Sleep
check your current state:
$ sudo pmset -g
System-wide power settings:
Currently in use:
standby 1
Sleep On Power Button 1
womp 1
autorestart 0
hibernatefile /var/vm/sleepimage
proximitywake 1
powernap 1
networkoversleep 0
disksleep 10
standbydelayhigh 86400
sleep 0 (sleep prevented by screensharingd)
autopoweroffdelay 28800
hibernatemode 3
autopoweroff 1
ttyskeepawake 1
displaysleep 0
highstandbythreshold 50
standbydelaylow 0
Be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh.
You should disable it:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
Always check your hibernatemode after updates and disable it. System updates tend to re-enable it, although the trick above (making sleepimage a directory) tends to help.
And it may be a good idea to disable the other hibernation related options:
sudo pmset -a autopoweroff 0
sudo pmset -a powernap 0
sudo pmset -a standby 0
sudo pmset -a proxymitywake 0
Upgrade Guide
Upgrade from Catalina 10.15.3
to Catalina 10.15.7
Upgrade from within macOS. No special action is needed
Upgrade to Big Sur 11.0.1
Use the latest release from here boot in Catalina and upgrade.
Benchmarking
Benchmarking Windows 10
GeekBench x64 4.0.3 CPU
4796/15263GeekBench x64 4.0.3 CPU
4787/15225GeekBench x64 4.0.3 GPU/OpenCl
21496GeekBench x64 4.0.3 GPU/OpenCl
21479CINEBENCH R15.038_RC184115 OpenGL
55.71fpsCINEBENCH R15.038_RC184115 OpenGL
55.53fpsCINEBENCH R15.038_RC184115 CPU
824cbCINEBENCH R15.038_RC184115 CPU
821cbLuxMark-v3.1 OpenCL GPU
2544LuxMark-v3.1 OpenCL GPU
2541LuxMark-v3.1 OpenCL CPU
2253LuxMark-v3.1 OpenCL CPU
2274LuxMark-v3.1 Native C++
2569LuxMark-v3.1 Native C++
2532
Benchmarking macOS 10.14.2 (Clover)
GeekBench x64 4.3.2 CPU
4490/16686GeekBench x64 4.3.2 GPU/OpenCl
32007GeekBench x64 4.3.2 GPU/Metal
23400CINEBENCH R15.038_RC184115 OpenGL
29.91fpsCINEBENCH R15.038_RC184115 CPU
810cbLuxMark-v3.1 OpenCL GPU
2141LuxMark-v3.1 OpenCL CPU
1773Heaven FPS
13.2Score
332Min FPS
9.6Max FPS
26.1AJA System Test Lite SanDisk (with trim) SanDisk SD7SB3Q-256G-1006:
217MB/sec write, 400MB/sec readAJA System Test Lite Seagate Barracuda 7200.14 ST1000DM003-1SB102:
140MB/sec write, 161MB/sec readAJA System Test Lite Western Digital Caviar Green WDC WD10EAVS-14M4B0:
84MB/sec write, 91MB/sec read
Benchmarking macOS 10.15.3 (Clover)
GeekBench x64 4.3.2 CPU
4824/16966GeekBench x64 4.3.2 GPU/OpenCl
32249GeekBench x64 4.3.2 GPU/Metal
23928CINEBENCH R15.038_RC184115 OpenGL
30.46fpsCINEBENCH R15.038_RC184115 CPU
760cbLuxMark-v3.1 OpenCL GPU
2240LuxMark-v3.1 OpenCL CPU
1914Heaven FPS
12.9Score
324Min FPS
8.9Max FPS
20.8 (fullscreen/Quality:Medium/Tessellation:Disabled/Anti-aliasing:off/Stereo3D:Disabled)AJA System Test Lite SanDisk (with trim) Samsung 860 EVO MZ-76E500B/EU:
491MB/sec write, 522MB/sec readAJA System Test Lite Seagate Barracuda 7200.14 ST1000DM003-1SB102:
127MB/sec write, 144MB/sec readAJA System Test Lite Western Digital Caviar Green WDC WD10EAVS-14M4B0:
65MB/sec write, 62MB/sec read
Benchmarking macOS 10.15.7 (OpenCore)
GeekBench x64 4.3.2 CPU
5128/17340GeekBench x64 4.3.2 GPU/OpenCl
33472GeekBench x64 4.3.2 GPU/Metal
23276CINEBENCH R15.038_RC184115 OpenGL
29.41 fpsCINEBENCH R15.038_RC184115 CPU
796cbLuxMark-v3.1 OpenCL GPU
2204LuxMark-v3.1 OpenCL CPU
2026Heaven FPS
12.1Score
305Min FPS
6.0Max FPS
21.4AJA System Test Lite SanDisk (with trim) Samsung 860 EVO MZ-76E500B/EU:
456MB/sec write, 490MB/sec readAJA System Test Lite Seagate Barracuda 7200.14 ST1000DM003-1SB102:
122MB/sec write, 130MB/sec readAJA System Test Lite Western Digital Caviar Green WDC WD10EAVS-14M4B0:
61MB/sec write, 70MB/sec read
Benchmarking macOS 11.0.1 (OpenCore 0.6.3)
GeekBench x64 4.3.2 CPU
5023/17313GeekBench x64 4.3.2 GPU/OpenCl
32699GeekBench x64 4.3.2 GPU/Metal
22887CINEBENCH R15.038_RC184115 OpenGL
33.32 fpsCINEBENCH R15.038_RC184115 CPU
794cbLuxMark-v3.1 OpenCL GPU
2215LuxMark-v3.1 OpenCL CPU
2063Heaven FPS
12.2Score
307Min FPS
5.8Max FPS
36AJA System Test Lite SanDisk (with trim) Samsung 860 EVO MZ-76E500B/EU:
463MB/sec write, 501MB/sec readAJA System Test Lite Seagate Barracuda 7200.14 ST1000DM003-1SB102:
134MB/sec write, 144MB/sec readAJA System Test Lite Western Digital Caviar Green WDC WD10EAVS-14M4B0:
51MB/sec write, 50MB/sec read
FAQ
Disabling SIP
OCB: LoadImage failed - Security Violation
Users may find upgrading OpenCore on an already installed system can result in early boot failures due to Security > SecureBootModel > Default
OCB: LoadImage failed - Security Violation
MacOS installer thinks I am russian
OpenCore Sanity Checker
make sure to check your config.plist against OpenCore Sanity Checker
Mount Root as read/write
Apple has introduce SSV (signed system volumes). SSV features a kernel mechanism that verifies the integrity of the system content at runtime, and rejects any data — code and non-code — that doesn’t have a valid cryptographic signature from Apple. In order to make root volume writable you need to disable, mount it, change it, create a new snapshot and boot from that snapshot. I am not responsible if you make your machine unbootable. This may break OS updates. Check how to do it @ macOS 11 Big Sur and Mount root as writable in Big Sur
Steps:
- Boot from recovery and disable SSV (this will be permanent)
csrutil authenticated-root disable
- Boot on macos and mount your root volume as writable. Find your root mount's device - run mount and chop off the last s, e.g. if your root is
/dev/disk1s2s3
, you'll mount/dev/disk1s2
$ mount
/dev/disk2s5s1 on / (apfs, sealed, local, read-only, journaled)
$ mkdir /Users/xxx/mount
sudo mount -o nobrowse -t apfs /dev/disk2s5 /Users/xxx/mount
-
Make any modifications you want in
/Users/xxx/mount
-
Generate and tag new APFS System Snapshot as follows and make it bootable
# Create snapshot.
sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -s "ChangedRoot" -v /Users/xxx/mount
# Tag snapshot for next boot.
sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -r "ChangedRoot" -v /Users/xxx/mount
-
reboot and you are done
-
check the snapshots XXX how do you delete snapshot history?
$ diskutil apfs snapshots disk2s5s1
Snapshots for disk2s5s1 (3 found)
|
+-- AFD82B0C-23D3-481B-9401-0A17DC46C1EC
| Name: com.apple.os.update-779BDF1556C6F688504E24FB29C75AFFABFCB91E701806FFFF35235E19914F1E
| XID: 489684
| Purgeable: No
| NOTE: This snapshot limits the minimum size of APFS Container disk2
|
+-- 4A6FACBE-2667-4127-8143-646C38E3C3B4
| Name: ChangedRoot
| XID: 490985
| Purgeable: Yes
|
+-- 3DC0C93D-F858-4420-AC0B-49FDF23D5C3A
Name: NewRoot
XID: 9223372036855268389
Purgeable: Yes
Changelog
You can view Changelog for detailed information.
Buy me a coffee or a beer
If you feel so you can buy me a coffee or a beer!
Credits
-
Thanks to Piker-Alpha
-
Thanks to vit9696/Acidanthera for providing AppleALC, CPUFriend, HibernationFixup, Lilu,
USBPorts
, VirtualSMC, and WhateverGreen. -
Thanks to Dortania for their amazing guides!
-
Thanks to apianti, blackosx, blusseau, dmazar, and slice2009 for providing Clover.
-
Thanks to RehabMan for providing EAPD-Codec-Commander, OS-X-Clover-Laptop-Config, OS-X-Null-Ethernet, OS-X-ACPI-Battery-Driver, OS-X-Voodoo-PS2-Controller, and SATA-unsupported and all the amazing help in the forums.
-
Thanks to sniki and his guide on [Guide] HP Elite 8300 / HP 6300 Pro using Clover UEFI hotpatch
-
Thanks to edelton and his guide HP EliteDesk 800 G2 / HP ProDesk 600 G2 - SUCCESS