Contribute
Register

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

@CaseySJ

Hi, I tried many times without success and need to ask for help.

My Asus Z97 Deluxe with 4790K works well with 2560x1440 using mini DP. No sleep issue at all.

Recently I change the LCD monitor to Asus VG289G 4K and it has two problems:
1. After sleep, it can't wake up and the screen power LED is off.
2. During normal status, if I switch off the Asus monitor and switch it on manually, the display signal is not detected and the monitor is still sleeping.

I am using iGPI. I used mini DP to old monitor. And I am using normal DP to new monitor as I do not have mini DP cable.

I have to patch Framebuffer in order to get 4K activated. Without this, I get only 2560 x 1440.

The LCD is shown with 3840 x 2160, while it also shows as 2560 x 1440.

PS: Following OC doc to patch framebuffer, 4K is not enabled. The following settings work with 3840 x 2160/60Hz.
Hello @eos1d3,

This is not an HDMI enablement issue, but a wake-from-sleep issue on DisplayPort with a 4K monitor. Technically it's off topic, but let me at least suggest trying some AGDP patches for wake-from-sleep issues. They may or may not work, but are worth a try.
Screen Shot 2021-03-22 at 9.06.04 AM.png
Another option is to use SwitchResX (trial version available) and specify the scaled resolution (4K, but "looks like 2560x1440"). This may (or may not) help with the second issue (switching the Asus 4K monitor on and off during normal operation).
 
I believed HDMI and DP black screen are same issue though. 4K has been working with my patch above, but not the black screen issue. I am using Opencore so the AGDP patch can't be used. Anyway, thank again!
 
I believed HDMI and DP black screen are same issue though. 4K has been working with my patch above, but not the black screen issue. I am using Opencore so the AGDP patch can't be used. Anyway, thank again!
We can translate the patch to OpenCore as follows:
  • Identifier: com.apple.driver.AppleGraphicsDevicePolicy
  • Comment: Black Screen Patch Vega 56/64, RX580 etc. (c)Pike R. Alpha
  • Find: 626F6172 642D6964
  • Replace: 626F6172 642D6978
  • Enabled: Check on
Screenshot is of OpenCore Configurator:
Screen Shot 2021-03-22 at 10.50.09 AM.png
 
Thanks for your great help as always!
 
Hi, this guide is a great help. The export as boot loader config will work in opencore right? Also, I’m unable to change the bus ID in hackintool. Tried double clicking or hitting tab from the index entry. Thoughts? Should I try an older version of hackintool?
 
Hi, this guide is a great help. The export as boot loader config will work in opencore right? Also, I’m unable to change the bus ID in hackintool. Tried double clicking or hitting tab from the index entry. Thoughts? Should I try an older version of hackintool?
The option to Export to Bootloader Plist works only with Clover. With OpenCore we can first create a DeviceProperties entry for the iGPU (OpenCore Configurator allows us to do this easily) then edit the config.plist with a suitable text editor such as BBEdit (free trial version can be downloaded from their website -- BareBones Software). We can then copy the framebuffer patch segment from Hackintool and paste it into the right spot in the OpenCore config.plist.

To change BusID in Hackintool, simply double-click on it.
 
The option to Export to Bootloader Plist works only with Clover. With OpenCore we can first create a DeviceProperties entry for the iGPU (OpenCore Configurator allows us to do this easily) then edit the config.plist with a suitable text editor such as BBEdit (free trial version can be downloaded from their website -- BareBones Software). We can then copy the framebuffer patch segment from Hackintool and paste it into the right spot in the OpenCore config.plist.

To change BusID in Hackintool, simply double-click on it.
I've tried double clicking, it simply won't work! I'm baffled as to what could be the reason. I tried unlocking on the bottom left as well. Any thoughts?
Also when I used the export to bootloader config then checked in opencore configurator, it seemed aligned all correctly! The only issue now is the inability to edit the bus ID for some reason.

Opencore will read base64 or hex?
 
Hi @CaseySJ
I am looking graphics patch for i9-10980HK Code Name Comet Lake
In Hackintool I don’t see this CPU.please help.

Can you check this config Graphics and CPU data
AAPL,ig-platform-id
device-id


Thanks.

Mini PC

 

Attachments

  • config.plist
    33 KB · Views: 65
Last edited:
Hi @CaseySJ
I am looking graphics patch for i9-10980HK Code Name Comet Lake
In Hackintool I don’t see this CPU.please help.

Can you check this config Graphics and CPU data
AAPL,ig-platform-id
device-id


Thanks.

Mini PC

Hello @nmano,

Long time no see!

Comet Lake desktop platform IDs are:
  • Headless 0x9BC80003
  • Non-headless 0x3E9B0007
  • Big Sur supports Comet Lake iGPU device ID natively, so it's not necessary to specify device-id
    • I believe latest version of Catalina also supports this
    • However, if you need to specify device-id, it should be 0xC89B0000
 
I've tried double clicking, it simply won't work! I'm baffled as to what could be the reason. I tried unlocking on the bottom left as well. Any thoughts?
Also when I used the export to bootloader config then checked in opencore configurator, it seemed aligned all correctly! The only issue now is the inability to edit the bus ID for some reason.

Opencore will read base64 or hex?
solved by double clicking and slightly dragging to the right, as if I'm highlighting. Oddly it doesn't work for me with a plain double click.
I did then go through all the possible bus IDs and get both outputs from the board set! Thanks for the guide! :headbang:
Solved the iGPU issue by patiently going through the steps here. Now something about that odd issue where audio only works when both outputs are plugged in...
 
Back
Top