EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Enable Intel HD and UHD Graphics on macOS - Intel Framebuffer Patching Guide

An EliteMacx86 Exclusive Guide - This guide covers fixing Intel HD and UHD Graphics on macOS. By following this guide, you'll be able to enable Intel Graphics with acceleration on macOS with full QE/CI on your system. This guide also covers Intel Framebuffer patching and other important Graphics and Display aspects.

Overview


macOS supports a wide range of Intel HD Graphics (also referred to as iGPU) but some of them might not work out of the box if you have not followed the Clover or OpenCore Installation Guide. Before you start with this guide, please know something about the performance. Graphics enhance the performance and helps to work smoothly. In macOS, full acceleration requires that both Quartz Extreme and Core Image (QE/CI) should work together.

Quartz Extreme and Core Image (QE/CI) should work together to enable full acceleration on macOS’s GUI. It utilizes complete Graphics capabilities. In case you haven’t enabled QE/CI on your graphic card, you won’t be able to use your macOS smoothly and there would be lots of lags and artifacts, graphics-related issues, and poor refresh rate. Also, the dock would not be transparent. Therefore it is very important to ensure that your graphic is working with full QE/CI.

While you try to enable Intel Graphics, there could be several problems such as no acceleration, KP when booting or black screen, and other several related issues. This guide covers all such important aspects.

macOS and DVMT


It should be noted that macOS expects the DVMT-prealloc to be set to 64MB or larger. If a system has less than 64MB which is not large enough and will likely cause a Kernel Panic when booting with correct IGPU Device Properties. To overcome this issue, you need to set the DVMT-prealloc to 64MB (for 1080p) and 96/128/192MB (for 4K/UHD/QHD/QHD+ Displays) in BIOS/UEFI.

Mostly on Desktops, there is an option to change the DVMT Pre-alloc, with the exception of a few OEM Desktop systems. Even, if there is no option to change the DVMT Pre-alloc on Desktops, the manufacturer already sets the required values by default. However, sometimes, changing these values may be required in special cases such as OEM Systems. When it comes to a Laptop, this is not the case with a majority of Laptops. Depending on your Laptop make and model, your manufacturer may have set the DVMT-prealloc to 32MB by default, which is not large enough. Some manufacturers even restrict the DVMT settings access and your BIOS might be limited in such cases. If you don't have the option to change these values you can simply skip this step as long as you use a 32MB DVMT pre-alloc patch.

If your system does not have the option to change the DVMT Settings and has less than 64MB, you can use semantic framebuffer-stolenmem and framebuffer-fbmem patches. You can find the 32MB DVMT patch in the semantic patch example. There are a few ways to set the required DVMT-prealloc value even if your BIOS does not provide the option, but they are not ideal and moreover, they are risky. These methods include BIOS Unlocking and changing of UEFI Variable using UEFI Shell.

On a side note, if your Laptop has the correct DVMT-prealloc value as required (64MB or 128MB), it is advised to disable or remove the 32MB patch. However, there are Laptops, where you have the required amount of DVMT-prealloc set in BIOS, but it actually allocates less and as a result, it may Kernel Panic during cold boot. For such cases, it is strongly recommended to not disable or remove the 32MB patch.

4K/UHD/QHD/QHD+ Displays


4K/UHD/QHD/QHD+ has additional DVMT requirements. The DVMT Pre-alloc must be set to 64 MB or 96/128/192MB in BIOS/UEFI. In some cases, increasing framebuffer-stolenmem to 34MB can help you to achieve this. If increasing stolenmem does not work in your case, you need to unlock the BIOS to set the required DVMT. See the threads linked below for more information.


Requirements


GraphicsSupported Intel Desktop or Mobile Graphics. See IGPU Compatibility for more information.
KextsOriginal Graphics kexts in S/L/E
macOS VersionOS X Snow Leopard 10.6 and later


STEP 1: Setup BIOS


The very first step is to set up BIOS to have the IGPU Enabled on your System. Follow the steps below to set up your BIOS for IGPU.

1. On your target computer, boot to BIOS. Refer to your user manual for the BIOS Key
2. Set the following parameters as shown.

SettingsValueNotes
Intel Processor GraphicsEnabled
DVMT Total Memory Size
DVMT Pre-Allocated
64MB
DVMT Total Memory SizeMax

3. Save & Exit Setup

NOTES:
  • If you only want to use IGPU, set the Initial PCIe Output display to IGFX.
  • The above settings are for IGPU only. See BIOS Settings for more information.
  • If your system does not have any of the above settings in BIOS, ignore such settings.

STEP 2: Remove Outdated Kexts, Injections, and ACPI Renames


Once you have set up the BIOS, the next step is to remove the kexts, injections, and ACPI renames that can interfere with the Graphics implementation. To remove such, follow the steps below.

Kexts Removal
If you're using any of these kexts listed below, it is recommended to remove them. See notes below.

1. Mount your ESP
2. Remove the following kexts.
  • IntelGraphicsFixup.kext
  • NvidiaGraphicsFixup.kext
  • CoreDisplayFixup.kext
  • Shiki.kext
  • IntelGraphicsDVMTFixup.kext
  • AzulPatcher4600.kext
  • AppleBacklightFixup.kext,
  • FakePCIID_Intel_HD_Graphics.kext
  • FakePCIID_Intel_HDMI_Audio.kext
  • FakePCIID.kext
