Contribute
Register

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

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".
Sorry. I thought, that "primary" is the one, which has property "AAPL,boot-display"
By the way. My hack boots with only HDMI TV working and there is distorted screen for a while, then it turns black and then it works as usual. If hack goes into sleep mode, then after wake both HDMI and DVI are working.
 

Attachments

  • Снимок экрана 2019-03-26 в 19.36.38.png
    Снимок экрана 2019-03-26 в 19.36.38.png
    172.3 KB · Views: 83
Sorry. I thought, that "primary" is the one, which has property "AAPL,boot-display"
I haven't paid much attention to that parameter. That might be based on either the Multi-Monitor Display Setting or a BIOS setting. On Gigabyte motherboards, for example, we have:
  • Initial Display Output
This can be set to:
  • IGFX
  • PCIe Slot 1
  • PCIe Slot 2
  • PCIe Slot 3
 
I haven't paid much attention to that parameter. That might be based on either the Multi-Monitor Display Setting or a BIOS setting. On Gigabyte motherboards, for example, we have:
  • Initial Display Output
This can be set to:
  • IGFX
  • PCIe Slot 1
  • PCIe Slot 2
  • PCIe Slot 3
As I said, there's a quite strange situation, when my hack boots and what happens after awaking (on fresh boot with both connectors plugged DVI is black, HDMI TV working and there is distorted screen for a while, then it turns black and then it works as usual. If hack goes into sleep mode, then after wake both HDMI and DVI are both working.)
 

Attachments

  • AwakeFromSleep.ioreg
    11.6 MB · Views: 67
  • BootWithHDMIOnly.ioreg
    11.6 MB · Views: 73
  • Logs.zip
    11.1 KB · Views: 68
  • config.plist
    8.9 KB · Views: 61
Last edited:
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.

Thanks @CaseySJ! I added DVMT-Prealloc and now my HDMI and VGA ports stop working on boot, like Preflight Checklist says in post #1. Now I need external GPU, but I don't have any eGPU... Do I have to try some of compilation patches from post #1 or what? I tested Gigabyte H310M (only HDMI and VGA, like my Mobo) and result is same. I attached my config file with DVMT-Prealloc.
 

Attachments

  • config.plist
    14.7 KB · Views: 73
Last edited:
Thanks @CaseySJ! I added DVMT-Prealloc and now my HDMI and VGA ports stop working on boot, like Preflight Checklist says in post #1. Now I need external GPU, but I don't have any eGPU... Do I have to try some of compilation patches from post #1 or what? I tested Gigabyte H310M (only HDMI and VGA, like my Mobo) and result is same. I attached my config file with DVMT-Prealloc.
Please try the attached config.plist (rename the file) by copying it to the EFI partition of your Mojave SSD. You should, of course, backup the current config.plist.

This version only enables DP/VGA ports on your motherboard. So please try connecting VGA port only. The BusIDs for Indexes 1, 2, and 3 may need to be modified, so there's no guarantee this will work.

Also run IORegistryExplorer and select File --> Save As... and upload the saved IOReg file.
 

Attachments

  • config-Janja-3.plist
    15.7 KB · Views: 85
Please try the attached config.plist (rename the file) by copying it to the EFI partition of your Mojave SSD. You should, of course, backup the current config.plist.

This version only enables DP/VGA ports on your motherboard. So please try connecting VGA port only. The BusIDs for Indexes 1, 2, and 3 may need to be modified, so there's no guarantee this will work.

Also run IORegistryExplorer and select File --> Save As... and upload the saved IOReg file.

This config file doesn't work. IOReg file is attached (I made IOReg file with boot Mac OS with install USB and default config file).
 

Attachments

  • Janja_iMac.ioreg
    6.6 MB · Views: 63
This config file doesn't work. IOReg file is attached (I made IOReg file with boot Mac OS with install USB and default config file).
I'm afraid my batting average on this motherboard is low and getting lower! :) It seems to defy all known conventions! At this point your judgment is better than mine on how to proceed. Please experiment with various settings; search this site and others for possible hints.

