BASE EFI Intel Haswell
Note | Description |
---|---|
Initial macOS Support | OS X 10.8, Mountain Lion. |
- Opencore version: 0.9.6
- Release date: 06/11/2023
Basic Steps
- Download the latest release;
- Includes additional kexts (for ethernet, audio, etc);
- Include the necessary ACPI patches (.aml);
- Review the special notes;
- Generate and complete your SMBIOS infos - ALWAYS;
- Adjust your BIOS;
- Install macOS and enjoy :)
Features
- Very light, very clean, basic files for your Hackintosh.
- Made with latest OpenCore versions.
- Two editions - Release and Debug Edition.
- Updated montly with refresh versions of Opencore.
Kexts included (Required)
Kext | Description |
---|---|
Lilu.kext | Patch many processes, required for AppleALC, WhateverGreen, VirtualSMC and many other kexts. |
SMCProcessor.kext | Used for monitoring CPU temperature, doesn't work on AMD CPU based systems. |
SMCSuperIO.kext | Used for monitoring fan speed, doesn't work on AMD CPU based systems. |
VirtualSMC.kext | Emulates the SMC chip found on real macs, without this macOS will not boot. Alternative is FakeSMC which can have better or worse support, most commonly used on legacy hardware. |
WhateverGreen.kext | Used for graphics patching, DRM fixes, board ID checks, framebuffer fixes, etc; all GPUs benefit from this kext. |
Other Kexts (not included)
Kexts for support Audio, Wifi, Ethernets and other devices.
Audio
Kext | Description |
---|---|
AppleALC.kext | Used for AppleHDA patching, allowing support for the majority of on-board sound controllers. AMD 15h/16h may have issues with this and Ryzen/Threadripper systems rarely have mic support. |
VoodooHDA.kext | Audio for FX systems and front panel Mic+Audio support for Ryzen system, do not mix with AppleALC. Audio quality is noticeably worse than AppleALC on Zen CPUs. |
Ethernet
Kext | Description |
---|---|
IntelMausi.kext | Intel's 82578, 82579, I217, I218 and I219 NICs are officially supported. |
AtherosE2200Ethernet.kext | Required for Atheros and Killer NICs. Note: Atheros Killer E2500 models are actually Realtek based, for these systems please use RealtekRTL8111 instead. |
RealtekRTL8111.kext | For Realtek's Gigabit Ethernet. Sometimes the latest version of the kext might not work properly with your Ethernet. If you see this issue, try older versions. |
LucyRTL8125Ethernet.kext | For Realtek's 2.5Gb Ethernet. |
SmallTreeIntel82576.kext | Required for I211 NICs, based off of the SmallTree kext but patched to support I211. Required for most AMD boards running Intel NICs. |
WiFi and Bluetooth
Kext | Description |
---|---|
AirportItlwm | Adds support for a large variety of Intel wireless cards and works natively in recovery thanks to IO80211Family integration. |
IntelBluetoothFirmware | Adds Bluetooth support to macOS when paired with an Intel wireless card. |
AirportBrcmFixup | Used for patching non-Apple/non-Fenvi Broadcom cards, will not work on Intel, Killer, Realtek, etc. For Big Sur see Big Sur Known Issues for extra steps regarding AirPortBrcm4360 drivers. |
BrcmPatchRAM | Used for uploading firmware on Broadcom Bluetooth chipset, required for all non-Apple/non-Fenvi Airport cards. |
USB
Kext | Description |
---|---|
USBInjectAll | Used for injecting Intel USB controllers on systems without defined USB ports in ACPI. All Intel chipset series. Requires OS X 10.11 or newer. |
XHCI-unsupported | Needed for non-native USB controllers. Common chipsets needing this: H370, B360, H310, Z390(Not needed on Mojave and newer), X79, X99, AsRock boards(On Intel motherboards specifically, B460/Z490+ boards do not need it however). |
Others
Kext | Description |
---|---|
NVMeFix | Used for fixing power management and initialization on non-Apple NVMe. |
SATA-Unsupported | Adds support for a large variety of SATA controllers, mainly relevant for laptops which have issues seeing the SATA drive in macOS. We recommend testing without this first. |
RestrictEvents | Better experience with unsupported processors like AMD, Disable MacPro7,1 memory warnings and provide upgrade to macOS Monterey via Software Updates when available. |
CpuTscSync | It is a Lilu plugin, combining functionality of VoodooTSCSync and disabling xcpm_urgency if TSC is not in sync. It should solve some kernel panics after wake. |
SMDRadeonGPU | Used for monitoring GPU temperature on AMD GPU systems. Requires RadeonSensor from the same repository. Requires macOS 11 or newer. |
ACPI Tables
These files are MUST be included in your EFI's ACPI directory. We recommend that you use the MANUAL method, but for a first test you can use the prebuild versions.
Table | Description |
---|---|
SSDT-PLUG | Manual | Prebuilt | Details |
SSDT-EC | Manual | Prebuilt | Details |
Dumping your DSDT in Windows Environment
Download iASL Compiler ACPI Tools
Open the CMD in the directory where the ACPI Tools was extracted. (Command Prompt) in Administrator Mode:
path/to/acpidump.exe -b -n DSDT -z
move dsdt.dat DSDT.aml
Decompile DSDT.aml:
path/to/iasl.exe path/to/DSDT.aml
File DSDT.dsl will generated. Use this for generate YOUR ACPI Patches.
Compile DSDT.dsl:
path/to/iasl.exe path/to/DSDT.dsl
File APCPI_FILE_PATCHED.aml will generated.
Attention
Update config.plist in PlatformInfo > Generic with YOUR informations.
1. MLB (Board Serial)
2. ROM (Mac Address)
3. SystemSerialNumber (Serial)
4. SystemUUID (SmUUID)
Please use genSMBIOS for generate values for above itens.
Please use ProperTree for configure/edit your config.plist.
Compatible SMBIOS
SMBIOS | Description |
---|---|
iMac14,4 | Haswell with only iGPU |
iMac15,1 | Haswell with dGPU |
iMac16,2 | Broadwell |
Catalina and older versions of macOS
- Please configure
MinDate
andMinVersion
in UEFI > APFS to-1
; - Please configure
SecureBootModel
in Misc > Security toj137
;
* Without above settings, macOS will not be able to boot.
Special notes
- USB port mapping is REQUIRED.
XhciPortLimit
- Please**ENABLE**
to map the USB ports- You can use USBMap.command Utility - USBMap.
AppleXcpmCfgLock
- PleaseENABLE
if you cannot disableCFG-Lock
in BIOS.AppleCpuPmCfgLock
- PleaseENABLE
if running 10.10 or older and cannot disableCFG-Lock
in the BIOS.
Special notes [DeviceProperties > Add]
- PciRoot(0x0)/Pci(0x2,0x0)
- AAPL,ig-platform-id
- 0300220D - Replace AAAAAAAA. Used when the Desktop Haswell iGPU is used to drive a display.
- 04001204 - Replace AAAAAAAA. Used when the Desktop Haswell iGPU is only used for computing tasks and doesn't drive a display.
- 07002216 - REPLACE AAAAAAAA. Used when the Desktop Broadwell iGPU.
- framebuffer-patch-enabl - Uncomment if no BIOS options for iGPU memory.
- framebuffer-stolenmem - Uncomment if no BIOS options for iGPU memory.
- framebuffer-fbmem - Uncomment if no BIOS options for iGPU memory.
- device-id
- Uncomment in case you have an HD 4400 which is unsupported in macOS.
- AAPL,ig-platform-id
boot-args
GPU-Specific Parameter | Description |
---|---|
agdpmod=pikera | Used for disabling board ID checks on Navi GPUs(RX 5000 series & RX 6000 series), without this you'll get a black screen. Don't use if you don't have Navi (ie. Polaris and Vega cards shouldn't use this). |
nvda_drv_vrl=1 | Used for enabling Nvidia's Web Drivers on Maxwell and Pascal cards in Sierra and High Sierra. |
-wegnoegpu | Used for disabling all other GPUs than the integrated Intel iGPU, useful for those wanting to run newer versions of macOS where their dGPU isn't supported. |
BIOS Settings
Disable
- Fast Boot
- Secure Boot
- Serial/COM Port
- Parallel Port
- VT-d (can be enabled if you set
DisableIoMapper
to YES) - Compatibility Support Module (CSM).
- Thunderbolt(For initial install, as Thunderbolt can cause issues if not setup correctly)
- Intel SGX
- Intel Platform Trust
- CFG Lock (MSR 0xE2 write protection)
- This must be off, if you can't find the option then
ENABLE
AppleXcpmCfgLock
. - Your hack will not boot with
CFG-Lock
enabled - For 10.10 and older, you'll need to
ENABLE
AppleCpuPmCfgLock
as well.
- This must be off, if you can't find the option then
Enable
- VT-x
- Above 4G decoding.
- This must be on, if you can't find the option then add
npci=0x2000
toboot-args
. - Do not have both this option and
npci
onboot-args
enabled at the same time.
- This must be on, if you can't find the option then add
- Hyper-Threading
- Execute Disable Bit
- EHCI/XHCI Hand-off
- OS type: Windows 8.1/10 UEFI Mode
- DVMT Pre-Allocated(iGPU Memory): 64MB
- SATA Mode: AHCI
References
https://dortania.github.io/OpenCore-Install-Guide/config.plist/haswell.html
https://dortania.github.io/Getting-Started-With-ACPI/