NOTES:
  • If you're using OpenCore, you'll also need to remove the kext entries from your kernel section in your config.plist
  • For Mojave and prior, make sure these kexts don't exist in Library/Extensions or System/Library/Extensions.
  • For a few systems, it may require FakePCIID_Intel_HD_Graphics.kext and FakePCIID_Intel_HDMI_Audio.kext to enable Graphics and HDMI/DP Audio. However, the use of such is in special cases only.
  • Do not remove FakePCIID.kext if you're using any other FakePCIID plugins.

Clover Properties and Injections
If you're using Clover, you need to disable Clover properties and injections.

1. Mount your ESP
2. Open your config.plist and disable and/or remove the following from their respective sections

Disable DSDT Fixes
The DSDT fixes can be disabled in Acpi>Fixes section.
  • AddHDMI
  • FixDisplay
  • FixIntelGfx
  • AddIMEI
  • FixHDA
  • AddPNLF
Remove Fake IDs
The Fake IDs can be disabled in the Devices>Fake ID section.
  • ATI
  • IntelGFX
  • NVidia
  • IMEI
Disable injection properties
The injection properties can be disabled in the Devices>Properties section.
  • Inject
  • UseIntelHDMI
  • HDMIInjection
  • SetIntelBacklight
  • SetIntelMaxBacklight
Disable Graphics Injection
The Graphics injection can be disabled in the Graphics section
  • ATI
  • Intel
  • NVidia
Remove ig-platform-id
The ig-platform-id can be removed in the Graphics section

ACPI Renames
If you're using any ACPI renames, you'll need to disable or delete the ACPI renames as these can conflict with WhateverGreen's automatic renames.

1. Mount your ESP
2. Open your config.plist and remove the following ACPI renames. For Clover, it's in Acpi>DSDT>Patches section, and for OpenCore, it's under ACPI>Patch section.
  • GFX0 to IGPU
  • PEGP to GFX0
  • HECI to IMEI
  • MEI to IMEI
  • HDAS to HDEF
  • B0D3 to HDAU
STEP 3: Add Required Kexts

The next step is to add the required kexts to enable Graphics and to use the WhateverGreen properties. WhateverGreen doesn't work standalone. Lilu and WhateverGreen are needed together to work in conjunction.

1. Download Lilu and WhateverGreen from the downloads section of this forum.
2. Mount your ESP.

For Clover:
If you're using Clover, copy both the kexts to EFI/Clover/Kext/Others

For OpenCore:
If you're using OpenCore, copy both the kexts to EFI/OC/Kexts. You'll also need to add the kext entries in the Kernel section of your config.plist.

NOTES:
  • Download the latest version for better support.
  • Download only the RELEASE.zip file.
  • If the kext is already present in the directory, replace them with a new version
  • Do not use WhateverGreen.kext.dSYM, WhateverName.app and Lilu.kext.dSYM

STEP 4: Set Framebuffer


The next step is to set framebuffer depending on your CPU Code Name. To set the framebuffer, follow the steps below

1. Mount your ESP
2. Open your config.plist
3. Depending on your CPU model and the Graphics, select the framebuffer from the table below and depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)
4. Once the properties have been added, save your config.plist

QUICK INFO:
  • If your system has less DVMT Pre-Alloc than required, use 32MB DVMT Pre-Alloc patch which is described in the Framebuffer Patching section as a semantic patch example.

Sandy Bridge [Intel HD Graphics 2000/3000]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,snb-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 10000300
Laptop
  • 00000100
Empty Framebuffer
  • 00000500
device-id26010000
3A1C0000
DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • Only required for Desktops.
  • If you're using a Motherboard with a 7 series chipset, you need to use 3A1C0000 as a device-id and will need to use SSDT-IMEI.

Ivy Bridge [Intel HD Graphics 2500/4000]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id03006601
04006601
DATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 0A006601
Laptop
  • 03006601 (1366x768)
  • 04006601 (1600x900)
If you're using a Motherboard with a 6 series chipset, you need to use 04006601 as an ig-platform-id

Empty Framebuffer
  • 07006201
device-id3A1E0000DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using a Motherboard with a 6 series chipset, you need to use 3A1E0000 as a device-id and will need to use SSDT-IMEI.

Haswell [Intel HD Graphics 4200, 4400, 4600, 5000, 5100, 5200]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 0300220D
Laptop
  • 0600260A
Empty Framebuffer
  • 04001204
device-id12040000DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel HD 4200/HD 4400/HD 4600 you'll need to use 12040000 as a device-id.


Broadwell [Intel HD Graphics 5300, 5500, 5600, 6000, 6100, 6200, 6300]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 07002216
Laptop
  • 06002616
Empty Framebuffer
  • 0x01620007
device-id26160000DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel HD 5600 you'll need to use 26160000 as a device-id.
  • some HD5500 need this, such as i3-5005U; enable as required

Skylake [Intel HD Graphics 510, 515, 520, 530, 540, 550, 580]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 00001219
Laptop
  • 00001B19
  • 00002619
Empty Framebuffer
  • 01001219
device-id26190000DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel HD 550/HD P530 you'll need to use 26190000 as a device-id.
  • some HD5500 need this, such as i3-5005U; enable as required

For Skylake users on macOS Ventura

Kaby Lake, Kaby Lake-R [Intel HD Graphics 610, 620, 630, 640, 650]
Amber Lake [Intel UHD 615, 617]
Kaby Lake-R [Intel UHD 620]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 00001259
Laptop
  • 00001B59
Empty Framebuffer
  • 03001259
device-id16590000DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel UHD 620 (KBL-R) you'll need to use 16590000 as a device-id.
  • some HD5500 need this, such as i3-5005U; enable as required

