OpenCore-based EFI for HP Z640 (Haswell-E)
Status: Fully Working | Stable | Daily driver
This project was created from scratch using the Dortania guide specifically for the HP Z640, but should work on the Z440 and Z480 with a few adjustments.
DISCLAIMER: As you embark on your Hackintosh journey you are encouraged to READ the entire README and Dortania guides before you start.
This Z640 Hackintosh project aims to be an all-in-one maintained hub for Opencore-based hackintoshes on the HP Zx40 family. In short, this Z640-Hackintosh is very stable and is currently my daily driver. I fully recommend this project to anyone looking for an old Mac Pro alternative.
This OpenCore-EFI should work as is with macOS Catalina, Big Sur, Monterey, Ventura, Sonoma and Sequoia (DP1).
You can find a wealth of knowledge on Reddit, TonyMacX86 or Google.
Important: In order to upgrade to macOS 14.4+ the value of Misc -> Security -> SecureBootModel
must be set to Disabled
in config.plist until the upgrade completely finishes.
Should you find an error, or improve anything, be it in the config itself or in the my documentation, please consider opening an issue or a pull request to contribute.
I am not responsible for any damages you may cause.
WORKING ✅
Feature | Status | Dependency | Remarks |
---|---|---|---|
Full Graphics Accleration (QE/CI) | ✅ | WhateverGreen.kext |
AMD Radeon RX 580 is natively supported on macOS |
Audio Output (Front/Back) | ✅ | AppleALC.kext with Layout ID = 11 |
- |
Audio Input (Front/Back) | ✅ | AppleALC.kext with Layout ID = 11 |
- |
Internal Speaker | ✅ | AppleALC.kext with Layout ID = 11 |
- |
Automatic Headphone Output Switching | ✅ | AppleALC.kext with Layout ID = 11 |
- |
DRM | ✅ | dGPU | - |
Feature | Status | Dependency | Remarks |
---|---|---|---|
CPU Power Management | ✅ | SSDT-PLUG.aml |
- |
NVMe Compatibility | ✅ | NVMeFix.kext & Innie.kext |
Improves NVMe compatibility with non-Apple SSDs |
Sleep / Wake | ✅ | - | - |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Wi-Fi | ✅ | OpenCore Legacy Patcher |
Follow this guide to properly enable Wi-Fi and Bluetooth with macOS Sonoma. Wi-Fi is natively supported on previous macOS versions, no need to use OCLP. |
Bluetooth | ✅ | OpenCore Legacy Patcher |
Follow this guide to properly enable Wi-Fi and Bluetooth with macOS Sonoma. Bluetooth is natively supported on previous macOS versions, no need to use OCLP. |
Ethernet | ✅ | IntelMausi.kext |
- |
USB 2.0 / USB 3.0 | ✅ | USBMap.kext |
Create your own USBMap.kext using CorpNewt |
USB Power Properties in macOS | ✅ | - | - |
Feature | Status | Dependency | Remarks |
---|---|---|---|
iCloud, iMessage, FaceTime | ✅ | Whitelisted Apple ID, Valid SMBIOS See Dortania / OpenCore-Install-Guide | - |
AirDrop | ✅ | - | - |
Universal Control | ✅ | - | - |
Apple Watch Auto Unlock | ✅ | - | - |
Instant Hotspot | ✅ | - | - |
Continuity Markup and Sketch | ✅ | - | - |
Handoff | ✅ | - | - |
Universal Clipboard | ✅ | - | - |
SMS & Phone Call via iPhone | ✅ | - | - |
AirPlay to Mac | ✅ | - | - |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Multiple Boot | ✅ | - | macOS, Windows, and Linux distributions (Use this guide to setup dual boot on the same drive) |
Boot chime | ✅ | - | Working like a charme |
NOT WORKING ❌
Feature | Status | Dependency | Remarks |
---|---|---|---|
Sidecar | ❌ | - | Cannot work on this machine as the there's no iGPU |
Continuity Camera | ❌ | - | Cannot work on this machine as the there's no iGPU |
FireVault 2 | ❌ | - | Cannot work when SecureBootModel is Disabled for OCLP |
THIS IS NOT A GUIDE!
This is not a guide. It shoud only be used as a reference. I provide some tips and tricks I learned on my journey in building a hackintosh. The best way of using this is as a supplement to the OpenCore guide. If you have questions about how to setup your specific hardware, are unclear about what to do, or would like to see the settings I've used.
I understand that some may simply add the OC and Boot folders to their EFI folder. For clarity the EFI partition needs a folder called EFI that contains the Boot and OC folder.
EFI (drive)
EFI
├── BOOT
├── OC
It should work and your HP Z640 should boot and work fine. You will at minimum need to generate SMBIOS values if you want Apple services to work. Note that all error reporting/logging has been turned off in the config.plist. You will have a difficult time trouble shooting with the setup provided. You can easily turn on the error reporting and logging if you follow the Dortania guide. Best of luck.
NOTE if you simply wish to copy my EFI please do the following:
- Generate SMBIOS values and add them in the config.plist (Use MacPro7,1 or iMacPro1,1)
- Ensure the value of
showpicker
istrue
in the config.plist file to provide the opencore menu when booting.- Prepare your install USB
- Move the entire EFI folder (with your modifications) to the proper partition on your USB (or SSD once the install is complete).
- Install - You'll need to select Escape to get the boot menu options and boot from the USB each time the computer restarts until you've copied the EFI folder onto the hard drive. You may also need to select the correct boot option during install.
HARDWARE
These are relevant components on my machine which may differ from yours, keep these in mind as you will need to adjust accordingly, depending on your machine's configuration.
Category | Component | Note |
---|---|---|
CPU | Intel Xeon E5-2699 v3 18-core (2,30 GHz) | - |
GPU | AMD Radeon RX 580 8 GB | - |
SSD | WDC PC SN720 SDAQNTW-512G-1001 | Using PCIe to M.2 adapter |
Memory | 72 GB 2133 MHz DDR4 | - |
Wi-Fi & BT | Fenvi T919 (Broadcom) | - |
BIOS | M60 v02.61 23/03/2023 | Latest version to this date |
Refer to HP Z640 Specs for possible stock configurations.
SOFTWARE
Component | Version |
---|---|
OpenCore | 1.0.0 |
macOS Sonoma | 14.5 |
Windows 11 | 23H2 |
Ubuntu | 22.04.4 LTS |
Fedora | 40 |
ESXi | 8 |
Proxmox | 8.2 |
ACPI
Component |
---|
SSDT-EC |
SSDT-PLUG |
SSDT-RTC0-RANGE |
SSDT-UNC |
SSDT-HPET |
SSDT-USBX |
KEXT
Kext | Version |
---|---|
Lilu | 1.6.7 |
VirtualSMC | 1.3.2 |
AppleALC | 1.9.0 |
IntelMausi | 1.0.7 |
NVMeFix | 1.1.1 |
Innie | 1.3.1 |
SMCProcessor | 1.3.2 |
SMCSuperIO | 1.3.2 |
RestrictEvents | 1.1.3 |
AMFIPass | 1.4.0 |
WhateverGreen | 1.6.6 |
USBMap | - |
RTCMemoryFixup | 1.0.7 |
IOSkywalkFamily | - |
IO80211FamilyLegacy | - |
UEFI DRIVERS
Driver | Version |
---|---|
OpenRuntime.efi | OpenCorePkg 1.0.0 |
OpenCanopy.efi | OpenCorePkg 1.0.0 |
OpenHfsPlus.efi | OpenCorePkg 1.0.0 |
AudioDxe.efi | OpenCorePkg 1.0.0 |
ResetNvramEntry.efi | OpenCorePkg 1.0.0 |
ToggleSipEntry.efi | OpenCorePkg 1.0.0 |
OTHER REPOSITORIES
-
Zx40-Hackintosh repositories:
-
Zx20-Hackintosh repositories:
CREDITS
- The guys from Acidanthera that make this possible
- ben9923 for VoodooI2C
- Apple for macOS
- CorpNewt for USBMap
- headkaze for Hackintool
- Mieze for IntelMausiEthernet
- People at r/hackintosh for their advice and help
- And every other contributor
UEFI SETTINGS
Security
- System Security
Virtualization Technology (VT-x)
EnableIntel VT for Directed I/O (VT-d)
Disable
Advanced
-
Boot Options
Fast Boot
DisableS5 Wake On LAN
Disable
-
Device Configurations
SATA Controller Mode
AHCI
-
Secure Boot Configuration
Configure Legacy Support and Secure Boot
Disable Legacy Support and Disable Secure Boot
-
Performance Options
Intel Hyper-Threading Technology
Enable
ADJUSTMENTS
Broadwell-E
To enable support for Xeon v4 CPUs, you must change the following values in Kernel -> Emulate
under your config.plist file:
- Cpuid1Data: D4060300 00000000 00000000 00000000
- Fake CPUID entry
- Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000
- Mask for fake CPUID
Haswell-E
To enable support for Xeon v3 CPUs, you must change the following values in Kernel -> Emulate
under your config.plist file (Already configured in the included EFI folder):
- Cpuid1Data: C3060300 00000000 00000000 00000000
- Fake CPUID entry
- Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000
- Mask for fake CPUID
Z840 Support
- 2nd LAN port must be disabled in BIOS for Z840 workstations
- Add the following kexts to enable SAS controller
- AstekFusion2Family.kext
- AstekFusion2Adapter.kext
KEYBOARD LAYOUT
Either add as a String
or as a Data
(HEX Data ProperTree)
Format is lang-COUNTRY:keyboard
🇺🇸 | [0] en_US - U.S --> en-US:0 --> (656e2d55 533a30 in HEX)
Key | Type | Value |
---|---|---|
prev-lang:kbd | String | en-US:0 |
Pick your keyboard layout here:
OpenCore Installation
- Move the entire EFI folder from the prepared USB (with your modifications) to the EFI partition on your hard drive or SSD.
- If you have a Broadcom wireless card (Wi-Fi & Bluetooth) use the OpenCore Legacy Patcher. The EFI folder is already prepared for OCLP.