Contribute
Register

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

...
Also Sometimes when I play with some settings my asrock boot screen turns bigger, but stays like that even when I revert these settings. Does nvram somehow gets "locked".?

I did a lot of research but there are not many people with the same hardware and the ones I found have already give up trying to get sleep wake working.

Exept one guy that said disabling the other connectors fixed the issue for him. That's why I wanted to try...
...
There's certainly no harm in disabling unused connectors. You should try that. Also feel free to post your config.plist with serial numbers redacted from SMBIOS. There might be some power management checkboxes or ACPI flags (such as Fix HPET, Fix IPIC, etc.) that may help.
 
sorry to bother you, I have read all the answers, but didn't find about moutherboad MSI B360 MORTAR.I only have DVI dispaly,can you give me some advices?B360 have DVI,HDMI and DP。
If your monitor only supports DVI, you might have a more difficult time. We really recommend current-generation monitors with DP 1.2+ and HDMI 1.4+ support.

Nevertheless, you should follow the Procedure in the Guide.

Connect the DVI-D cable to computer and to monitor. Start by setting the Connector Type to HDMI because MacOS considers DVI-D to be a form of HDMI. (And VGA is considered to be a form of DisplayPort.)

You will have to try several experiments. Perhaps like this:

Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x04, Type HDMI
Index 3, BusID 0x06, Type HDMI

Apply patches, reboot, see which row lights up in red. If you get black screen, then try next experiment below.

Index 1, BusID 0x02, Type HDMI
Index 2, BusID 0x04, Type HDMI
Index 3, BusID 0x06, Type HDMI

If nothing works, feel free to ask for help. But when you do, please provide this information:
  • Which version of macOS is running? 10.14.4?
  • What is the make/model of your monitor?
  • Post your config.plist, but remove serial numbers from SMBIOS section.
  • Run IORegistryExplorer, select File --> Save As... and upload the IOReg file.
 
If your monitor only supports DVI, you might have a more difficult time. We really recommend current-generation monitors with DP 1.2+ and HDMI 1.4+ support.

Nevertheless, you should follow the Procedure in the Guide.

Connect the DVI-D cable to computer and to monitor. Start by setting the Connector Type to HDMI because MacOS considers DVI-D to be a form of HDMI. (And VGA is considered to be a form of DisplayPort.)

You will have to try several experiments. Perhaps like this:

Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x04, Type HDMI
Index 3, BusID 0x06, Type HDMI

Apply patches, reboot, see which row lights up in red. If you get black screen, then try next experiment below.

Index 1, BusID 0x02, Type HDMI
Index 2, BusID 0x04, Type HDMI
Index 3, BusID 0x06, Type HDMI

If nothing works, feel free to ask for help. But when you do, please provide this information:
  • Which version of macOS is running? 10.14.4?
  • What is the make/model of your monitor?
  • Post your config.plist, but remove serial numbers from SMBIOS section.
  • Run IORegistryExplorer, select File --> Save As... and upload the IOReg file.
 
thanks for your idea,I'll try it later
 
Thanks for the helpful reply @CaseySJ!
So I just tested the H370 Aorus Gaming 3 WIFI, and got the following:

Index 1/port 5: not used. I set it to BusID 00, pipe 0 and type to dummy.
Index 2/port 6: physical DVI. BusID set to 02, type to HDMI of course. I first tried BusIDs 06 and 05, neither worked.
Index 3/port 7: physical HDMI. BusID set to 04, type to HDMI. That was the first BusID I tried as per @CaseySJ's note about Gigabyte boards' HDMI, so it worked right away!
For the 2 working ports I set pipe to 18.

Both ports work great, system starts up normal. HDMI gives me 2560X1440 on the Acer monitor, I had the Gateway plugged in to the DVI, and that got me a full 1920X1080 (highest res for that monitor) with no issues.

I had purple/green screen on HDMI at first, but that was because the first time I ran the patch, for some reason Hackintool didn't create the entire code, or the port types got reset back to DP and so it didn't generate port type code. Therefore when I restarted, the ports were still DP. So anyone having issues, remember to check the connectors tab before patching (as the guide explains), just in case things get reset. Once I redid the code things worked great!

@CaseySJ, here is the code generated by Hackintool, so you can add it to the boards configurations list. If something's missing or you need something else added/tested, let me know! :)

I didn't include the keys/values marked with a * in my config, as I didn't feel I needed them for things to work. I left them here for the sake of completeness and just in case.
Should I put them in? Or are they not needed if things are showing up fine in system info?

Patch code for Gigabyte H370 Aorus Gaming 3 WIFI FrameBuffer:

<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>AAPL,slot-name</key> *
<string>Internal</string> *
<key>device_type</key> *
<string>VGA compatible controller</string> *
<key>framebuffer-con0-busid</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-pipe</key>
<data>
EgAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-pipe</key>
<data>
EgAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
<key>model</key> *
<string>UHD Graphics 630 (Desktop)</string> *
</dict>
</dict>


