Contribute
Register

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

@CaseySJ - Hi, thank you for this guide. I've been able to get the Intel UHD 630 Graphics on my i5-9600K CPU working with acceleration, thanks to your help. I used the patch for the "ASUS Prime H370-Plus and Coffee Lake CPU" in your original post (I think you've read my post detailing this on the ASUS ROG STRIX Z390-I thread).

It's getting late here in the UK, so I'm going to see if if this still works when I upgrade to Mojave tomorrow (it should be problem free, I hope).
Congratulations! And I've updated that patch spoiler to include the name of your motherboard.

Because you have accelerated graphics, when you get back on the system (tomorrow or whenever) can you please confirm the port/bus connectors very quickly as follows:
  • Run Intel FB-Patcher. From top "Framebuffer" menu bar, choose "MacOS 10.14".
  • Click the Connectors page. Select "0x3E9B0007" for Platform ID.
    Screen Shot 2019-01-13 at 1.12.01 PM.png
  • Which row lights up with HDMI?
  • Which row lights up with DisplayPort?

Thank you. This will help to further polish the Guide.
 
I installed FakePCIID and FakePCIID_Intel_HD_Graphics on /L/E and EFI/CLOVER/KEXTS/OTHER

No, UHD630 do not need it, only for my HD630.

Still appearing UHD 630 7 MB

If you use my sample config, FB kext will load, result should be either stuck at gIOConsoleUser 3 then KP, or normal login with QE/CI.
Png show /L/E folder is clean, your EFI folder work for me, I worry about issue may related to IGFX VBIOS, seems to be many CFL mobos have this issue.

For your reference, some CFL patches fix gIOConsoleUser 3 KP issue, but for laptop.

https://www.tonymacx86.com/threads/...ve-kernel-panic-due-to-divide-by-zero.261687/
 
No, UHD630 do not need it, only for my HD630.



If you use my sample config, FB kext will load, result should be either stuck at gIOConsoleUser 3 then KP, or normal login with QE/CI.
Png show /L/E folder is clean, your EFI folder work for me, I worry about issue may related to IGFX VBIOS, seems to be many CFL mobos have this issue.

For your reference, some CFL patches fix gIOConsoleUser 3 KP issue, but for laptop.

https://www.tonymacx86.com/threads/...ve-kernel-panic-due-to-divide-by-zero.261687/
You think if I buy the Sapphire Pulse Radeon RX 560 2GD5 2GB OC GDDR5 will work fine? I tried the CFL patch but the same issue, black screen.
 
Last edited:
Ok. I was trying to interpret Headkaze's BusID description in the image below.
The paragraph that begins with "However, .." describes BusID 0x02 for all generations of Intel HD Graphics and the laptop implementation chosen for OS X/macOS. There is no macOS consideration for VGA meaning Linux/GNBUS_PIN_VGADCC does not exist
t means there's a separate converter that's converting DP output from Intel HD graphics into a VGA output to drive the VGA connector?
See Skylake's iGPU: Intel Gen9 - The Intel 6th Gen Skylake Review: Core i7-6700K and i5-6600K Tested/Display Architecture Roadmap
 
The paragraph that begins with "However, .." describes BusID 0x02 for all generations of Intel HD Graphics and the laptop implementation chosen for OS X/macOS. There is no macOS consideration for VGA meaning Linux/GNBUS_PIN_VGADCC does not exist
Understood; the wording is so very tricky for those not skilled in the art!
 
Anyone with triple screen enabled on HD530 with FrameBuffer.
I had it working once, fully accelerated, rebooted to a black screen, was pretty disapointing
 
@CaseySJ Thank you for the guide and thank you a ton to whoever provided config for ASUS Prime Z390-A.
Just want to provide a clarification on that config since there is a bit of confusion in it. I just copied provided plist part to my config and got both DP and HDMI(MB only has 2 ports) to work on my ASUS Prime Z390-A and i9-9900K on Mojave 10.14.2.

This is what Intel FB-Patcher shows with both monitors connected
img-2019-01-14-15-44-09.png


as you can see Row 1 is responsible for the HDMI port and works with BusID 0x02. So i guess ASUS motherboards use BusID 0x01 and 0x02 for their ports. I have tried BusID 0x04 0x05 0x06 but without changing indexes and none of them worked.
 
@ZoooM @poles

Thank you guys for being awesome! The information above and in this post is very helpful. I am trying to determine if Indexes matter. For this reason, please try the following revised version in the "spoiler" below. As you can see from the screenshot, the Indexes have been changed to 1,2,3 and Row 2 has been set to DVI-D.

@ZoooM : Does this work for HDMI and DP?
@poles : Does this work for HDMI and DVI-D?
Revised ASUS.png

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>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>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </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>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                BAAAAA==
                </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>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>


And one more:
Second Revision for ASUS.png

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>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>

Edit: Fixed @ZoooM's user ID.
 
Last edited:
@CaseySJ,

1.
revised-asus-png.379163


Result: Both HDMI & DVI-D is not working on Asus Prime H370-Plus . Tried with SMBIOS iMac18,1 & Macmini8,1


2.
second-revision-for-asus-png.379164

Result: Its giving me pink screen on both HDMI & DVI-D. Though its showing 1536 MB graphics but its lagging.
 
@CaseySJ,

1.
revised-asus-png.379163


Result: Both HDMI & DVI-D is not working on Asus Prime H370-Plus . Tried with SMBIOS iMac18,1 & Macmini8,1


2.
second-revision-for-asus-png.379164

Result: Its giving me pink screen on both HDMI & DVI-D. Though its showing 1536 MB graphics but its lagging.
Regarding pink screen problem in Case 2, does changing Type field in Row 2 to HDMI fix the problem?

This can be done by modifying the data value of framebuffer-con1-type to:

AAgAAA==
 
Back
Top