This repository contains the necessary files and information to successfully boot macOS on this laptop.
Install brew
for this, and brew install neofetch
Component | Brand |
---|---|
CPU | Intel Core i7-1065G7 @ 1.5 GHz |
iGPU | Intel Iris Plus Graphics G7 - Ice Lake |
RAM | 32GB SODIMM 2400MHz |
Storage | WD SN530 512GB |
Audio | Realtek ALC236 - layout-id 13 |
WiFi Card | Intel 9560NGW - 8086:34F0 |
BT Card | 9460/9560 Jefferson Peak - 8087:0AAA |
OS | macOS Monterey 12.6.2 (21G320) |
BIOS | F25 Rev.A - from .bin 086C8 |
Mobo name | HP 86C9 |
This tool is obtainable here
In the config.plist, section PlatformInfo > Generic
, the following fields are currently edited with "CHANGEME" in order to force the user to generate his own serials. Refer to this guide to know how.
MLB
ROM
SystemSerialNumber
SystemUUID
For those of you who are using a SATA SSD for macOS 11 Big Sur and newer it might be necessary to spoof HP infamous RAID controller 8086:282A
with another ID, a solution can be found here, this is a better alternative and does not require the manual injection of CtlnaAHCIPort.kext
is not required anymore
OpenCanopy is fully configured with the correct theme from acidanthera, (GoldenGate) but if you want to disable this you should edit the config.plist
and change PickerMode
from External
to Builtin
or disable ShowPicker
entirely.
I highly suggest to read the OpenCore guide.
For the ACPI configuration which might be the trickiest one, you can use the ones I have in EFI/OC/ACPI
if you have the same BIOS as mine (e.g. the HP 14s-dq1013tu
has the same BIOS according to ferdysopian.
Special thanks to dreamwhite for his help on fixing the trackpad (SSDT-TPD0
and SSDT-GPIO
) and ACPI USB map (SSDT-USB
) alongside all ACPI hotpatching
Must have to boot any macOS version from USB:
HfsPlus.efi
- required for HFS support in UEFI - check this method to create the HFS-formatted USB thumb drive
This driver can be found either in the EFI/OC/Drivers
folder of this repository, in acidanthera/OcBinaryData or here if you want to extract it youself
OpenRuntime.efi
- (bundled in OpenCore package)
ResetNvramEntry.efi
- (bundled in OpenCore package) to add NVRAM reset functionality.
Additional drivers for cosmetic stuff:
AudioDxe.efi
- for Boot Chime support in UEFI environment (already enabled)OpenCanopy.efi
(bundled in OpenCore package) for Mac-like GUI support in pickerNote: The BIOSes present in the directory Misc/Extracted sp132835/
are multiple bin files, and the one made for this laptop is precisely this one
Please note that even though I've listed here the offsets with setup_var
(as modgrubshell.efi
would require) I had to use RU.efi
to edit these. A nice guide on how to use RU.efi
can be found here
CFG Lock = setup_var 0x43 0x0
(Disabled) (Section CpuSetup
)
DVMT Pre-Allocated = setup_var 0xA4 0x2
(64MB) (or 0x4
for 128MB) (Section SaSetup
)
DVMT Total Gfx Mem = setup_var 0xA5 0x3
(MAX) (Section SaSetup
)
SATA Controller(s) = setup_var 0x5B 0x1
(Enabled) - if you have the cable inside (Section Setup
)
SATA Mode = setup_var 0x5C 0x0
(AHCI) - this should be on zero by default (Section Setup
)
GPIO Interrupt = setup_var 0x2CA 0x0
(Section Setup
)
You can use RU.efi or setup_var.efi to configure these settings. Check this utility who was born from datasone's hard work to unlock them all by loading OpenShell.efi
from F9 menu (present in EFI/OC/Tools
alongside setup_var.efi
and RU.efi
)
Note: these commands are only available in UEFI shell and the tool can be found here
setup_var.efi 0x43 0x0 -n CpuSetup # CFG Lock disabled
setup_var.efi 0xA4 0x2 -n SaSetup # DVMT Pre-Allocated to 64MB
setup_var.efi 0xA5 0x3 -n SaSetup # (MAX)
setup_var.efi 0x2CA 0x0 -n Setup # Trackpad GPIO mode
This way, if you applied these settings correctly either with RU.efi or setup_var.efi:
framebuffer-fbmem
and framebuffer-stolenmem
properties under DeviceProperties
for the graphics patchAppleXCPMCfgLock
or similar kernel quirksUnfortunately even after setting the DVMT Pre-Allocated value to 160MB (05) value in BIOS, the cursor problem persists, and from WhateverGreen's DEBUG logs I still can see that it is fixed to 60MB. FIXED
The problem above was in the fact that I was editing the wrong section, Setup
(VarStoreId: 0x1) instead of SaSetup
(VarStoreId: 0x16) hence my changes where vain. Now as you can see from the screenshot below, I can set 128MB with no issues
The values I've tested to get the display to be functional after sleep are:
AAPL,ig-platform-id | device-id | Issues |
---|---|---|
0200518A |
528A0000 (default from WeG) |
IN USE cursor problem fixed after understanding that I had to edit SaSetup with RU.efi
|
01005C8A |
528A0000 (default from WeG) |
NOT in USE anymore - No cursor problem with stolenmem set to the highest possible value I can (59MB) |
0200538A |
538A0000 |
Black screen right after booting |
0000528A |
528A0000 (default from WeG) |
Black screen after sleep/wake cycle |
Remember that you are recommended to apply these settings once you booted macOS:
sudo pmset autopoweroff 0
sudo pmset powernap 0
sudo pmset standby 0
sudo pmset proximitywake 0
sudo pmset tcpkeepalive 0
You can keep tcpkeepalive
on, but you might experience a litte bit more discharge than usual when putting your laptop to sleep overnight (7-8% instead of 3-5%) but you have the possibility to recieve notifications/updates every 2 hours since the laptop will wake to check them if tcpkeepalive
is set to 1
There is a simple SSDT-PS2.aml
that works with the _Q10
and _Q11
rename which adds the correct Notify
parameters to handle screen brightness while pressing F2
or F3
. Please note that SSDT-PNLFCFL.aml
is reqired too.
Hence, the only Booter > Quirks
required to boot are AvoidRuntimeDefrag
, RebuildAppleMemoryMap
, SyncRuntimePermissions
and SetupVirtualMap
.
MMIO
Devirtualization is not required.
With this laptop, HP went with a trackpad on the ACPI path _SB.PCI0.I2C1.TPD0
with the name ELAN0712
, but actually it's an HID device. VoodooI2C.kext
and VoodooI2CHID.kext
successfully handle all the native gestures. Everything is working, even the 4-fingers gestures.
Please note that in order for the trackpad to work properly, you should set it in GPIO Interrupt
in the BIOS and not APIC Interrupt
(default)
With the help of dreamwhite we found a clever way to map usb ports present in the DSDT
without having to drop tables or having to load SSDT-RHUB.aml
: in addition, I found from this useful list that many people had problems mapping USB ports (in my case, even if SSDT-5 from SysReport contains a dedicated USB table, blocking it and loading the customized one does not work since macOS will look at the ports defined in the DSDT instead). So the XUPC solved us all of this trouble and I'm perfectly fine with it.
Basically by hot patching the _UPC
method to XUPC
we managed to define that method in an external SSDT-USB.aml
.
On WiFi support, do not use the BCM94360NG because makes macOS freeze randomly. This happened on multiple recent IceLake laptops. I've tested multiple cards and it seems that there is a very strict BIOS whitelist on what card is allowed to be used on this laptop. Intel 8260 (8086:24f3
) was in use before, but with that one I couldn't get bluetooth support since these new IceLake laptops might expect CNViO cards like the Intel 9560NGW (8086:34F0
)
A special thanks to ferdysopian for his help on fixing RFKILL enabled on macOS, see this thread for more information.
GENG
method used in SSDT-USB.aml