Any comments? Did I miss something? Can I improve it somehow? :)

Also, when doing the patch I only checked Graphic device and Connectors, for now left everything else in both tabs unchecked. I didn't touch the connector flags section either.
 
Last edited:
Hello @CaseySJ , the current situation is this:
Monitor 1 (main) HP 24o
Out PC HDMI, direct cable HDMI to HDMI connected to the monitor in HDMI port:
Perfectly working

Monitor 2 (Samsung 2243WM)
Out port PC DVI direct cable DVI to DVI connected to the monitor in DVI port:
Black screen.

DP Cable not connected.

I noticed that if I use 18.3 instead of 17.1 the connectors index2 Bus id 04 and Index 3 Bus id 0x06 turn red, but monitor 1 creates strips and monitor 2 remains off.
While if I use 17,1 the monitor 1 works well but only one connector (index 2 0x04) turns red and monitor 2 is always off.

ps: the monitor 1 ram is correct (2048 MB)?
 

Attachments

  • Salvo’s iMac.ioreg
    8.1 MB · Views: 64
  • Schermata 2019-05-09 alle 13.30.26.png
    Schermata 2019-05-09 alle 13.30.26.png
    529.4 KB · Views: 58
Thanks for the helpful reply @CaseySJ!
So I just tested the H370 Aorus Gaming 3 WIFI, and got the following:

Index 1/port 5: not used. I set it to BusID 00, pipe 0 and type to dummy.
Index 2/port 6: physical DVI. BusID set to 02, type to HDMI of course. I first tried BusIDs 06 and 05, neither worked.
Index 3/port 7: physical HDMI. BusID set to 04, type to HDMI. That was the first BusID I tried as per @CaseySJ's note about Gigabyte boards' HDMI, so it worked right away!
For the 2 working ports I set pipe to 18.
Well done!!
...

@CaseySJ, here is the code generated by Hackintool, so you can add it to the boards configurations list. If something's missing or you need something else added/tested, let me know! :)
Awesome. I’ll add it to the Compilation and inform HeadKaze to incorporate it into the next Hackintool release.

I didn't include the keys/values marked with a * in my config, as I didn't feel I needed them for things to work. I left them here for the sake of completeness and just in case.
Should I put them in? Or are they not needed if things are showing up fine in system info?
Those are optional and informational (not functional).
...

Any comments? Did I miss something? Can I improve it somehow? :)
You have a good working configuration now so anything beyond this point is optional or dictated by future issues. If you plan to use 4K displays (retina mode) then you might consider HDMI20 and VRAM 2048K. But for now I would suggest leaving things as they are.
 
You have a good working configuration now so anything beyond this point is optional or dictated by future issues. If you plan to use 4K displays (retina mode) then you might consider HDMI20 and VRAM 2048K. But for now I would suggest leaving things as they are.

Thanks! Don't plan to use 4k with this machine, so we'll let it be for a few days, see how things work out. Now that I know what I'm doing, will get the other boards done and post those as well :)

Thanks for all your help!
 
Hello @CaseySJ , the current situation is this:
Monitor 1 (main) HP 24o
Out PC HDMI, direct cable HDMI to HDMI connected to the monitor in HDMI port:
Perfectly working

Monitor 2 (Samsung 2243WM)
Out port PC DVI direct cable DVI to DVI connected to the monitor in DVI port:
Black screen.

DP Cable not connected.

I noticed that if I use 18.3 instead of 17.1 the connectors index2 Bus id 04 and Index 3 Bus id 0x06 turn red, but monitor 1 creates strips and monitor 2 remains off.
While if I use 17,1 the monitor 1 works well but only one connector (index 2 0x04) turns red and monitor 2 is always off.

ps: the monitor 1 ram is correct (2048 MB)?
Some comments / suggestions:
  • When you use iMac18,3 and monitor 1 has stripes, do the stripes disappear if you reduce the resolution from System Preferences —> Displays?
  • Have you tried iMac18,1 or Macmini8,1? (Not iMac8,1)
    • If HDMI works on Index 2, BusID 0x04 then try DVI by setting the connector type to HDMI and use different BusIDs.
 
Last edited:
There's certainly no harm in disabling unused connectors. You should try that. Also feel free to post your config.plist with serial numbers redacted from SMBIOS. There might be some power management checkboxes or ACPI flags (such as Fix HPET, Fix IPIC, etc.) that may help.
I was trying to figure out some things before bothering again! I have learned that my alternatives configs plist was not working when I was choosing another one from clover bootloader menu. The settings only reverted back when I renamed back to config.plist. Also when I patched connectors using indexes to -1 value (the ones to disable) I was getting black screen. Now I think I sucede disabling by having the unwanted connectors to bus 0x00 and type zero. My HDMI connection is the only one now and working with bus 0x04. System loads faster now, but sleep still doesn't work!!
I have attached my config.plist if you could please have a look!!
Thanks a lot.
 

Attachments

  • config.plist
    8.9 KB · Views: 124
Back
Top