Contribute
Register

[GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem)

Joined
May 24, 2019
Messages
4
Motherboard
ASUS z390 Hero
CPU
9900k
Graphics
Vega 56
Hi, any idea why the the 2 options only (1) works?
(1)
  • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID (e.g. 0x3E9B8086).
  • Graphics --> Inject Intel --> Check this ON.
  • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID (e.g. 0x3E9B0007).
(2)
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>BwCbPg==</data>
<key>device-id</key>
<data>mz4AAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
</dict>
</dict>
option (1) shows the igpu in both hackintool and system information
but option(2) only show inside the hackintool, missing from system information.
During patching connectors, I must delete away the option(1) and add in option 2,
the connectors shows correctly after boot, but no igpu inside system information.
Is there a way use combination of option (1) and option(2)?
I am confirm that the connectors are correct, just that the igpu it's not showing.

below is my option(2)
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>AAPL,slot-name</key>
<string>Internal</string>
<key>device-id</key>
<data>
mz4AAA==
</data>
<key>device_type</key>
<string>VGA compatible controller</string>
<key>enable-hdmi20</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-busid</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con0-index</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
CgAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con1-index</key>
<data>
AwAAAA==
</data>
<key>framebuffer-con1-pipe</key>
<data>
CAAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con2-index</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-pipe</key>
<data>
CQAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AAQAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-unifiedmem</key>
<data>
AAAAgA==
</data>
<key>hda-gfx</key>
<string>onboard-2</string>
<key>model</key>
<string>UHD Graphics 630 (Mobile)</string>
</dict>
</dict>

thank you for help:)
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
3,194
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Hi, any idea why the the 2 options only (1) works?
(1)
  • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID (e.g. 0x3E9B8086).
  • Graphics --> Inject Intel --> Check this ON.
  • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID (e.g. 0x3E9B0007).
(2)
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>BwCbPg==</data>
<key>device-id</key>
<data>mz4AAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
</dict>
</dict>
option (1) shows the igpu in both hackintool and system information
but option(2) only show inside the hackintool, missing from system information.
During patching connectors, I must delete away the option(1) and add in option 2,
the connectors shows correctly after boot, but no igpu inside system information.
Is there a way use combination of option (1) and option(2)?
I am confirm that the connectors are correct, just that the igpu it's not showing.

below is my option(2)
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>AAPL,slot-name</key>
<string>Internal</string>
<key>device-id</key>
<data>
mz4AAA==
</data>
<key>device_type</key>
<string>VGA compatible controller</string>
<key>enable-hdmi20</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-busid</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con0-index</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
CgAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con1-index</key>
<data>
AwAAAA==
</data>
<key>framebuffer-con1-pipe</key>
<data>
CAAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con2-index</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-pipe</key>
<data>
CQAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AAQAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-unifiedmem</key>
<data>
AAAAgA==
</data>
<key>hda-gfx</key>
<string>onboard-2</string>
<key>model</key>
<string>UHD Graphics 630 (Mobile)</string>
</dict>
</dict>

thank you for help:)
This behavior is completely normal. When iGPU is enabled with WhateverGreen, we don't see iGPU in System Information --> Graphics/Displays. But we can add a description to the System Information --> PCI page by following this guide:

But an even easier method is to use Hackintool with the following settings: (You should use platform ID 0x3E980003 for your i9-9900K)
Screen Shot 2019-05-24 at 3.27.00 PM.pngScreen Shot 2019-05-24 at 3.29.20 PM.png
  • Now Mount EFI partition of your Mojave SSD.
  • Finally, select File --> Export --> Bootloader config.plist and select the config.plist from your EFI/CLOVER folder. Don't worry, Hackintool will insert this patch safely and backup the existing config.plist.
 
Last edited:
Joined
May 24, 2019
Messages
4
Motherboard
ASUS z390 Hero
CPU
9900k
Graphics
Vega 56
This behavior is completely normal. When iGPU is enabled with WhateverGreen, we don't see iGPU in System Information --> Graphics/Displays. But we can add a description to the System Information --> PCI page by following this guide:

But an even easier method is to use Hackintool with the following settings: (You should use platform ID 0x3E980003 for your i9-9900K)
View attachment 408177View attachment 408178
  • Now Mount EFI partition of your Mojave SSD.
  • Finally, select File --> Export --> Bootloader config.plist and select the config.plist from your EFI/CLOVER folder. Don't worry, Hackintool will insert this patch safely and backup the existing config.plist.
thank you for your help, I had followed your second instruction and patched it and it shows in System Information --> PCI
After this, I proceed to connector Info and realised that all of them is headless, but there is no signal coming from IGPU.( No IGPU display)
with below setting I can get IGPU information display in Information --> Graphics/Displays but black screen when I switch to IGPU display(I guess it's correct setting but incorrect connector value, but I convert it into properties, it just not show in Graphics/Displays and black screen too)

  • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID = 0x3E9B8086
  • Graphics --> Inject Intel --> Check this ON.
  • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID = 0x3E9B0007
I am using SMBHIOS 18.3 by the way
but with below patch I get no signal detected.
below is the patch

<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
AwCYPg==
</data>
<key>AAPL,slot-name</key>
<string>Internal</string>
<key>device_type</key>
<string>Display controller</string>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
<key>hda-gfx</key>
<string>onboard-2</string>
<key>model</key>
<string>UHD Graphics 630 (Desktop 9 Series)</string>
</dict>
</dict>
what could be the reason? hope you can enlighten me a bit
thank you for you help once again :)
 
Last edited:

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
3,194
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
thank you for your help, I had followed your second instruction and patched it and it shows in System Information --> PCI
After this, I proceed to connector Info and realised that all of them is headless, but there is no signal coming from IGPU.( No IGPU display)
with below setting I can get IGPU information display in Information --> Graphics/Displays but black screen when I switch to IGPU display(I guess it's correct setting but incorrect connector value, but I convert it into properties, it just not show in Graphics/Displays and black screen too)

  • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID = 0x3E9B8086
  • Graphics --> Inject Intel --> Check this ON.
  • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID = 0x3E9B0007
I am using SMBHIOS 18.3 by the way
but with below patch I get no signal detected.
below is the patch

<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
AwCYPg==
</data>
<key>AAPL,slot-name</key>
<string>Internal</string>
<key>device_type</key>
<string>Display controller</string>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
<key>hda-gfx</key>
<string>onboard-2</string>
<key>model</key>
<string>UHD Graphics 630 (Desktop 9 Series)</string>
</dict>
</dict>
what could be the reason? hope you can enlighten me a bit
thank you for you help once again :)
Oops, my mistake. For some reason I thought you wanted to switch to headless mode. Because you have a Vega 56, I actually recommend using that exclusively for driving your monitor. The IGPU will be used to accelerate rendering tasks, but will not drive a monitor. Additionally, you’ll be able to run iMovie, Final Cut Pro, etc.

If you really need to drive a monitor with the IGPU, then you can use platform ID 0x3E9B0007 and set your connectors correctly. But in this case iMovie will immediately crash. Final Cut Pro and some other A/V apps will also crash.
 
Joined
May 24, 2019
Messages
4
Motherboard
ASUS z390 Hero
CPU
9900k
Graphics
Vega 56
Oops, my mistake. For some reason I thought you wanted to switch to headless mode. Because you have a Vega 56, I actually recommend using that exclusively for driving your monitor. The IGPU will be used to accelerate rendering tasks, but will not drive a monitor. Additionally, you’ll be able to run iMovie, Final Cut Pro, etc.

If you really need to drive a monitor with the IGPU, then you can use platform ID 0x3E9B0007 and set your connectors correctly. But in this case iMovie will immediately crash. Final Cut Pro and some other A/V apps will also crash.
so sry, I did not make my intension clearly. Currently my vega 56 having some fan issues, so I would like to use IGPU to drive monitor for a while until new AMD GPU come out.
but the weird thing is,
  • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID = 0x3E9B8086
  • Graphics --> Inject Intel --> Check this ON.
  • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID = 0x3E9B0007
