Contribute
Register

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

Does anybody have Framebuffer config for i3 on Gigabyte h370 hd3? I attach my configuration, maybe you give me a hint. Thank you!
 

Attachments

  • EFI.zip
    5 MB · Views: 77
No, the picture looks good on both inputs as far as I can tell. Only glitch I’m having is on startup after the Apple logo just before I see the desktop. For a second or two the picture is distorted and on hdmi I get noise over the display speakers.
This glitch is actually normal. It happens when Mojave initializes the accelerated display driver. So if you don't see the glitch, then something is wrong!

On a different note: I was having trouble finding this configuration because the hdmi display was also recognized on index1 when patching the output accordingly. However, even though the display was recognized both by the system and hackintool I didn’t get a picture. It only worked after patching index3 to hdmi and leaving index1 as DP. It was a bit tricky since this motherboard only has hdmi and dvi
Good to know. This has happened to others and it can of course lead to confusion. Glad to see you were able to navigate out of that maze.
 
Does anybody have Framebuffer config for i3 on Gigabyte h370 hd3? I attach my configuration, maybe you give me a hint. Thank you!
As a starting point, please try either of the connector settings shown in red below:

386641
 
@StefanAM,

Attached is a modified config.plist with Framebuffer patches applied based on Gigabyte Z390M Gaming configuration, which I think may work. Backup your existing config.plist, copy the new one in its place, reboot, and see if your HDMI or DVI ports work.
 

Attachments

  • config.plist
    9.8 KB · Views: 92
@StefanAM,

Attached is a modified config.plist with Framebuffer patches applied based on Gigabyte Z390M Gaming configuration, which I think may work. Backup your existing config.plist, copy the new one in its place, reboot, and see if your HDMI or DVI ports work.

Casey, thank you! I'll try and keep you informed.
 
Hello sorry for my english i'm french but i will try to explain my problem.

I have install Mojave via : https://www.hackintosh.computer/2050/hackintosh-mojave-guide/ because it's not work for me via the guide of tonymacx86 and unibeast.

When i have install mojave, i dont find nvidia web driver because he is not release.

I have create a usb bootable with high sierra for installing with unibeast but i can boot again

i have copied the ufi folder of my mojave installation in the usb bootable high sierra and it's work !

i install high sierra and i boot via the ufi on my bios (the ufi of mojave)

i install nvidia driver

when i plug vga cable it's work done with high resolution, but when i will add hdmi cable it's not work,
my main screen is flashing black to indicate that it has detected a screen to connect but no signal on the second screen.
I also noticed that when I enter the half of my cable hdmi in the work my monitor say : "check the signal of cable" and i can go with my cursor at the other end of second screen

I also noticed that when I connect only the hdmi cable and I start the pc it makes me a start loop to infinity and when i disable nvidia web driver it's work for me but only the bootable monitor is detected i can add display and i have bad resolution

my ufi folder with the config.plist is here, i have tried all solutions of forums i found but not work.
Please tell us the following:
  • Full model name of your motherboard (example: ASUS MAXIMUS HERO VII)
  • Full name of CPU (example: Intel i7-9700k)
  • Full name of GPU (example: Gigabyte AORUS RTX 2080)
 
  1. In this case we select Platform ID 0x3E9B0007 and then we click the Connectors tab. This will be our main focus -- this is the connector mapping table -- where we can assign Index, BusID, Pipe, Type, and Flags. Each row in the table corresponds to a software connector. Connectors are numbered sequentially from 0. So we are looking at the mapping table for con0, con1, and con2. At this time, don't trust any of the values in this table!
    View attachment 384470View attachment 384469

On your screenshot the index column shows Indexes 1, 2, 3 and -1. This makes sense according to the theory mentionned earlier in the guide. However on my machine, hackingtool 1.8.2 the same table show indexes 0, 1, 2 and -1 (as if they were software connectors rather than physical ports). So I'm a bit lost...

I made sure the ig-device-id is chosen so that the GPU info matches the real hardware*. However there were other possibilities IIRC (one of them displaying Haswell GT2 (Desktop) instead of HD 4600 in the Framebuffer Info but wikipedia tells me these are sort of equivalent). The other two are headless ig-platform-ids. Even if I change the ig-device-id the indexes remain 0, 1, 2 and -1 (except for headless ones where all indexes are -1, obviously)

best,
-a-

*NOTE: I use ID 0x04160000 but looking for help I found most people with similar hardware use ID 0x0d220003. However, hackingtool reports that the framebuffer for this ID is Iris pro 5200 rather than HD4600. Thoughts?
 
Last edited:
OK... great guide! really. For a noob like me it's like translating Chinese into something I can grasp.

I'm running 10.14.3 on a z97-a with i7-4790k (HD4600).
28'' 4K monitor (AOC u2868pqu) is connected via DP and I get 1080p max.

Apparently the monitor is not 100% properly recognized.
About this mac shows u2868 display 30.5 inches
(Well I was quite happy it displays u2868 rather than something generic)
I was told it is not recognized as a retina display since I get a list of resolutions rather than 5 icons when selecting scaled in display preferences.
I don't know if any of this is relevant...