Coffee Lake [Intel UHD Graphics 630, P630, 640, 650, 645, 655]
Whiskey Lake [Intel UHD 620]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 07009B3E
Laptop
  • 00009B3E
Empty Framebuffer
  • 0300913E
device-id923E0000
A53E0000
DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel CFL-R CPU, you'll need to use 923E0000 as a device-id.
  • If you're using Intel Whiskey Lake CPU, you'll need to use A53E0000 as a device-id.
  • some HD5500 need this, such as i3-5005U; enable as required

Comet Lake [Intel UHD Graphics 610, 620, 630, P630]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Desktop
  • 07009B3E
Laptop
  • 0900A53E
Empty Framebuffer
  • 0300C89B
device-id923E0000
A53E0000
DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel CFL-R CPU, you'll need to use 923E0000 as a device-id.
  • If you're using Intel Whiskey Lake CPU, you'll need to use A53E0000 as a device-id.
  • some HD5500 need this, such as i3-5005U; enable as required

Ice Lake [Intel UHD and Intel Iris Plus]
DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-idDepends on your SystemDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
Laptop
  • 0000528A
device-id923E0000
A53E0000
DATA
  • Sets Fake Device ID for Unsupported Device ID in macOS.
  • If you're using Intel CFL-R CPU, you'll need to use 923E0000 as a device-id.
  • If you're using Intel Whiskey Lake CPU, you'll need to use A53E0000 as a device-id.
  • some HD5500 need this, such as i3-5005U; enable as required


Disabling Unsupported IGPUs


There are several IGPUs that are not supported on macOS/OS X and therefore it is advised to disable them to avoid any possible conflicts or errors. Note that it is recommended to disable the IGPU for Rocket Lake and above on Desktops and Tiger Lake and above for Laptops. For more information, refer to the guide linked below.

Disabling Discrete GPU in Laptops


Due to the nature of macOS and non-Apple Laptops, it is not possible to use IGPU and a discrete GPU (NVIDIA or AMD) together, and is recommended to disable it. For more information, refer to the guide linked below.

Brightness on Laptops


To enable the Brightness on your Laptop, refer to the guide linked below.


Digital Audio (HDMI/DVI/DP)


To enable the Digital Audio (HDMI/DP/DVI), refer to the guide linked below.

IGPU Power Management


To enable IGPU Power Management, refer to the guide linked below.


Framebuffer Patching


On most of the devices, WhateverGreen automatically does the framebuffer patching. However, on certain devices, you might need to patch framebuffers. Some of the reasons include
  • Insufficient DVMT-prealloc in BIOS or no option to set DVMT-prealloc in BIOS
  • Connector patching to match HDMI/DP/mDP/VGA Ports on your device to drive the display

Framebuffer Patching Types

Possible WEG custom patches :


Semantic (Recommended):

PatchNotes
framebuffer-patch-enable
  • Enables framebuffer patching.
  • Required when utilizing connector patches, fbmem, and stolenmem.
framebuffer-framebufferid
framebuffer-mobile
framebuffer-pipecount
framebuffer-portcount
  • Defines the number of framebuffer ports
framebuffer-memorycount
framebuffer-stolenmem
  • Specifies stolenmem.
  • This is a memory which is reserved for the IGPU.
  • Prevents kernel panic due to less DVMT size set in BIOS/UEFI.
  • Usually relevant for Laptops where the DVMT-prealloc cannot be set due to hidden settings under BIOS/UEFI.
framebuffer-fbmem
  • Specifies framebuffer memory size.
  • This is a memory that is reserved for the framebuffer.
  • Do not use framebuffer-fbmem with framebuffer-cursormem
framebuffer-unifiedmem
  • Defines VRAM size.
  • Changes the VRAM in About This Mac, Display Tab, and in System Report>Graphics/Displays Tab.
  • This property doesn't have any effect on the actual VRAM and is purely cosmetic.
  • It is not recommended to use this patch.
framebuffer-cursormem
  • Haswell specific patch.
  • Fixes Graphics glitches and artifacts on Haswell
  • Do not use framebuffer-fbmem with framebuffer-cursormem
framebuffer-flags
framebuffer-camellia
  • Integrated Display Controller.
  • Only relevant for real Macs.
AAPL00,DualLink
@0,display-dual-link
  • Sandy Bridge and Ivy Bridge specific patch.
0
  • For 1366x768 resolution
1
  • 1600x900+ resolution
framebuffer-conX-enable
  • Enables the X connector
framebuffer-conX-index
framebuffer-conX-busid
framebuffer-conX-pipe
  • Sets pipe value to the respective connector.
framebuffer-conX-type
  • Defines the connector type (DP/HDMI/DVI/LVDS/Dummy)
framebuffer-conX-flags
framebuffer-conX-alldata
  • completely replace the connector
framebuffer-conX-YYYYYYYY-alldata
  • completely replace the connector, if the current framebuffer matches YYYYYYYY

Where X is the connector index.

Example of Semantic Patch

Example of a typical Semantic patch for devices with 32MB DVMT Pre-Alloc

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-fbmem00009000DATA
  • Sets framebuffer memory size to 9MB
framebuffer-patch-enable01000000DATA
  • Enables framebuffer patching.
framebuffer-stolenmem00003001DATA
  • Specifies stolenmem.
  • This is a memory which is reserved for the IGPU.
  • Prevents kernel panic due to less DVMT size set in BIOS/UEFI.
  • Sets framebuffer stolenmem size to 19MB
  • Usually relevant for Laptops where the DVMT-prealloc cannot be set due to hidden settings under BIOS/UEFI.


