INDEX
- About
- Option 1a: Kaby Lake iGPU spoof via
DeviceProperties
- Option 1b: Kaby Lake iGPU spoof via SSDT
- Option 2: Re-enable Skylake Graphics with OpenCore Legacy Patcher (macOS 13+)
- Optional Refinement: Implement Board-ID VMM Spoof
- NOTES and CREDITS
With the release of macOS 13 beta, support for 4th to 6th Gen CPUs was dropped – on-board graphics included. In order to enable integrated graphics on Skylake CPUs, you need to either spoof Kaby Lake Framebuffers (Option 1) or use OpenCore Legacy Patcher to re-enable Skylake graphics (Option 2).
Tip
There might be a third option which needs to be investigated further: using the OSIEnhancer kext in combination with a custom SSDT that allows switching AAPL,ig-platform-id and device-ids based on the used Darwin Kernel.
Do the following to enabled Intel HD 520/530 or P530 on-board graphics in macOS 13 on desktop systems:
- Update Lilu
- Update Whatevergreen
- Change the SMBIOS to
iMac18,1
- Under
DeviceProperties/Add
, create the DictionaryPciRoot(0x0)/Pci(0x2,0x0)
if it doesn't exist already. - Add/modify
DeviceProperties
for HD 530 (HD 520 and Laptops might need different values. Refer to the Intel HD Graphics FAQ for details):Key Name Value Type Notes AAPL,ig-platform-id 00001259 Data For Intel HD 520/530 device-id 12590000 Data " AAPL,ig-platform-id 00001B59 Data For Intel P530 device-id 26590000 Data " AAPL,GfxYTile 01000000 Data Optional. If your having glitches. - Optional: add boot-arg
-igfxsklaskbl
(when using macOS 12) - Save and reboot
Note
The used example is from an i7 6700K
Run either VDADecoderChecker or VideoProc to verify that iGPU acceleration is workinf. In this case, iGPU Acceleration is working fine:
Do the following to enable Intel HD 520/530 or P530 on-board graphics in macOS 13 on desktop systems:
- Update Lilu
- Update Whatevergreen
- Change the SMBIOS to
iMac18,1
- Under
DeviceProperties/Add
, create the DictionaryPciRoot(0x0)/Pci(0x2,0x0)
if it doesn't exist already. - Add/modify
DeviceProperties
for HD 530 (HD 520 and Laptops might need different values. Refer to the Intel HD Graphics FAQ for details):Key Name Value Type Notes AAPL,ig-platform-id 00001B59 Data For Intel HD 520/530 device-id 12590000 Data " AAPL,ig-platform-id 00001B59 Data For Intel P530 device-id 26590000 Data " AAPL,GfxYTile 01000000 Data Optional. If your having glitches. - Optional: add boot-arg
-igfxsklaskbl
(when using macOS 12) - Save and reboot
Run either VDADecoderChecker or VideoProc to verify that iGPU acceleration is workinf. In this case, iGPU Acceleration is working fine:
Note
If this spoof does not work on your Laptop out of the box, try other combinations of mobile Kaby Lake ig-platform and device-ids listed in the IntelHD FAQ. If this still won't work try the OCLP method instead.
This option allows spoofing the Kaby Lake framebuffer patch by injecting the AAPL,ig-platform-id
and device-id
into macOS 13 and newer via an SSDT and a new kext called OSIEnhancer. The kext allows using modified versions of the "If (_OSI ("Darwin"))" method to inject properties based of the macOS or Kernel version, e.g. "If (_OSI ("Ventura"))" or "If (_OSI ("Darwin 22")) for macOS Ventura.
This way, you can leave your DeviceProperties as is for older versions of macOS but apply
- Download
OSIEnhancer.kext
- Add it to
EFI/OC/Kexts
and yourconfig.plist
- Download
SSDT-Darwin.aml
- Download
SSDT-GFX0.aml
- Add them to
EFI/OC/ACPI
and yourconfig.plist
- Change the SMBIOS to
iMac18,1
- Save your
config.plist
and rebbot into macOS 13 or newer.
The SSDT should inject the required iGPU properties into macOS Ventura and newer, so that the Kaby Lake spoof will work. If it doesn't work, add the ACPI patch from this .plist
to your config. It renames the _DSM
method of your iGPU to XDSM
, so that the _DSM
method injected by SSDT-GFX0
takes precedence. Don't modify the PCI device path listed under base
, since Whatevergreen corrects the path of the iGPU device in your DSDT
, which matches the one in the .plist!
Important
Please store a backup of your current EFI folder on a FAT32 formatted USB flash drive before applying this spoof, so you can boot from it in case something goes wrong. Because I cannot test this spoof since I don't have a Skylake system.
Instead of spoofing a Kaby Lake Framebuffer, you could utilize OpenCore Legacy Patcher to re-install files to enable Skylake graphics in macOS Ventura and newer.
Follow my Skylake configuration guide to…
- Prepare your config and EFI to install and run macOS Ventura or newer
- Apply Post-Install Root Patches with OpenCore Legacy Patcher. This will install the following files on the system volume:
AppleIntelSKLGraphics.kext AppleIntelSKLGraphicsFramebuffer.kext AppleIntelSKLGraphicsGLDriver.bundle AppleIntelSKLGraphicsMTLDriver.bundle AppleIntelSKLGraphicsVADriver.bundle AppleIntelSKLGraphicsVAME.bundle AppleIntelGraphicsShared.bundle
This way, you won't have to spoof a different iGPU and your Intel HD520/530 will work as expected. The downside is that every time a system update is available, the whole Installer will be downloader (13 GB+), since root patching breaks the security seal of the system volume.
Apply the config changes liste below after upgrading to macOS 13 or newer in order to boot with a native SMBIOS for Skylake CPUs for optimal CPU/GPU Power Management while retaining the ability to install macOS System Updates.
Config Section | Setting | Description |
---|---|---|
Booter/Patch |
Add and enable the "Skip Board ID check" from OCLP's config | Skips board-id check in macOS → Allows booting macOS with unsupported, native SMBIOS best suited for your CPU. |
Kernel/Add and EFI/OC/Kexts |
Add the following Kexts:
|
|
NVRAM/Add/...-4BCCA8B30102 |
Add the following Key:
revpatch Type: String Value: sbvmm |
|
NVRAM/Delete/...-4BCCA8B30102 (Array) |
Add the following String:
|
Deletes NVRAM before writing the parameter. Otherwise you would need to perform an NVRAM reset every time you change any of them in the corresponding Add section. |
PlatormInfo/Generic |
Change SMBIOS
|
Once macOS Ventura is installed and running, you can revert to a "native" SMBIOS for Skylake CPUs for optimal CPU/GPU Power Management. But if you want/need to modify the frequency vectors of your CPU, you can generate a new DataProvider kext for CPUFriend with CPUFriendFriend. Note that Apple never released a MacPro and MacMini model with Skylake CPUs. |
- Thanks to b00t0x for OSIEnhancer and SSDT Samples
- Board-id VMM spoof explained
- When spoofing the iGPU in macOS Ventura, you might experience glitches and issues related to HEVC encoding/decoding.
- The previously used
SKLAsKBLGraphicsInfo.kext
is no longer required - PMheart for the Patch
- Acidanthera for OpenCore, Lilu and Whatevergreen
- Cyberdevs for the desktop settings