Contribute
Register

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

Catalina has built-in support for Vega 56 so it should not be necessary to select a frame buffer in Clover. Are you using Lilu and WhateverGreen?

The /EFI/CLOVER/ACPI/Patched folder exists in the EFI partition of your Catalina SSD. First you have to mount the EFI partition. This can be done from Clover Configurator --> Mount EFI as shown:

View attachment 433028


Thanks for the explanation. Currently I am using Lilu and not WhateverGreen. The reason being, I had a black screen during installation of Catalina and deleting WhateverGreen fixed the problem. So I only have Lilu. But should I add WhateverGreen back in there?

And I think I must have deleted the ACPI folder during installation.

Thank you so much for your kind response!
 
Thanks for the explanation. Currently I am using Lilu and not WhateverGreen. The reason being, I had a black screen during installation of Catalina and deleting WhateverGreen fixed the problem. So I only have Lilu. But should I add WhateverGreen back in there?

And I think I must have deleted the ACPI folder during installation.

Thank you so much for your kind response!
  • If you are connecting your monitor to the Vega 56 with an HDMI cable, it is possible to get a black screen if the "AGDP Patch" is applied in the Kernel and Kext Patches section of Clover Configurator. Removing this patch should enable the HDMI port.
    • Alternatively, you can use DisplayPort.
  • Should you reinstall WhateverGreen?
    • Generally speaking, yes.
  • Were you able to mount the EFI partition of your Catalina SSD?
    • If so, is the CLOVER/ACPI/patch folder empty?
 
  • If you are connecting your monitor to the Vega 56 with an HDMI cable, it is possible to get a black screen if the "AGDP Patch" is applied in the Kernel and Kext Patchessection of Clover Configurator. Removing this patch should enable the HDMI port.
    • Alternatively, you can use DisplayPort.
  • Should you reinstall WhateverGreen?
    • Generally speaking, yes.
  • Were you able to mount the EFI partition of your Catalina SSD?
    • If so, is the CLOVER/ACPI/patch folder empty?

- Okay thanks, my main connection to monitor is DP.
- I did reinstalled WhateverGreen back in the kext folder.
- Yes I am able to mount the EFI partition. I think during my installation I was doing COPY & PASTE of the EFI folders and may accidentally not copying all the folders. I have made those folders back in there now.
 
Hey guys I am on Catalina and I have Radeon Vega 56 trying to designate my FB name in clover as Iriri or Kamarang but it is not showing. I downloaded SSDT-Inject FB Name For Vega 56 to add them in /EFI/Clover/ACPI/Patched, but I don't have these folder.


@mangoicetea,

There is no need to inject a specific AMD framebuffer name when using WhatEverGreen (WEG) ...
WEG will read the port data from the Vega's VBIOS and create/inject a Framebuffer called "ATY,AMD,RadeonFramebuffer"
This approach allows WEG to support all Vega GPU's including OEM models that differ from the reference design.

There is no performance or feature loss by just letting WEG do its thing.

As @CaseySJ wrote above the black screen issue is most likely due to bad/redundant configuration data.

Cheers
Jay
 
Last edited:
(RU)Hello. I'm trying to get to work HDMI output on Kaby Lake UHD630 (Mojave) on Mono-block PC. after Framebuffer patching I'm still not getting output, and Logs have LSPCON Initialization fails (by WEG). Googling brings me Nothing. Help, Please.
 

Attachments

  • config.plist
    10.2 KB · Views: 75
(RU)Hello. I'm trying to get to work HDMI output on Kaby Lake UHD630 (Mojave) on Mono-block PC. after Framebuffer patching I'm still not getting output, and Logs have LSPCON Initialization fails (by WEG). Googling brings me Nothing. Help, Please.
As per rules, please update your hardware profile to allow others to help you easier
 
(RU)Hello. I'm trying to get to work HDMI output on Kaby Lake UHD630 (Mojave) on Mono-block PC. after Framebuffer patching I'm still not getting output, and Logs have LSPCON Initialization fails (by WEG)


