Contribute
Register

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

First of all, thank you for posting the full set of debug log files. According to "kextstat_all_log.txt" your system is not loading WhateverGreen. This means no graphics injection is taking place. So although your have modified the connector types on indices 1 and 2 to HDMI, those settings are not in effect. This is further validated from "generic_ioreg.txt", which shows that all three connectors under IGPU (AppleIntelFramebuffer@0, AppleIntelFramebuffer@1, and AppleIntelFramebuffer@2) are set to "connector-type" 0x0004 or DisplayPort. This is also why VGA is working, because it's attached to AppleIntelFramebuffer@0 and uses Type=DisplayPort.

To fix the problem of loading WhateverGreen, please do this:
  • Clover Configurator --> SMBIOS --> uncheck "Trust"
  • Clover Configurator --> System Parameters --> Inject Kexts --> "Detect"
Then follow JayMonkey's guide for installing third-party kexts. In particular, see Step 7. Install Lilu, WhateverGreen, and AppleALC into /Library/Extensions and run Kext Utility to rebuild the kernel cache.

Then reboot and check the DVI and HDMI ports. If the problem persists, please let us know.

Hey Casey,
Thanks for the reply. That was exactly the issue! I followed your instructions and now everything is working.

I am fairly new to this and was under the impression that kext's only had to be put in the Other folder. After moving them into the /L/E folder they are now loading. Interestingly the graphics is now at 2048MB. Previously it was around 1500MB so I thought graphics acceleration was taking place (It was initially only at 16MB after first install). Audio is now working too :)

These are the values I ended up using and all 3 ports are working on the motherboard.

Index 1 - Bus ID 5 - Port 5 - VGA Port
Index 2 - Bus ID 2 - Port 6 - DVI Port
Index 3 - Bus ID 4 - Port 7 - HDMI Port

Perhaps they could be added into Hackintool to help others out with a Gigabyte H370M D3H in the future?

Let me know if you'd like me to provide any further files to help out with this.

Thanks again for your help!

Cheers
Peter
 
For USB ports, try applying the 3 USB port limit patches for Mojave as listed here:

I've tested them myself and they work quite well.

Edit:
  • Your system has one 8GB DIMM. The second DIMM slot is empty.
  • Your UHD graphics ID is 0x3E92, which is natively recognized by macOS. There is no need to use IntelGFX = 0x12345678.
You should therefore use:
  • Platform ID 0x3E9B0007
  • Device-id 0x3E92
If you still have problem after the USB patch, please do this:
  • Compress and upload your CLOVER folder from EFI partition of Mojave SSD.
  • Upload screenshot of your /Library/Extensions folder.
Now I could boot with attached config.plist file, but no IntelGen, 0 MB on GPU Info, no red row connectors. I added some DSDT Patches, but I'm not sure are they proper for use.

Thanks for help!
 

Attachments

  • Screen Shot 2019-03-21 at 11.26.07 AM.png
    Screen Shot 2019-03-21 at 11.26.07 AM.png
    34.9 KB · Views: 73
  • Screen Shot 2019-03-25 at 2.44.23 PM.png
    Screen Shot 2019-03-25 at 2.44.23 PM.png
    62.1 KB · Views: 77
  • Screen Shot 2019-03-25 at 2.44.44 PM.png
    Screen Shot 2019-03-25 at 2.44.44 PM.png
    71.2 KB · Views: 64
  • CLOVER.zip
    3.9 MB · Views: 60
  • config.plist
    14.2 KB · Views: 68
Last edited:
Hey Casey,
Thanks for the reply. That was exactly the issue! I followed your instructions and now everything is working.

I am fairly new to this and was under the impression that kext's only had to be put in the Other folder. After moving them into the /L/E folder they are now loading. Interestingly the graphics is now at 2048MB. Previously it was around 1500MB so I thought graphics acceleration was taking place (It was initially only at 16MB after first install). Audio is now working too :)
Glad to hear it!

These are the values I ended up using and all 3 ports are working on the motherboard.

Index 1 - Bus ID 5 - Port 5 - VGA Port
Index 2 - Bus ID 2 - Port 6 - DVI Port
Index 3 - Bus ID 4 - Port 7 - HDMI Port

Perhaps they could be added into Hackintool to help others out with a Gigabyte H370M D3H in the future?
This is the second proven case of a working VGA port! Because of this, I'll remove the "anti-VGA" statements from the Guide and mention that VGA ports equate to Type DP.

Framebuffer connector settings for your motherboard will be added to the Compilation momentarily, and should be reflected in a future update to Hackintool.

Can you please confirm whether the following settings are correct:

