This repository contains the necessary files and information to successfully boot macOS on this laptop.
- Bootloader version: OpenCore 0.7.1
- Kexts version: everything up-to-date with the latest version (check the links below)
- macOS version: Big Sur 11.5 - Release channel
Component | Brand |
---|---|
CPU | Intel Core i5-8265U @ 1.8 GHz |
iGPU | Intel UHD Graphics 620 - Whiskey Lake |
Storage | Samsung 840 EVO 256GB + Intel 660p 512GB |
Audio | Realtek ALC295 - layout 13 |
Ethernet | Realtek RTL8168H/8111H - 10ec:8168 |
WiFi Card | BCM94360NG - 14e4:43a0 |
OS | macOS Big Sur 11.5 (20G71) |
BIOS | F23 |
-
Update 2021/11/28: I asked for a repair of a keyboard key, and this amazing laptop was lost by Amazon in transit. This machine helped me a lot and I learned so much by using it. It will not be forgotten, but I cannot update this repository anymore since I'm unable to test the new commits
-
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 who have set up a multiboot environment with multiple drives as I did please note that BigSur dropped support for the RAID only controller present in this laptop, vendor-id and device-id
8086:282A
, henceCtlnaAHCIPort.kext
is required to boot Big Sur from the internal SATA drive. -
If you are planning to use the built-in NVMe, the stock Intel 660p (
8086:f1a8
) is perfectly fine with macOS. -
The HDMI port is fully working, in the
DeviceProperties
section you can find all the correct BusIDs. I've even tested a connection with a 4K monitor, the LG27UD59, and it works perfectly (maximum external resolution with this iGPU). -
OpenCanopy is fully configured with the correct theme from acidanthera, (GoldenGate) but to enable this you should edit the
config.plist
and changePickerMode
fromBuiltin
toExternal
I highly suggest to read the OpenCore guide
For the ACPI configuration, I have to thank dreamwhite for his help in the conversion from DSDT patches to pure modular SSDTs hotpatching, and Gengik84 for the initial patched DSDT, which now is not in use anymore.
Must have to boot Big Sur:
- OpenRuntime.efi (bundled in OpenCore package)
- HfsPlus.efi (if you created the USB with this method or with
createinstallmedia
) and can be found either in theOC/Drivers
folder of this repository or in acidanthera/OcBinaryData
Additional drivers for cosmetic stuff:
- AudioDxe.efi for Boot Chime support in UEFI environment
- OpenCanopy.efi (bundled in OpenCore package) for Mac-like GUI support in picker
- AirportBrcmFixup
- AppleALC
- CPUFriend
- CtlnaAHCIPort.kext - for those of you who use the SATA Cable or M2 SATA SSD
- HoRNDIS - for those of you who like to have USB tethering support
- Lilu
- NVMeFix
- RealtekRTL8111
- SMCBatteryManager - shipped inside VirtualSMC
- SMCProcessor - shipped inside VirtualSMC
- SMCSuperIO - shipped inside VirtualSMC
- VirtualSMC
- VoodooPS2Controller - bundled with VoodooInput, VoodooPS2Keyboard.kext and VoodooPS2Trackpad.kext
- WhateverGreen
Note: The kexts in this are not loaded in this order. Refer to the config.plist to see the correct order under Kernel > Add
section.
Steps to enter the advanced BIOS (Insyde BIOS)
Method A.
- Power on the machine pressing the power button
- Press
Esc
multiple times, a messageEsc: Pause Startup
should appear - Hold down the
Ctrl
button, then pressF10
: theAdvanced
tab should appear in the submenus.
Method B.
- Power on the machine pressing the power button
- Press
F9
multiple times to enter the BIOS boot menu - Hold down the
Ctrl
button, then pressF10
: theAdvanced
tab should appear in the submenus.
Right now, you should dig around to find the correct settings. All of these are present, be patient and explore every possible submenu. This list is accurately organized with subsections (they are on par with the BIOS sections)
- Security:
- Intel SGX = Disabled
- TPM State = Disabled (set this first)
- TPM Device = Hidden (then this one)
- System Configuration
- Language = English
- Virtualization Technology = Enabled
- Fan Always On = Disabled (for a quieter system overall)
- Action Keys Mode = Enabled (so you don't have to press always Fn to use brightness keys)
- Boot Options:
- USB Boot = Enabled
- Network Boot = Disabled
- Legacy Support = Disabled
- Secure Boot (is not selectable, ensure it is Disabled by clicking on "Clear All Secure Boot Keys")
- UEFI Boot order = Set it up as you wish
- Advanced:
- Boot Configuration:
- Numlock = On
- Peripheral Configuration:
- Serial Port A = Disabled
- Infrared Port = Disabled
- For SATA Configuration, the configurable section is under PCH-IO Configuration. Continue on reading.
- USB Configuration:
- USB BIOS Support = Enabled
- USB Legacy SMI bit Clean = Disabled
- Chipset Configuration:
- ME Unconfig on RTC Clear State = Disabled
- Platform Trust Technology = Disabled
- Debug Settings:
- Leave everything default here
- Type C Support = Platform-POR
- ACPI Table/Features Control:
- Leave everything default here
- CPU Configuration:
- Leave everything default here
- Connectivity Configuration:
- Leave everything default here
- Power and Performance:
- CPU Power Management Control
- CPU Lock Configuration (scroll all the way down leave other settings as default):
- CFG Lock = Disabled
- CPU Lock Configuration (scroll all the way down leave other settings as default):
- GT Power Management Control
- RC6 (Render Standby) = Disabled
- Maximum GT frequency = Default Max Frequency
- Disable Turbo GT Frequency = Disabled
- CPU Power Management Control
- Memory Configuration:
- Leave everything default here
- System Agent (SA) Configuration:
- VT-d = Disabled
- Above 4G MMIO BIOS assignment = Disabled
- Graphics Configuration:
- Primary Display = IGFX
- Select PCIE Card = PEG Eval
- Internal Graphics = Enabled
- GTT Size = 8MB
- Aperture Size = 256MB
- PSMI Support = Disabled
- DVMT Pre-Allocated = 64MB
- DVMT Total Gfx Mem = MAX
- Leave other settings as default
- PCH-IO Configuration
- SATA And RST Configuration:
- SATA Controller(s) = Enabled (do this only if you bought the SATA Cable separately)
- NOTE: Read the beginning of this page for the SATA info.
- Boot Configuration:
This way, if you applied these settings correctly:
- You won't need
framebuffer-fbmem
andframebuffer-stolenmem
properties underDeviceProperties
for the graphics patch - You won't need
AppleXCPMCfgLock
or similar kernel quirks
There is a simple SSDT-PS2.aml
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
, EnableWriteUnprotector
and SetupVirtualMap
, maybe one day I'll whitelist the regions, but I think that right now the less patches in use, the better for stability.
Thanks to HP for installing a PS-2 trackpad, VoodooPS2Trackpad.kext
and VoodooInput.kext
successfully handle all the native gestures. Everything is working, even the 4-fingers gestures.
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 mentioned above.
Basically by hot patching the _UPC
method to XUPC
we managed to define that method in an external SSDT-USB.aml
.
The following benchmarks were made using Geekbench V5:
- Apple for macOS
- Acidanthera for OpenCore and Lilu-based kexts
- dreamwhite for helping me to transition to SSDT-only modifications.
- Gengik84 for the
GENG
method and for the original custom DSDT - dortania team for its detailed guides
- Corpnewt for SSDTTime and fewtarius for CPUFriend fork (now merged into Corp's repo)
- Mieze for RealtekRTL8111 LAN driver
- RehabMan for his DSDT patching guide