Contribute
Register

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

Is there any way you could borrow a more recent HDMI/DisplayPort monitor (not a TV, but a computer monitor)? It would be nice if the monitor also has DVI, then you can test both DVI and HDMI.
I had the wife of a friend on the phone this morning. I’m not sure if it is possible to borrow his monitor. But if it is, it will not be before the weekend.
 
I borrowed the HDMI cable again and tried different settings, but the TV is not recognised. (I always re-plugged it after restart, but that didn’t help either.)

For now, don't worry that DVI port is black -- that could be due to the monitor and EDID value.
How can I patch the EDID values? How does that work and what do I have to set?
 
I borrowed the HDMI cable again and tried different settings, but the TV is not recognised. (I always re-plugged it after restart, but that didn’t help either.)
As you can see, the connector configuration we're gravitating towards is the same one as the H370M D3H. The reason these settings worked for Peter is most likely because he's using a recent-model computer monitor. So that's why I still think it's best to wait until the weekend or next week until you have a chance to test such a monitor yourself.

How can I patch the EDID values? How does that work and what do I have to set?
We use Hackintool to patch EDID, but the more I think about it, the more I think EDID might not be the issue. EDIDs are typically (which is not to say exclusively) used for inserting high-DPI resolutions for scaled or "retina" displays on 2K or 4K monitors.
 
Last edited:
I’ve just switched screens and ports to see how I would fare with that. So the Philips is connected via VGA and the Dell via DVI.

That results in graphical glitches for the Philips (and the screen turning black for maybe two seconds every now and then, occasionally several times a minute). I barely had any glitches with the Dell on VGA.

But now being connected via DVI, the Dell disappeared. That is, not just turning black, but not visible at all in either the monitors panel of System Preferences, or in Hackintool – in contrast to the Philips when it was connected via DVI.

I was wondering whether that might give you any new clues (until I can hopefully test with a newer screen in a couple of days)?
 
Yes, but you should be aware of several factors:
  • eGPUs require Thunderbolt connections.
  • Using on-board HDMI to drive a TV can lead to color tint issues, boot-to-black issues, scaling issues, etc. Not all TVs play nicely. If you have a very recent Smart TV, for example, it might work better.
I tried connecting a 4K LG Smart TV from the on-board HDMI and it froze the system. The primary display, 24" 4K LG monitor is connected to Sapphire RX 580 using DisplayPort.

When I try connecting the TV using HDMI from the RX 580, TV is detected by macOS, but no signal is detected by the TV.

Any ideas what I did wrong?
 
Good progress! Some comments and suggestions:
  • The HDMI connector is on Port 0x06 or Index 2.
  • The other Indexes do not matter (Index 1 and Index 3). You can set the BusID to 0x00 for both of them, and the Type to DUMMY.
  • Because of the pink tint on Index 2, try changing the BusID.
    • Currently you have BusID 0x02.
    • What happens if you change it to 0x04? (You must set the Index 1 and Index 3 BusIDs to 0x00)
    • If pink tint still exists, try changing the BusID to 0x06.
  • Also make sure you're using a straight HDMI-to-HDMI cable (no adapters).

Hi!
I was a little bit busy last few days... When I choose 0x04 or 0x06 for Index 2 BusID, with Index 1 and Index 3 set BusID to 0x00, I got same result - pink display. But one strange thing happened - when I connect smaller monitor (Samsung 23") pink display is disappeared. My main monitor is LG 24M45 24".
 
As you can see, the connector configuration we're gravitating towards is the same one as the H370M D3H. The reason these settings worked for Peter is most likely because he's using a recent-model computer monitor. So that's why I still think it's best to wait until the weekend or next week until you have a chance to test such a monitor yourself.
True. The reason the settings didn’t work for me in the first place is probably the different Platform ID I initially used.

Hopefully I can borrow that monitor for testing. We’ll see.
 
In the “Displays” panel of System Preferences I clicked on “Gather Windows” so I could access the settings for the Philips. There I clicked on “Default for display” and all is fine now. Obviously the Philips 17S doesn’t work with the 75 Hertz that were set by default.

After working through the framebuffer patching, which was all new to me, I was in the “think complicated mode” as it seems. That wrong settings in the System Preferences could lead to the screen staying black simply didn’t come to my mind – until it suddenly did now.

Wow, I’m glad this works now!

By the way, I have managed to create the EDID patches. For the main monitor (Dell) I used this script (which only does it for the first screen) and for the Philips I did it manually according to this guide. Only strange thing is that the Dell isn’t recognised by the system at all if connected via DVI, while the Philips also works via VGA, but only with the glitches described earlier (even after EDID patching).

Anyhow, I again want to thank you for your patience and for your effort in sharing your knowledge here!

EDIT:
So for VGA and DVI I can confirm that Peter’s framebuffer patch for the Gigabyte H370M D3H is correct (though not for every screen, for whatever reason). But you might want to mention that it is also applicable to the Gigabyte H370M D3H GSM and you might want to add a variant with a different platform ID as I use it.

See post 460 for the exact settings. IIRC, I also tried it with “HDMI20 (4K)” and even “VRAM 2048 MB” checked and it didn’t make a difference.

EDIT 2:
And you might also want to mention in the guide or at the patch for this motherboard that this solution works on High Sierra too.
 
Last edited:
@mabam,

Well done! Peter's framebuffer connector patches were right all along, but often the problem lies with the monitor. Most current-generation monitors support DisplayPort 1.2/1.4 and HDMI 1.4/2.0. These monitors tend to have the highest out-of-box compatibility.
 
@CaseySJ,

The system is now able to enter sleep mode, which wasn’t possible before – though it takes very long. But it doesn't wake up from sleep, the screens stay black.

I realise that might be off topic, but I’m not sure as I don’t know whether it is related to the framebuffer.

Do you have suggestions as to what I can try or else, could you point me to a thread or forum or guide that could help me fix this?
 
Back
Top