Binary:
framebuffer-patchN-enable (enabling patch number N)
framebuffer-patchN-framebufferid (the framebuffer that we're patching, the current by default)
framebuffer-patchN-find
framebuffer-patchN-replace
framebuffer-patchN-count (the amount of pattern iterations to search for, the default is 1)
N stands for the number of the patch: 0, 1, 2, ... 9


Connector Patching


To drive the display using HDMI/DP, you may need to patch the connectors. This becomes necessary for the devices where the default WhateverGreen patching doesn't work or if you need to override the patching. Few issues can be solved such as a pink screen, black screen when booting into macOS, no display when connected to such ports, and reboot of devices when a display is connected. Patching connectors is very simple and it basically includes identifying the physical ports and then defining them to enable those ports. In addition, patching connectors will help to achieve Digital Audio over HDMI/DP.

macOS supports the following connectors
  • Display Port
  • HDMI
  • DVI
  • LVDS
  • Dummy Port
Connector Info

Port NameConnector TypeNotesReference
Display Port00 04 00 00
  • Display capable Type-C ports are DP internally
HDMI00 08 00 00
DVI (Dual Link)04 00 00 00
DVI (Single Link)00 02 00 00
VGA10 00 00 00
  • VGA ports on SKL and newer are DisplayPorts internally and are supported by macOS
  • Hotplug for VGA usually does not work
LVDS and eDP02 00 00 00
S-Video80 00 00 00
Dummy Port01 00 00 00
  • Used when there are no physical ports present

1. Fix your Graphics using STEP 1-3 and make sure you have acceleration with full QE/CI and can use at least one video port to drive the display.
2. Locate the physical port on your device.
3. Identity the physical port with the reference as shown in the above table.
4. Download and open IOReg and type IGPU in the search bar. Sometimes, the IGPU node is available as GFX0. If the GPU rename has been done, it will be available as IGPU. If not, GFX0. You should see something similar to the screenshot attached below.
Screen Shot 2022-06-16 at 3.36.37 PM.png


5. Once you have located the IGPU node, you can clear the search to get the complete node info. Select the IGPU node and you'll see something similar to the screenshot attached below. The patch you need to use depends on which port the connector is plugged into. Each port has its own AppleIntelFramebuffer node under IGPU. For example, this image shows each framebuffer node under IGPU on Dell OptiPlex 3050 Micro.

Screen Shot 2022-06-16 at 3.39.04 PM.png
6. If you check, in the above screenshot, we have some AppleIntelFramebuffer connectors listed. You need to locate your current connector which is driving your display. A simple way to find this out is to find the connector having AppleDisplay properties with display 0 sub-node. In our case, it is AppleIntelFramebuffer@1, which is the physical DisplayPort. Each framebuffer (@0, @1, @2, @3) corresponds to a set of connector data inside the ig-platform-id data, which resides in the framebuffer kext binary. Your system can have a different one. Make sure to locate the connector which drives your display and the idea to find it out is a connector having AppleDisplay properties.

7. Select the AppleIntelFramebuffer@X from the left pane for the active display and you'll have the connectors and other properties and info listed. In our case, it's AppleIntelFramebuffer@2 and you'll see something similar to the screenshot attached below. X represents the framebuffer connector.


Screen Shot 2022-06-16 at 4.00.44 PM.png
8. If you check, in the above screenshot, we have some AppleIntelFramebuffer@1 selected. Now you need to find the value for the connector-type property. The above screenshot has a property of "<00 04 00 00>". This is the current connector type set originally. The connector type can have different values has been already described in the Connector Info Table.

9. Now, match the Physical port against the Framebuffer. For the above example, the DisplayPort is associated with AppleIntelFramebuffer@1. Here, we get the info that DisplayPort is connected and using AppleIntelFramebuffer@1 and has the correct connector-type value as per the connector info table, and therefore, we don't need to change the connector type here. If connector patching is not done, most connectors by default are DP.

10. Now, connect your monitor to the next available video port. Do not use any video adapters such as DP to HDMI or DVI to HDMI or VGA to HDMI during this step. Instead, use a direct connection (HDMI to HDMI, DP to DP, DVI to DVI, VGA to VGA, etc.). This system has two other ports which are HDMI and VGA respectively. When connecting HDMI, the Framebuffer doesn't respond and due to no connection, it results in a black screen (no signal) on the monitor. If you're having a black screen, the first step would be to enable all the framebuffers and set them as HDMI (See Changing Connector Types). Once this step was done, I was able to drive the display using HDMI. If you still get a black screen, you may require Bus ID patching. See Bus ID patching for more information.

For devices with a single video port, such as on Laptop, you can easily know if it is HDMI/DP/DVI/VGA by inspecting the physical port. By default, the internal LVDS connector will be corresponding to AppleIntelFramebuffer@0. So, if a Laptop is equipped with a single HDMI port, the connector configuration would be LVDS (AppleIntelFramebuffer@0) and HDMI (AppleIntelFramebuffer@1). On Desktops, with a single HDMI/DP/DVI/VGA, you can also determine the port and the corresponding connector by physical port inspection. So, if a Desktop is equipped with a single HDMI port, the connector configuration would be HDMI (AppleIntelFramebuffer@0).

11. Once you have determined the port and the corresponding connector, you can simply change the connector type as per the connector info table. In the case of Dell OptiPlex 3050 Micro, here is the default connector configuration summary.

PortConnectorConnector Type (Default, original)Notes
HDMIAppleIntelFramebuffer@000 04 00 00The HDMI port is associated with con0 and the connector type is set to DP (00 04 00 00) which must be changed to HDMI (00 08 00 00) to have a proper signal and also the Digital Audio. We can use the WhateverGreen patching feature to change the connector type with reference to the connector info table.
DPAppleIntelFramebuffer@100 04 00 00The DP port is associated with con1 and the connector type is set to DP (00 04 00 00) which is the correct connector type value as per the connector info table therefore, we don't need to change the connector type here.
VGAAppleIntelFramebuffer@200 04 00 00The VGA port is associated with con2 and the connector type is set to DP (00 04 00 00) which is the correct connector type value as per the connector info table therefore, we don't need to change the connector type here.

Changing Connector Types

To change the connector type, follow the steps below
1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-conX-enable01000000DATA
  • Enables X Port
  • Replace the conX with the value of the Framebuffer which can be obtained from the AppleIntelFramebuffer@ whatever digits you have.
  • For example, if you want to enable Con0, simply use framebuffer-con0-enable and so on.
framebuffer-conX-typeDATA
  • Defines connector type
  • Depending on the video port type, use the connector type in the value field. See the connector info table.
  • Replace the conX with the value of the Framebuffer which can be obtained from the AppleIntelFramebuffer@ whatever digits you have.
  • The conX value will be similar for (framebuffer-conX-enable and framebuffer-ConX-type) property.
framebuffer-patch-enable01000000DATA
  • Enables framebuffer patching.

4. Once you determine the actual port used by your video ports you can go back and disable the unneeded patches, leaving only the one that is actually associated with your port.
5. Save your config.plist

Before patching:
Screen Shot 2022-06-17 at 8.10.55 AM.png
After patching:
Screen Shot 2022-06-17 at 8.29.19 AM.png

Example of HDMI, DP and VGA connector patching

The following is an example of Connector patching on Dell OptiPlex 3050 Micro.

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-con0-enable01000000DATA
  • Enables HDMI Port (Framebuffer@0)
framebuffer-con0-type00080000DATA
  • Defines connector type
  • Sets connector type to HDMI
framebuffer-con1-enable01000000DATA
  • Enables DP Port (Framebuffer@1)
framebuffer-con1-type00040000DATA
  • Defines connector type
  • Sets connector type to DisplayPort
framebuffer-con2-enable01000000DATA
  • Enables VGA Port (Framebuffer@2)
framebuffer-con2-type00040000DATA
  • Defines connector type
  • Sets connector type to VGA
framebuffer-patch-enable01000000DATA
  • Enables framebuffer patching.


HotPlug Reboot


For some devices (especially laptops), if your device reboots when you plug the HDMI into the HDMI port, you'll likely need to add and/or change the "pipe" values in the framebuffer connector. The same theory applies to all video ports, including DP, mDP, DVI and/or VGA). Although it is not fully understood what the meaning of pipe value is, but various other connectors use '12' instead of '09' (in the unmodified kext) and it has been found that changing the pipe to '12' can fix the reboot problem. To change the pipe value, simply match the framebuffer and add/change the pipe value using the following WhateverGreen Property.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-conX-pipe12000000DATA
  • Fixes HotPlug Reboot
  • Sets pipe to 12 for the Con X.
  • Replace the X with the actual connector you want to add pipe for.
  • If we need to do this for connector @1 (as above example), we'll use framebuffer-con2-pipe and the 12000000 as pipe value.
framebuffer-patch-enable01000000DATA
  • Enables framebuffer patching.

Since it may be impossible to determine which connector is used by your HDMI port if the device is rebooting, you may need to enable the pipe=12 on all connectors initially.

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-con0-pipe12000000DATA
  • Sets pipe to 12 for the Con 0.
framebuffer-con1-pipe12000000DATA
  • Sets pipe to 12 for the Con 1.
framebuffer-con2-pipe12000000DATA
  • Sets pipe to 12 for the Con 2.
framebuffer-con3-pipe12000000DATA
  • Sets pipe to 12 for the Con 3.
framebuffer-patch-enable
01000000
DATA
  • Enables framebuffer patching.


On a few Devices, even after adding and/or changing pipe values, the device may reboot and result in KP when connecting the monitor to the respective video port. For such cases, further Bus ID patching may be required. For devices equipped with HDMI 2.0 port, this can result in instant KP when connecting the monitor to the HDMI port. See, LSPCON for more information.

EDID Injection


Most of the time, once the Graphics is fixed and works with full QE/CI, the EDID is identified correctly, however, certain Laptops may require manual EDID Injection. If you need to inject the EDID, refer to the guide linked below

No Display after Wake


On some Desktop and Laptop Displays, when waking up the system, the screen goes blank and displays nothing. To fix this issue, you'll need to use force-online property to IGPU. To add the force-online property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)force-online01000000DATA
  • Forces Online Status on all Displays
  • Usually required for Skylake and newer

4. If you don't want to inject the property using Device Properties, you can use the same patch using igfxonln=1 boot-arg in your config.plist.
5. Once added, save your config.plist.

NVMe Kernel Panics


Systems with IGPU (KBL and newer), may cause system instability in lower power states. Sometimes it can be noticed by NVMe kernel panics. To fix this issue, you'll need to use forceRenderStandby=0 boot arg which will disable RC6 Render Standy. To add the forceRenderStandby=0 arg, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the forceRenderStandby=0 boot-arg in your config.plist.
4. Once added, save your config.plist.

4K/UHD/QHD Resolution with 60FPS


If you're using HDMI in UHD resolution with 60FPS, you'll need to raise the max pixel clock limit. To raise the max pixel clock limit, follow the steps below

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-max-pixel-clock-override01000000DATA
  • Fixes HDMI in UHD resolution with 60FPS
  • This property on IGPU can be used to raise the max pixel clock limit.
  • This prevents a black screen for HDMI in UHD resolution with 60FPS or more.
  • This property can be used for 4K@60Hz over HDMI 2.0.
  • Usually required by Laptops with 4K/UHD/QHD Display. If your Laptop has a 4K/UHD/QHD panel, you'll need to use this property.
  • If you get "gIOScreenLockState3" when booting, you'll need to use this property.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxmpc boot-arg in your config.plist.
5. Once added, save your config.plist.

Another approach is to patch CheckTimingWithRange in CoreDisplay.framework to skip validation of the pixel clock. To use this patch, add the enable-hdmi20 property to IGPU or use the -cdfon boot-arg. However, -igfxmpc is the preferred approach to bypass the 450 MHz pixel clock limit, as -cdfon depends on the userspace patcher and may fail to work on macOS Big Sur and later.

If you want to use enable-hdmi20 property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-hdmi2001000000DATA
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • Enables HDMI 2.0 patches.
  • This prevents a black screen for HDMI in UHD resolution with 60FPS or more.
  • Usually relevant for 4K/UHD/QHD Display. If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
  • If you get "gIOScreenLockState3 error", you'll need to use this property.

4. Save your config.plist

Invalid Maximum Link Rate


Since CFL, when driving the display, a Kernel Panic occurs due to division by zero in the framebuffer driver. To fix this issue, you'll need to use enable-dpcd-max-link-rate-fix property to IGPU. To add the enable-dpcd-max-link-rate-fix property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-dpcd-max-link-rate-fix01000000DATA
  • Fixes invalid maximum link rate
  • This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
  • Usually required by Laptops with a Sharp Display and more refresh rate.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxmlr boot-arg in your config.plist.
5. Once added, save your config.plist.

You could also manually specify a maximum link rate value via the dpcd-max-link-rate for the built-in display. All the possible values for the link rate are listed below.

DPCD Link Rate

Link RateDisplay
06000000
  • Required for Laptops having 1080p Display, (RBR)
0A000000
  • Required for Laptops having 1080p Display, (HBR)
14000000
  • Required for Laptops having 4K Display, (HBR2)
1E000000
  • Required in case if the Laptop has more refresh rate than 60Hz.
  • This can fix display glitch after sleep/wake (HBR3)

If you want to use dpcd-max-link-rate property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)dpcd-max-link-rateDATA
  • Sets link rate type.
  • See the DPCD Link Rate Table to set the desired value.