I'm on a journey to get more than 1080p on this monitor (2K or maybe 4K at 60Hz). I was told I should use your guide to try to patch the framebuffer. There are 4 physical connectors on the z97-a (1 DP, 1 HDMI, 1 DVI and 1 VGA). However in Hackingtool I see only the following indexes for connectors:
  • index 0 (built in LVDS)
  • index 1 (? HDMI or DVI, doesn't matter since they are treated as equivalent, right?)
  • index 2 (DP) lit up in red since I use a DP cable to connect the monitor
  • index -1 (headless)

I don't understand why index 3 is not present but that may not be relevant to reach my goal.

I don't necessarily care about HDMI working or not but I changed BusID anyway (4->5 for DP, index2 = port 0x06 | 5->4 for HDMI/DVI, index1 = port ?, port5 I guess)

I generated the patch as shown on your guide except for:
- I tried both with and without "device ID" since I was told that this could actually mess things up rather than help.
It didn't change anything in my hands.

I was not sure enabling HDMI2.0 was the right thing to do (since the connector may be HDMI1.4, not sure) but I did it anyway since I don't care about HDMI much.

I exported to config.plist and rebooted -> no change (still 1080p max)

Any advice?

Thank you very much in advance for your help.
Best,
-a-


PS:
Z97-a specs:
Integrated Graphics Processor- Intel® HD Graphics support
Multi-VGA output support : HDMI/DVI-D/RGB/DisplayPort ports
  • Supports HDMI with max. resolution 4096 x 2160 @ 24 Hz / 2560 x 1600 @ 60 Hz
  • Supports DVI-D with max. resolution 1920 x 1200 @ 60 Hz
  • Supports RGB with max. resolution 1920 x 1200 @ 60 Hz
  • Supports DisplayPort with max. resolution 4096 x 2160 @ 24 Hz / 3840 x 2160 @ 60 Hz
Maximum shared memory of 512 MB
...
DP 1.2 Multi-Stream Transport compliant, supports DP 1.2 monitor daisy chain up to 3 displays
...
1 x DVI-D
1 x D-Sub
1 x DisplayPort
1 x HDMI
 
Last edited:
@asheenlevrai,

Your Haswell i7-4790K with HD4600 iGPU and ASUS Z97-A motherboard require the following:

From Post #1:

Gen 4: Haswell (Intel HD Graphics 4200-5200)
  • S/L/E/AppleIntelFramebufferAzul.kext
  • Support started with OS X 10.9.x
  • device-id: 0x0D26 0x0A26 0x0A2E 0x0D22 0x0412
  • AAPL,ig-platform-id (desktop): 0x0D220003 (default)
  • AAPL,ig-platform-id (laptop): 0x0A160000 (default), 0x0A260005 (recommended)
ID: 0D220003, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x00000402
TOTAL STOLEN: 33 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)
GPU Name: Intel Iris Pro Graphics 5200
Model Name(s): iMac14,1 iMac14,4
Camelia: Disabled, Freq: 5273 Hz, FreqMax: 5273 Hz
Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - DP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000087 - DP
[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x00000011 - DP
01050900 00040000 87000000
02040A00 00040000 87000000
03060800 00040000 11000000
387018387019
As you can see, the starting point is to select:
  • Platform ID 0x0D220003
  • Device-DI 0x0D22
The default connector settings are all DisplayPort with Indexes 1, 2, 3. When you connected the DisplayPort cable, Index 2 lit up, which establishes one known connector:

Index 2, Bus 0x05, Type DP

If you're only interested in DP, then your job can be wrapped up by applying almost anything to the other two indexes. For example:

Index 1, Bus 0x00, Type DUMMY
Index 2, Bus 0x05, Type DP
Index 3, Bus 0x00, Type DUMMY
Index -1, Bus 0x00, Type DUMMY

If you would like to test DVI/HDMI (yes, they're considered the same 'protocol' even though they impose very different resolution and refresh rates) then you may try a couple of experiments:

Index 1, Bus 0x04, Type HDMI
Index 2, Bus 0x05, Type DP
Index 3, Bus 0x02, Type HDMI <-- physical DVI port
Index -1, Bus 0x00, Type DUMMY

or

Index 1, Bus 0x02, Type HDMI <-- physical DVI port
Index 2, Bus 0x05, Type DP
Index 3, Bus 0x04, Type HDMI
Index -1, Bus 0x00, Type DUMMY

However, it seems your primary concern is to obtain 4K output from DisplayPort and you're wondering whether establishing a full and complete connector patch may get you there.

I am not sure whether a full and complete patch will affect 4K output from a port that is already configured and active, but it is still worth doing -- but one should not spend an inordinate amount of time on this.

So I would suggest to proceed in steps:
  1. Apply the platform and device IDs for desktop Haswell as indicated above.
  2. Make a few attempts at a reasonably complete connector configuration (don't get hung up on this though).
  3. Then reboot, run IORegistryExplorer, search for "IGPU" and immediately click the "x" to clear the search bar. This will focus and expand the device tree to reveal the sub-nodes under IGPU. Grab a screenshot of this so we can see which driver/framebuffer is attached to the IGPU.
  4. With IORegistryExplorer we can also check the "av-signal-type" for each of the connectors. Signal type 0x08 is HDMI, type 0x10 is DisplayPort.
  5. Once we're confident that the iGPU has been configured properly, we can consider next steps.
 
Last edited:
I use ID 0x04160000 but looking for help I found most people with similar hardware use ID 0x0d220003. However, hackingtool reports that the framebuffer for this ID is Iris pro 5200 rather than HD4600.

You say I should use although it's Iris pro 5200. Fine :)
I'm currently setup as iMac15,2 (Edit: iMac15,1). Should I switch to 14,1? 14,4?

Tx
-a-
 
Last edited:
Back
Top