Contribute
Register

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

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
10,941
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
MacBook Air, MacBook Pro, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
@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.
 
Joined
Oct 26, 2013
Messages
1,021
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
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/
 
Joined
Jan 23, 2016
Messages
77
Motherboard
Gigabyte GA-Z170X Designare
CPU
i7-6700K
Graphics
RX 570
Mac
MacBook Pro
Mobile Phone
Android, iOS
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:

toleda

Moderator
Joined
May 20, 2010
Messages
24,260
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
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
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
10,941
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
MacBook Air, MacBook Pro, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
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!
 
Joined
Feb 18, 2011
Messages
53
Motherboard
Asrock B85M-ITX
CPU
i5-4670K
Graphics
HD4600
Mac
MacBook Pro
Classic Mac
LC
Mobile Phone
iOS
Anyone with triple screen enabled on HD530 with FrameBuffer.
I had it working once, fully accelerated, rebooted to a black screen, was pretty disapointing
 
Joined
Oct 29, 2014
Messages
2
Motherboard
ASUS Prime Z390-a
CPU
i9-9900K
Graphics
GTX 980
@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.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
10,941
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
MacBook Air, MacBook Pro, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
@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:
Joined
Dec 26, 2015
Messages
274
Motherboard
GA-Z97X-UD3H
CPU
i5-4690
Graphics
GTX 1050 Ti
Mobile Phone
Android
@CaseySJ,

1.


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


2.

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

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
10,941
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
MacBook Air, MacBook Pro, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
@CaseySJ,

1.


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


2.

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==
 
Top