Index 1 - Bus ID 5 - Port 5 - Type DP (physically a VGA Port)
Index 2 - Bus ID 2 - Port 6 - Type HDMI (physically a DVI Port)
Index 3 - Bus ID 4 - Port 7 - Type HDMI (physically HDMI as well)

Thanks!
 
Now I could boot with attached config.plist file, but no IntelGen, 0 MB on GPU Info, no red row connectors. I added some DSDT Patches, but I'm not sure are they proper for use.

Thanks for help!
You entered the device-id incorrectly in Clover Configurator --> Devices --> Properties. Instead of "0x3E920000" you must enter it in reverse-byte order as "0x923E0000".

I've made this and other changes in the attached file. Please give it a try.
 

Attachments

  • config-Janga-2.plist
    14.3 KB · Views: 68
Please try the attached config.plist.
  • Add a serial number to the SMBIOS section first.
  • Rename file to config.plist and try it.
Modifications made:
  • Added "-disablegfxfirmware" flag to boot arguments.
  • Replaced "-debug 0x100" with "debug 0x100".
  • Added "dart=0" to deal with VT-d issues.
  • Disabled the AGDP patches and the 10.13 USB port limit patch (because you're running 10.14).
These changes by themselves may not remedy the problem, but they should be done nevertheless in order to minimize distractions that could impact the final solution (i.e. start with a cleaner baseline).
Did everything you said.But only HDMI works after boot. DVI is still black. VGA doesn't work at all, that's why I've decided to turn this port off.

Parameter AAPL,boot-display set true for 0x06 port, what means, that TV is my primary display. I think, I need to fix it.
 

Attachments

  • Снимок экрана 2019-03-25 в 22.40.47.png
    Снимок экрана 2019-03-25 в 22.40.47.png
    102.2 KB · Views: 59
  • DimeVagg’s iMac HDMI only.ioreg
    11.5 MB · Views: 51
  • EFI.zip
    23.4 MB · Views: 69
Last edited:
Did everything you said.But only HDMI works after boot. DVI is still black. VGA doesn't work at all, that's why I've decided to turn this port off.

Parameter AAPL,boot-display set true for 0x06 port, what means, that TV is my primary display. I think, I need to fix it.
I believe one of the correct possibilities for your motherboard is:

Index 1 (Port 0x05): BusID 0x01, Type DP (physical port VGA)
Index 2 (Port 0x06): BusID 0x02, Type HDMI (physical port DVI)
Index 3 (Port 0x07): BusID 0x04, Type HDMI (physical port also HDMI)

Other settings:
  • SMBIOS iMac18,3 or Macmini8,1
  • ig-platform-id 0x3E9B0007
  • device-id 0x3E92 or 0x3E9B
Connecting your HDMI port to a TV can make this process more complicated. Please try connecting HDMI port to a HDMI computer monitor.
 
can make this process more complicated. Please try connecting HDMI port to a HDMI computer monitor.
I have no HDMI monitor available. What is the difference between HDMI monitor and TV, which works as monitor ?
Is there any options to set my DVI monitor to work as primary and TV as secondary screen ?
 
You entered the device-id incorrectly in Clover Configurator --> Devices --> Properties. Instead of "0x3E920000" you must enter it in reverse-byte order as "0x923E0000".

I've made this and other changes in the attached file. Please give it a try.

With this config file I've got same kernel panic like in this post of mine.
 
I have no HDMI monitor available. What is the difference between HDMI monitor and TV, which works as monitor ?
Is there any options to set my DVI monitor to work as primary and TV as secondary screen ?
I'm not sure what you mean by Primary and Secondary, but if you open the Displays panel from System Preferences, you can rearrange multiple monitors. If you look carefully, one of the monitors in this multi-monitor arrangement page will have a white bar along the top, which is the Menu Bar. You can drag just this white bar to another monitor. Whichever monitor contains the white bar is the "primary".
 
With this config file I've got same kernel panic like in this post of mine.
In order to activate your iGPU, you must specify the Device-ID to 0x3E9B or 0x3E92. There are 2 ways to do so:
  • Using CLOVER:
    • Add "0x3E928086" or "0x3E9B0007" to "IntelGFX" in Clover Configurator --> Devices.
    • Check on "Inject Intel" in Clover Configurator --> Graphics.
  • Using WhateverGreen and Lilu:
    • Remove the above 2 items.
    • Add "framebuffer-patch-enable", "AAPL,ig-platform-id", and "device-id" to Clover Configurator --> Devices --> Properties.
    • Set DVMT-Prealloc to 64MB or higher.
If both methods fail with macOS 10.14.3 (or 10.14.4) then your options become significantly limited and it may better to try using a discrete graphics card like AMD Radeon RX 570.
 
Back
Top