@Hex0S,

You have a Coffee Lake CPU (i7-8700T) not Kaby Lake as you state in your post.

You have errors in the device properties section of your config.plist :-

Code:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AACbPg==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <integer>1</integer>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
            </dict>
            <key>PciRoot(0x0)/Pci(0x1f,0x3)</key>
            <dict>
                <key>AAPL,slot-name</key>
                <string>Internal@0,31,3</string>
                <key>device_type</key>
                <string>Audio device</string>
                <key>hda-gfx</key>
                <string>onboard-1</string>
                <key>layout-id</key>
                <data>
                AAAAAA==
                </data>
                <key>model</key>
                <string>Cannon Lake PCH cAVS</string>
            </dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                CQClPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal@0,2,0</string>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>hda-gfx</key>
                <string>onboard-1</string>
                <key>model</key>
                <string>Intel UHD Graphics 630 (Desktop)</string>
            </dict>
        </dict>


You are injecting two sets of IGPU properties at the following PCIe paths :-
  • PciRoot(0x0)/Pci(0x2,0x0)
  • PciRoot(0)/Pci(0x02,0)
Although the two PCI paths are defined differently they equate to the same, this will confuse WEG as there is no way to know which one it will be using. Recommend you remove the key PciRoot(0)/Pci(0x02,0) and all device properties below it as its quite likely to be over-riding the properties at key PciRoot(0x0)/Pci(0x2,0x0) which could be the source of your issue.

I suspect that you manually added the first set of IGPU properties PciRoot(0)/Pci(0x02,0) and then used Hackintool to generate patch code for the second set ... as the first set is incorrectly define (hex numbers must start with "0x") hackintool did not remove the old (incorrect) properties.

Cheers
Jay
 
Last edited:
@Hex0S,

You have a Coffee Lake CPU (i7-8700T) not Kaby Lake as you state in your post.

You have errors in the device properties section of your config.plist :-

Code:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AACbPg==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <integer>1</integer>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
            </dict>
            <key>PciRoot(0x0)/Pci(0x1f,0x3)</key>
            <dict>
                <key>AAPL,slot-name</key>
                <string>Internal@0,31,3</string>
                <key>device_type</key>
                <string>Audio device</string>
                <key>hda-gfx</key>
                <string>onboard-1</string>
                <key>layout-id</key>
                <data>
                AAAAAA==
                </data>
                <key>model</key>
                <string>Cannon Lake PCH cAVS</string>
            </dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                CQClPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal@0,2,0</string>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>hda-gfx</key>
                <string>onboard-1</string>
                <key>model</key>
                <string>Intel UHD Graphics 630 (Desktop)</string>
            </dict>
        </dict>


You are injecting two sets of IGPU properties at the following PCIe paths :-
  • PciRoot(0x0)/Pci(0x2,0x0)
  • PciRoot(0)/Pci(0x02,0)
Although the two PCI paths are defined differently they equate to the same, this will confuse WEG as there is no way to know which one it will be using. Recommend you remove the key PciRoot(0)/Pci(0x02,0) and all device properties below it as its quite likely to be over-riding the properties at key PciRoot(0x0)/Pci(0x2,0x0) which could be the source of your issue.

I suspect that you manually added the first set of IGPU properties PciRoot(0)/Pci(0x02,0) and then used Hackintool to generate patch code for the second set ... as the first set is incorrectly define (hex numbers must start with "0x") hackintool did not remove the old (incorrect) properties.

Cheers
Jay
Thank you for answer. I correct Clover config and play with it. I fix some issues with USB3.0, rebooting, shutdown & etc. but I still cannot get output on HDMI. here is log (FBHDMICON) and updated CLOVER.
 

Attachments

  • FBHDMICON.zip
    26.6 KB · Views: 65
  • CLOVER.zip
    9.5 MB · Views: 71
Back
Top