Contribute
Register

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

Joined
Nov 8, 2016
Messages
70
Motherboard
ASUS PRIME Z390M PLUS (clover)
CPU
i7-9600K
Graphics
UHD 630
Mobile Phone
  1. iOS
Patch provided for Asus Prime H370M-Plus works for HDMI output in board ASUS PRIME Z390M PLUS. DVI untested. please update OP to reflect this other asus board @CaseySJ
 
Joined
Sep 11, 2019
Messages
3
Motherboard
Asus Prime Z370-A
CPU
i3-8350K
Graphics
RX560
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. Classic
  2. iBook
  3. iMac
  4. LC
  5. Performa
  6. Power Mac
  7. PowerBook
  8. SE/30
Mobile Phone
  1. iOS
Hi there,

I'm going nuts with something I can't explain on one of my hackintoshes, here goes:

Config is ASRock B250M Pro4 (3 video outputs available: HDMI, DVI-D and VGA), i5-7400, no DGPU. SMBIOS iMac18,1. Display is connected via DVI-D. Config was working flawlessly in 10.13 (including sleep/wake, hw accel, sound, etc). Freshly upgraded to 10.14 (updated all extra kexts before rebooting, including WhateverGreen, Lilu, etc). Now boots to no signal midway during Apple logo progress bar.

Tried to follow the guide to the letter via screen sharing (which works): I eventually tried every possible combination of BusID for each Index (that took a long time), to no avail: display is never detected in Hackintool.

Then I tried with a different display connected via HDMI: same thing.

Just before hanging myself, I tried with both displays connected: big surprise: DVI-D display turns on and works just fine. Without any patch applied Hackintool detects two active connectors: Port0, BusID 0x05 for the HDMI display (which gets no signal) and Port7, BusID 0x06 for the DVI-D display (which works).

It only works (half works) if both displays are connected, otherwise I'm back to square one. I understand Port0 shouldn't happen since it's for internal LVDS, so I'm starting to wonder if the selected SMBIOS (iMac18,1) somehow affecting how the OS parses the connector. I don't exactly know what to try next so any help would be much welcome.

Thanks!
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
14,447
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
@BulletZ,

What configuration are you currently using?

INDEX, BUSID, TYPE
xx, xx, xx
xx, xx, xx
xx, xx, xx


Platform ID: ?
Device ID: ?
 
Joined
Sep 11, 2019
Messages
3
Motherboard
Asus Prime Z370-A
CPU
i3-8350K
Graphics
RX560
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. Classic
  2. iBook
  3. iMac
  4. LC
  5. Performa
  6. Power Mac
  7. PowerBook
  8. SE/30
Mobile Phone
  1. iOS
@BulletZ,

What configuration are you currently using?

Platform ID: 0x59120000 (I tried 0x591B0000 too, no difference)
Device ID: 0x59128086

Index, BusID, Type:
1, 0x05, HDMI (<- HDMI display shows as Port0 here)
2, 0x04, HDMI
3, 0x06, HDMI (<- DVI display shows as Port7 here)
-1, 0x00, Dummy

Thanks
 
Joined
Sep 11, 2019
Messages
3
Motherboard
Asus Prime Z370-A
CPU
i3-8350K
Graphics
RX560
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. Classic
  2. iBook
  3. iMac
  4. LC
  5. Performa
  6. Power Mac
  7. PowerBook
  8. SE/30
Mobile Phone
  1. iOS
One important bit I forgot: in order for the pseudo dual display to work (one no signal one with signal), I had to disable AGDP via this patch: https://www.tonymacx86.com/threads/...applegraphicsdevicepolicy.272271/post-1914237

Without this patch, with both displays connected Hackintool only detects the HDMI display on Port0 and there's no signal to either display: that's why I'm suspecting something's up with this particular SMBIOS...
 
Joined
Oct 15, 2018
Messages
39
Motherboard
Asus H110M-D
CPU
i5-6400
Graphics
HD 530
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
Hi I'm having Gigabyte z390 Pro wifi and i7 9700k with UHD 630. This mobo only have one HDMI port of v1.4.