4. Save your config.plist

If an invalid value is specified or property dpcd-max-link-rate is not specified, the driver will probe the maximum link rate from DPCD instead.
If the probed value is not supported by the driver (which should rarely happen), you need to manually specify a valid one, otherwise, the graphics driver will trigger a kernel panic due to a division-by-zero later.

Infinite Loop on Intel HDMI connections with Higher Pixel Clock Rate


When establishing an HDMI connection with a higher pixel clock rate (2K/4K Display), the system may hang and the built-in display (Laptops) will remain black when using an HDMI cable. To fix this issue, you'll need to use enable-hdmi-dividers-fix property to IGPU. To add the enable-hdmi-dividers-fix property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-hdmi-dividers-fix01000000DATA
  • Fixes the infinite loop when establishing an HDMI connection with a higher pixel clock.
  • For example, connecting to a 2K/4K display with HDMI 1.4, otherwise, the system just hangs and the built-in display will remain black when plugging the HDMI cable.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxhdmidivs boot-arg in your config.plist.
5. Once added, save your config.plist.


NOTES:
  • For those who want to have a "limited" 2K/4K experience (i.e. 2K@59Hz or 4K@30Hz) with their HDMI 1.4 port, you might find this fix helpful.
  • For those who have a laptop or PC with HDMI 2.0 routed to IGPU and have HDMI output issues, please note that this fix is now succeeded by the LSPCON driver solution, and it is still recommended to enable the LSPCON driver support to have full HDMI 2.0 experience. You might still need this fix temporarily to figure out the connector index of your HDMI port, see the LSPCON section below.

