In this guide, we will explore the steps to enable integrated graphics, also known as iGPU, on Coffee Lake and Comet Lake processors for optimal performance on macOS. These processors come equipped with integrated graphics such as Intel UHD Graphics 610, 620, 630, and 655, which are now fully supported.
To make these integrated graphics function seamlessly, we rely on the assistance of the WhateverGreen Kext. Think of it as a driver similar to those used on Windows, helping macOS recognize and utilize these GPU models effectively.
Configuring WhateverGreen to understand and support your specific iGPU requires correctly setting several key parameters. The parameters that we need to understand to make the iGPU work on Hackintosh include:
PciRoot(0x0)/Pci(0xX,0x0)
- AAPL,ig-platform-id
- framebuffer-patch-enable
- framebuffer-stolenmem
- framebuffer-fbmem
1. Using the Latest WhateverGreen Kext
Download the latest WhateverGreen and Lilu kext here, and copy them to the Kext folder in your EFI partition. Regularly updating these kexts is crucial for macOS compatibility and optimal functioning of your integrated graphics.
2. Locating the PCIROOT of the iGPU:
To find the PCI location of your laptop's iGPU, open the Device Manager on Windows. Search for "Device Manager" in the Windows search bar. Next, select your GPU and go to Detail > Location paths. Here, you'll find information about your PCIROOT. Based on the GPU details below, the PciRoot position is PciRoot(0x0)/Pci(0x2,0x0).
3. Finding Device IDs for AAPL,ig-platform-id:
Continuing in Device Manager, select your iGPU, and navigate to Details as mentioned in the previous steps. However, this time, look for the Hardware Ids section to find the name of your iGPU. In the example below, it's identified as Intel UHD Graphics 630 with the ID 3E9B.
Now, compare this information with the table below to identify the iGPU supported by WhateverGreen:
Framebuffer | Type | Connectors | TOTAL STOLEN Memory |
---|---|---|---|
0x3EA50009 | mobile | 3 | 58 MB |
0x3E920009 | mobile | 3 | 58 MB |
0x3E9B0009 | mobile | 3 | 58 MB |
0x3EA50000 | mobile | 3 | 58 MB |
0x3E920000 | mobile | 3 | 58 MB |
0x3E000000 | mobile | 3 | 58 MB |
0x3E9B0000 | mobile | 3 | 58 MB |
0x3EA50004 | mobile | 33 | 58 MB |
0x3EA50005 | mobile | 3 | 58 MB |
0x3EA60005 | mobile | 3 | 58 MB |
0x3E9B0006 | mobile | 1 | 36 MB |
0x3E9B0008 | mobile | 1 | 58 MB |
0x3E9B0007 | desktop | 3 | 58 MB |
0x3E920003 | desktop | 0 | 1MB |
0x3E910003 | desktop | 0 | 1MB |
0x3E980003 | desktop | 0 | 1MB |
0x9BC80003 | desktop | 0 | 1MB |
0x9BC50003 | desktop | 0 | 1MB |
0x9BC40003 | desktop | 0 | 1MB |
From the supported table, we can find the entry 0x3E9B0000 for a mobile configuration with 58 MB STOLEN Memory. The corresponding hexadecimal value for 0x3E9B0000, written in reverse order, is 00009B3E. This reversed value serves as the parameter for AAPL,ig-platform-id.
AAPL,ig-platform-id 00009B3E
4. STOLEN & FBMEM Memory
These are the final two parameters crucial for the iGPU to function properly. STOLEN represents memory reserved for the iGPU, while FBMEM is memory reserved for the framebuffer.
Typically, we avoid declaring the entire STOLEN memory to prevent installation errors. It's common to follow OpenCore's suggestion, setting VRAM to STOLEN to 19MB and FBMEM to 9MB.
To declare these values, convert 9MB to bytes (9437184), then convert from decimal to hexadecimal (900000), and pad the value to 4 bytes with 00 at the end (00 00 90 00). When done for both values:
19MB = 00 00 30 01
9MB = 00 00 90 00
Framebuffer-patch-enable set to 01000000 indicates that framebuffer patching is enabled, allowing necessary modifications for optimal integrated graphics functionality on your Hackintosh.
Key | Type | Value |
---|---|---|
framebuffer-patch-enable | Data | 01000000 |
framebuffer-stolenmem | Data | 00003001 |
framebuffer-fbmem | Data | 00009000 |
5. Using ProperTree to Edit Config.plist:
The final step involves updating and adding the parameters to the Config.plist file. In this step, various software tools can be used, but we'll use ProperTree for its familiarity and user-friendly interface.
Open ProperTree and locate the Config.plist file in your EFI folder. Then, go to File > OC Clean Snapshot to update the changes made by WhateverGreen Kext in step 1.
In the DevicesProperties section, add the five GPU description entries based on the steps from 2 to 4, as shown in the example below:
PciRoot(0x0)/Pci(0x2,0x0)
- AAPL,ig-platform-id
- framebuffer-patch-enable
- framebuffer-stolenmem
- framebuffer-fbmem
00009B3E
01000000
00003001
00009000
Next, for users with dual GPUs on the same machine, an additional step is required. It involves disabling the primary GPU and using only the iGPU. Navigate to NVRAM > boot-args and add the command: -wegnoegpu. If you have only one GPU, you can skip this step.
Once completed, save your config.plist file. You can now proceed with the macOS installation on your PC or laptop. If you encounter any issues, feel free to leave a comment below for assistance.
Important notes to avoid errors during installation:
Remove Unnecessary Kexts:
Eliminate unnecessary Kexts such as IntelGraphicsFixup.kext, NvidiaGraphicsFixup.kext, CoreDisplayFixup.kext, Shiki.kext, IntelGraphicsDVMTFixup.kext, AzulPatcher4600.kext, AppleBacklightFixup.kext, FakePCIID_Intel_HD_Graphics.kext, FakePCIID_Intel_HDMI_Audio.kext, and FakePCIID.kext.
Check Boot Arguments:
Verify boot arguments and avoid using -disablegfxfirmware and -igfxnohdmi. Incorrect boot arguments can lead to compatibility problems during the installation process.
Leave a Comment