I exactly followed the steps mentioned, and I have identified that my HDMI is mapped to Port 7 ( Index 3). The bus id in this display is by default 0x04. With this configuration my HDMI monitor goes to black but when I try to connect through screen sharing with my macbook pro it shows correct acceleration value and display shows exact screen size and resolution of my monitor, but the monitor is not showing anything just black. Please check the attached screenshot taken through screen sharing session.

I also tried setting different bus id from 0x01 to 0x06. none of them is working. When I set other than 0x04 the display is not detected and the iGPU info is not shown on About mac screen and the screen also not in normal resolution of the monitor, it was like general mac mini display resolution.


Screenshot 2019-09-16 at 5.05.08 PM.pngScreenshot 2019-09-16 at 5.05.21 PM.pngScreenshot 2019-09-17 at 1.53.28 AM.pngScreenshot 2019-09-17 at 1.53.45 AM.png
 

Attachments

  • Screenshot 2019-09-16 at 5.05.08 PM.png
    Screenshot 2019-09-16 at 5.05.08 PM.png
    3.7 MB · Views: 24
  • Screenshot 2019-09-16 at 5.05.21 PM.png
    Screenshot 2019-09-16 at 5.05.21 PM.png
    3.5 MB · Views: 27
Joined
Oct 15, 2018
Messages
39
Motherboard
Asus H110M-D
CPU
i5-6400
Graphics
HD 530
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
I created a separate thread to track my issue with my mobo and CPU.
.

@CaseySJ It'll be great if you help me on this. I tried all the possible ways you mentioned in your guide but still my monitor goes to black and I can only access it through Screen Sharing. I hope I almost in final stage just a minor fine tuning is required.
 
Joined
Oct 15, 2018
Messages
39
Motherboard
Asus H110M-D
CPU
i5-6400
Graphics
HD 530
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
There is no problem with the patch or my config.plist files. The problem is with my monitor.

I'm using this monitor
https://www.amazon.com/dp/B07LCFY3PS/?tag=tonymacx86com-20

Which is 1440p with 144hz refresh rate. It doesn't support 144hz with 2k resolution. When I set my monitor refresh rate to 60hz with 1440p my monitor start working and there is no graphic issues I'm facing now with my build and monitor.

This is how I find out that the refresh rate is the problem,
Tried to connect my Mi TV which is 43" with 1080p 60hz through HDMI voila my build start showing screen in my TV.
Now connected my display back to try 1080p with my monitor. With screen sharing I have changed display resolution to 1080 this time my monitor got display from the build. But viewing 1080p with my 2k monitor is not looking good. So I again set to 1440p and my screen goes blank. With screen sharing I changed the refresh rate to 120hz but it doesn't work, then I set refresh rate to 60hz with 1440p this time my monitor started displaying the content from my build.

Thanks for the detailed guide @CaseySJ. Your guide is 100% working for my build.

I'm ready to give my working configuration for Gigabyte Aorus Pro Wifi with i7-9700k to be included in your guide. Please let me know how to do that.
 
Joined
Oct 15, 2018
Messages
39
Motherboard
Asus H110M-D
CPU
i5-6400
Graphics
HD 530
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
Please find the Properties patch below which is working for my Aorus z390 pro wifi mobo with i7-9700k.
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>device-id</key>
<data>
mz4AAA==
</data>
<key>enable-hdmi20</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con0-index</key>
<data>
AwAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
EgAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con1-index</key>
<data>
/////w==
</data>
<key>framebuffer-con1-pipe</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con2-index</key>
<data>
/////w==
</data>
<key>framebuffer-con2-pipe</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con3-busid</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con3-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con3-flags</key>
<data>
IAAAAA==
</data>
<key>framebuffer-con3-index</key>
<data>
/////w==
</data>
<key>framebuffer-con3-pipe</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con3-type</key>
<data>
AQAAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
</dict>
</dict>

This is screenshot of Connector tab from Hackintool.
Screenshot 2019-09-18 at 11.31.16 PM.png
 
Top