LSPCON Driver Support for DP to HDMI 2.0 Output


Recent laptops (KBL/CFL) are typically equipped with an HDMI 2.0 port. This port could be either routed to IGPU or DGPU, and you can have a confirmation on Windows 10 and later. Intel Graphics, however, does not provide native HDMI 2.0 output, so in order to solve this issue, OEMs use additional hardware named LSPCON on the motherboard to convert DisplayPort into HDMI 2.0.

LSPCON works in either Level Shifter (LS) or Protocol Converter (PCON) mode. When the adapter works in LS mode, it is capable of producing HDMI 1.4 signals from DisplayPort, while in PCON mode, it could provide HDMI 2.0 output. Some onboard LSPCON adapters (e.g. the one on Dell XPS 15 9570) have been configured in the firmware to work in LS mode by default, resulting in a black screen on handling HDMI 2.0 connections. However, since version 1.3.0, WhateverGreen now provides driver support for the onboard LSPCON by automatically configuring the adapter to run in PCON mode on new HDMI connections, and hence solves the black screen issue on some platforms.

Configure LSPCON
To configure LSPCON, follow the steps below

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-lspcon-support01000000DATA
  • Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
  • LSPCON driver is only applicable for Laptops with HDMI 2.0 routed to IGPU.
  • If your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, as your onboard LSPCON might have been already configured in the firmware to work in PCON mode.
  • This property can also provide HDR signaling over HDMI.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxlspcon boot-arg in your config.plist.