above method make my IGPU work with black screen.
BUT patch to properties method is not working for me, not even a black screen.
Code:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device_type</key>
                <string>Display controller</string>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>hda-gfx</key>
                <string>onboard-2</string>
                <key>model</key>
                <string>UHD Graphics 630 (Desktop 9 Series)</string>
            </dict>
the code you provided is not works too
Code:
<key>Properties</key>
<dict>
    <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
    <dict>
        <key>AAPL,ig-platform-id</key>
        <data>BwCbPg==</data>
        <key>device-id</key>
        <data>mz4AAA==</data>
        <key>framebuffer-patch-enable</key>
        <data>AQAAAA==</data>
    </dict>
</dict>
for my understanding,
the properties patch and patch through clover GUI will make no differences? I dont know whats going on,
maybe you know why ?
thank you as always:)
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
3,194
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
so sry, I did not make my intension clearly. Currently my vega 56 having some fan issues, so I would like to use IGPU to drive monitor for a while until new AMD GPU come out.
but the weird thing is,
  • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID = 0x3E9B8086
  • Graphics --> Inject Intel --> Check this ON.
  • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID = 0x3E9B0007
above method make my IGPU work with black screen.
BUT patch to properties method is not working for me, not even a black screen.
Code:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device_type</key>
                <string>Display controller</string>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>hda-gfx</key>
                <string>onboard-2</string>
                <key>model</key>
                <string>UHD Graphics 630 (Desktop 9 Series)</string>
            </dict>
the code you provided is not works too
Code:
<key>Properties</key>
<dict>
    <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
    <dict>
        <key>AAPL,ig-platform-id</key>
        <data>BwCbPg==</data>
        <key>device-id</key>
        <data>mz4AAA==</data>
        <key>framebuffer-patch-enable</key>
        <data>AQAAAA==</data>
    </dict>
</dict>
for my understanding,
the properties patch and patch through clover GUI will make no differences? I dont know whats going on,
maybe you know why ?
thank you as always:)
You should use the settings from Option 2 in Post 652. Those are already the correct settings.
 
Joined
May 24, 2019
Messages
4
Motherboard
ASUS z390 Hero
CPU
9900k
Graphics
Vega 56
You should use the settings from Option 2 in Post 652. Those are already the correct settings.
I do have output but graphic glitch on all icons :( anything that I can do to get it display well? I did enable -disablegfxfirmware
Code:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
                <key>hda-gfx</key>
                <string>onboard-2</string>
                <key>model</key>
                <string>UHD Graphics 630 (Mobile)</string>
            </dict>
        </dict>
current setting with BIOS 19.1
 
Last edited:
Joined
May 27, 2019
Messages
11
Motherboard
GA-Z390
CPU
i7 9700k
Graphics
RX-580
Mac
MacBook Pro
Mobile Phone
Android
Hi I had read a lot of post of this EXCELLENT THREAD! good explanation!
Can't config AOURUS RX 580 Gaming 8GB to use the HDMI output and DVI-D simultaneously.
any help?. I disable the onboard graphic. Its seems all ask to config on board graphic or the download.
This config in the hackintool its related? or I understand its only for onboard graphic?
 

Attachments

Last edited:

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
3,194
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Hi I had read a lot of post of this EXCELLENT THREAD! good explanation!
Can't config AOURUS RX 580 Gaming 8GB to use the HDMI output and DVI-D simultaneously.
any help?. I disable the onboard graphic. Its seems all ask to config on board graphic or the download.
This config in the hackintool its related? or I understand its only for onboard graphic?
This guide is for patching the iGPU. To patch the AMD RX 580, however, the process is a lot more complicated. Please have a look here:

In most cases, however, you should not need to make any changes. MacOS 10.14.5 along with latest versions of Clover, Lilu, and WhateverGreen should be able to make full use of your AMD GPU.
 
Top