Also have a look at the posts earlier in this thread by @Pulento, who also faced a very unusual situation:
 
I'm afraid my batting average on this motherboard is low and getting lower! :) It seems to defy all known conventions! At this point your judgment is better than mine on how to proceed. Please experiment with various settings; search this site and others for possible hints.

Also have a look at the posts earlier in this thread by @Pulento, who also faced a very unusual situation:

Thanks @CaseySJ!!! I used Spoiler: Pre-Built Hewlett Packard HP Pavilion 590-p0066 and Coffee Lake CPU from post #1 with my DVMT-Prealloc settings and it's working now with pink color layer on HDMI port! :D

Now I will have to find solution for pink layer over my monitor. I think I saw that some of users have had same problem...

Update: I make new config file with Hackintool, same result. I attached file. No flags and index in new file. No busid for con0. No con3.
 

Attachments

  • config.plist
    17.2 KB · Views: 85
  • Screen Shot 2019-03-29 at 1.46.28 PM.png
    Screen Shot 2019-03-29 at 1.46.28 PM.png
    74.2 KB · Views: 126
  • Screen Shot 2019-03-29 at 1.46.42 PM.png
    Screen Shot 2019-03-29 at 1.46.42 PM.png
    83.4 KB · Views: 116
  • Screen Shot 2019-03-29 at 1.54.42 PM.png
    Screen Shot 2019-03-29 at 1.54.42 PM.png
    90.9 KB · Views: 117
  • Screen Shot 2019-03-29 at 1.46.53 PM.png
    Screen Shot 2019-03-29 at 1.46.53 PM.png
    76.1 KB · Views: 113
  • Screen Shot 2019-03-29 at 2.15.34 PM.png
    Screen Shot 2019-03-29 at 2.15.34 PM.png
    73.9 KB · Views: 127
  • config_hackintool.plist
    15.5 KB · Views: 101
Last edited:
Thanks @CaseySJ!!! I used Spoiler: Pre-Built Hewlett Packard HP Pavilion 590-p0066 and Coffee Lake CPU from post #1 with my DVMT-Prealloc settings and it's working now with pink color layer on HDMI port! :D

Now I will have to find solution for pink layer over my monitor. I think I saw that some of users have had same problem...

Update: I make new config file with Hackintool, same result. I attached file. No flags and index in new file. No busid for con0. No con3.
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).
 
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.

Hello Casey,

First of all thanks for all the help!
Secondly, I've been trying to make the Intel i5-9600K UHD-9600K iGPU work, but every combination I tried simply doesn't work. Sometime of these combinations don't work at all, some do, I see in -v mode that the iGPU gets detected, but gets stuck there. You're basically my last resort. I've been on this thing for 3 weeks now.

I noticed that If I have no platform ID, intel ID set, -disablegfxfirmware, InjectIntel enabled, it still detects the iGPU(and freeze, of course).

Enabling Intel graphics as primary in BIOS doesn't help either. I use Nvidia RTX 2070 as the output now.

I'll attach my EFI, a screenshot of the /L/E folder, and some phone shots I took when it freezes, and the log Clover Configurator generates.

Thanks and I hope you can help me.


1553889208421.png
 

Attachments

  • IMG_20190329_202439.jpg
    IMG_20190329_202439.jpg
    3.5 MB · Views: 67
  • IMG_20190329_202443.jpg
    IMG_20190329_202443.jpg
    3 MB · Views: 88
  • IMG_20190329_202518.jpg
    IMG_20190329_202518.jpg
    5.6 MB · Views: 76
  • IMG_20190329_202748.jpg
    IMG_20190329_202748.jpg
    5.6 MB · Views: 90
  • 1553889467330.png
    1553889467330.png
    86.3 KB · Views: 84
  • 1553889576143.png
    1553889576143.png
    51.9 KB · Views: 99
Back
Top