5. Once added, save your config.plist.
6. Restart your system.
7. Now, you need to know the corresponding connector index (one of 0,1,2,3) of your HDMI port. You could find it under IGPU in IORegistryExplorer (i.e. AppleIntelFramebuffer@0/1/2/3). If you only have a 2K/4K HDMI monitor, you might need temporarily to enable the infinite loop fix before connecting an HDMI monitor to your build, otherwise the system just hangs, so you won't be able to run the IORegistryExplorer and find the connector index. (see connector patching for more info)
8. Add the framebuffer-conX-has-lspcon property to IGPU to inform the driver which connector has an onboard LSPCON adapter.

DevicesKeyValueType
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-conX-has-lspcon01000000DATA
  • Inform the driver which connector has an onboard LSPCON adapter.
  • Sets LSPCON adapter to AppleIntelFramebuffer@
  • Replace the conX with the value of the Framebuffer which you have found in step #7. The value can be obtained from the AppleIntelFramebuffer@ whatever digits you have.
  • For example, if you want to enable Con0, simply use framebuffer-con0-enable and so on.

9. Add the framebuffer-conX-preferred-lspcon-mode property to IGPU to specify a mode for your onboard LSPCON adapter. If this property is not specified, the driver assumes that PCON mode is preferred. However, this is an optional step.

DevicesKeyValueType
PciRoot(0x0)/Pci(0x2,0x0)framebuffer-conX-preferred-lspcon-modeDATA
  • Defines mode for onboard LSPCON adapter
Set (PCON, DP to HDMI 2.0) for LSPCON adapter on AppleIntelFramebuffer@
  • 01000000
Set (LS, DP to HDMI 1.4) for LSPCON adapter on AppleIntelFramebuffer@
  • 01000000
  • Any other invalid values are treated as PCON mode.
  • The conX value will be similar for (framebuffer-conX-has-lspcon and framebuffer-conX-preferred-lspcon-mode) property.


NOTES:
  • LSPCON driver is only applicable for laptops and PCs with HDMI 2.0 routed to IGPU.
  • LSPCON driver is necessary for all newer platforms unless the new IGPU starts to provide native HDMI 2.0 output.
  • Supported Intel Platform: SKL, KBL, CFL and later. SKL: Intel NUC Skull Canyon; Iris Pro 580 + HDMI 2.0 with Parade PS175 LSPCON. CFL: Some laptops, e.g. Dell XPS 15 9570, are equipped with HDMI 2.0 and Parade PS175 LSPCON.
  • If you have confirmed that your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, because your onboard LSPCON might already be configured in the firmware to work in PCON mode.

Example of LSPCON Configuration

The following is an example of LSPCON Configuration on Dell OptiPlex 3050 Micro. Where Con2 is the HDMI port.

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-lspcon-support01000000DATA
  • Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
framebuffer-con2-has-lspcon01000000DATA
  • Inform the driver which connector has an onboard LSPCON adapter.
  • Sets LSPCON adapter to AppleIntelFramebuffer@2
framebuffer-con2-preferred-lspcon-mode01000000DATA
  • Defines mode for onboard LSPCON adapter
  • Sets (PCON, DP to HDMI 2.0) for LSPCON adapter on AppleIntelFramebuffer@2


Core Display Clock (CDCLK) Frequencies on Ice Lake


Core Display Clock (CDCLK) is one of the primary clocks used by the display engine to do its work. Apple's graphics driver expects that the firmware has already set the clock frequency to either 652.8 MHz or 648 MHz (the actual value depends on hardware), but quite a few laptops set it to a much lower value, such as 172.8 MHz, and hence you will see a kernel panic message like "Unsupported CD clock decimal frequency 0x158". This patch reprograms the clock to set its frequency to one of the supported values so that this precondition can be satisfied.

To fix this issue, you'll need to use enable-cdclk-frequency-fix property to IGPU to support all valid Core Display Clock (CDCLK) frequencies on ICL platforms, otherwise, a kernel panic would happen due to an unsupported CD clock decimal frequency. To add the enable-cdclk-frequency-fix property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-cdclk-frequency-fix01000000DATA
  • Enables all valid Core Display Clock (CDCLK) frequencies on ICL platforms.
  • This property on IGPU can be used to prevent a kernel due to an unsupported CD clock decimal frequency.
  • Usually required by Laptops with lower clock frequency values such as 172.8MHz.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxcdc boot-arg in your config.plist.
5. Once added, save your config.plist.

DVMT pre-allocated memory on Intel Ice Lake


Apple’s graphics driver reads the DVMT value set in the firmware and uses a “magic” formula to calculate the amount of memory in bytes. Unfortunately, the formula only works for a pre-allocated memory size that is a multiple of 32MB. The problem arises as laptops now have DVMT set to 60MB on ICL+ platforms by default, and the framebuffer controller ends up initializing the stolen memory manager with an incorrect amount of pre-allocated memory. Even though one might be able to modify DVMT settings via EFI shell or RU.EFI, these methods are not applicable to some laptops, such as Surface Pro 7, that use custom firmware. As such, this patch calculates the correct number of bytes beforehand and patches the driver so that it will initialize the memory manager with proper values and the kernel panics can be avoided.

Apple has removed the kernel panic if the stolen memory is not enough, but you are encouraged to patch the framebuffer so that it fits into your available amount of stolen memory. Once the patch is enabled, you could find your actual amount of DVMT pre-allocated memory in the property fw-dvmt-preallocated-memory under the graphics device. (Only available in DEBUG version) The unit is megabyte, and the size in the example below is 60 MB. (0x3C = 60)

To fix this issue, you'll need to use enable-dvmt-calc-fix property to IGPU to fix the calculation of the amount of DVMT pre-allocated memory on ICL platforms, otherwise, a kernel panic saying Unsupported ICL SKU would occur. To add the enable-dvmt-calc-fix property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-dvmt-calc-fix01000000DATA
  • Fixes Kernel Panic due to incorrect amount of DVMT pre-allocated memory.
  • This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
  • Usually required by Laptops where the BIOS is locked and the variables cannot be modified using Shell.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxdvmt boot-arg in your config.plist.
5. Once added, save your config.plist.

Garbled Display on Ice Lake


On Ice Lake platforms, it is required to fix the Display Data Buffer (DFUF) allocation issue, otherwise, your built-in display remains garbled for 7 to 15 seconds after the system boots. You need this fix if you observe a bunch of errors mentioning "DBUF" and "pipe underrun" in the kernel log.

This fix works by calling the function that optimizes the display data buffer allocations early. You may specify the delay in seconds (value of type Data) via the dbuf-optimizer-delay property. If the property is not specified, the default value will be used (see below).

The community reports that a delay of 1 to 3 seconds is adequate for avoiding the underrun issue on the built-in display without having negative impacts on external displays and that the default delay of 0 seconds used in WEG v1.5.4 may lead to both internal and external displays flickering on some laptops. Starting from v1.5.5, the default delay is changed to 1 second, so in most cases, users do not have to specify the delay manually.

To fix this issue, you'll need to use enable-dbuf-early-optimizer property to IGPU to fix the Display Data Buffer (DBUF) allocation issue on ICL platforms, otherwise, your built-in display remains garbled for 7 to 15 seconds after the system boots. . To add the enable-dbuf-early-optimizer property, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)enable-dbuf-early-optimizer01000000DATA
  • Fixes garbled display on the built-in screen on Ice Lake platforms.

4. If you don't want to inject the property using Device Properties, you can use the same patch using -igfxdbeo boot-arg in your config.plist.
5. Once added, save your config.plist.

Transitioning States Kernel Panics


On a few Ice Lake Laptops, a Kernel Panic may occur on Cannot allow DC9 without disallowing DC6 due to issues with transitioning states. To fix this issue, you'll need to use either -noDC9 or -nodisplaysleepDC6 boot arg. To add the arg, follow the steps below.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the forceRenderStandby=0 boot-arg in your config.plist.
4. Once added, save your config.plist.


H.264 and HEVC/H.265 Encoding


To enable H.264 and HEVC/H.265 Encoding, refer to the guide linked below

Credits :
Vit9696
Rehabman
PMHeart
 
Last edited:

oldman20

Member
Joined
Nov 6, 2021
Messages
123
Motherboard
Dell 3558
CPU
Broadwell 5200U
Graphics
Intel HD5500
OS X/macOS
12.0.x
Bootloader
  1. Clover (UEFI)
  2. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
ACPI Renames
If you're using any ACPI renames, you'll need to disable or delete the ACPI renames as these can conflict with WhateverGreen's automatic renames.
I checked GFX0 to IGPU rename, both with WhateverGreen kext: if disable rename, check in MaciASL have no IGPU device, it there if enable rename, so in this case, WhateverGreen rename didnt work somehow, so still need GFX0 to IGPU rename in ACIP right?
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
I checked GFX0 to IGPU rename, both with WhateverGreen kext: if disable rename, check in MaciASL have no IGPU device, it there if enable rename, so in this case, WhateverGreen rename didnt work somehow, so still need GFX0 to IGPU rename in ACIP right?
The correct way to check is using IOReg. Provide a copy of your IOReg to check.
 

oldman20

Member
Joined
Nov 6, 2021
Messages
123
Motherboard
Dell 3558
CPU
Broadwell 5200U
Graphics
Intel HD5500
OS X/macOS
12.0.x
Bootloader
  1. Clover (UEFI)
  2. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

Attachments

  • Chức’s MacBook Pro.ioreg.zip
    789.2 KB · Views: 3

oldman20

Member
Joined
Nov 6, 2021
Messages
123
Motherboard
Dell 3558
CPU
Broadwell 5200U
Graphics
Intel HD5500
OS X/macOS
12.0.x
Bootloader
  1. Clover (UEFI)
  2. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
here is acpi rename GFX0 to IGPU disable
 

Attachments

  • Chức’s MacBook Pro-disable ACPI Rename.ioreg.zip
    819.1 KB · Views: 3

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
here sir! with ACPI rename enable!
The IGPU rename is working. So, with the IGPU rename disabled in the config.plist, the IOReg reports the Display device as GFX0?
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
here is acpi rename GFX0 to IGPU disable
WEG automatically renames certain devices. As you can see, with your rename disabled, the system has IGPU rename.
Screen Shot 2022-08-15 at 10.59.30 PM.png
 

oldman20

Member
Joined
Nov 6, 2021
Messages
123
Motherboard
Dell 3558
CPU
Broadwell 5200U
Graphics
Intel HD5500
OS X/macOS
12.0.x
Bootloader
  1. Clover (UEFI)
  2. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
  • Like
Reactions: oldman20

Forum statistics

Threads
749
Messages
7,927
Members
6,855
Latest member
Breakthru81