Contribute
Register

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

Hello, CaseySJ!

Sorry to waste your time.

My experiments continue, I still can not fix the black screen.

I found 2 weird things, please comment on what you think about this.

1) I tried to dump via CPU-Z to see the graphic connectors. Can this help identify bus-id? At the end of the dump file there are 2 display adapters where there is a bus-id and device-id, vendor / model id, etc. If this is true then for IGPU bus-id = 0x00 - can this be? I am connected to igpu, ofc
Apologies for the late reply!

The bus-id in CPU-Z is, unfortunately, not the ID we're looking for. Based on MSI Z390 Gaming Edge motherboard, HDMI is on Port 0x05 at Bus ID 0x01. Therefore please try this configuration:

Index 1: BusID 0x01, Type HDMI
Index 2: BusID 0x00, Type DUMMY
Index 3: BusID 0x00, Type DUMMY
Index -1: BusID 0x00, Type DUMMY


If you are unsure how to enter this, just upload your config.plist and I can make the change.

2) I have doubts about whatevergreen, and I heard about nvram problems in z390 msi. The doubts are that when I boot with the patches: (disable-external-gpu, framebuffer-patch-enable) my egpu exists, that is, I can plug in there and there will be an image.
Are you running High Sierra with Nvidia Web Drivers for the GTX 1060? Or are you running Mojave, but without any accelerated graphics driver for the Nvidia card?

Naturally, this is all on the wrong fakeid because with 0x3E9B I have a black screen. But I am very confused that the patches do not work and I suspect that because of this I can not register a patch for bus-id for the desired connector. Even if the correct fake id is entered into the AAPL patch, ig-platform-id, this will not work either. A standard ID will be injected.
The real device ID for your IGPU is 0x3E98, but this is not supported by MacOS so we have to fake it to either 0x3E9B or 0x3E92. With this ID, MacOS will use the accelerated graphics driver, but that driver thinks that all of your IGPU video ports are DisplayPort. But with the framebuffer connector patch above, we can fix this problem and get HDMI working.

In the near future I will try to replace the green with the debug version and try to find something there, but I don’t know yet. But as far as I understand the green does not work for me. I used gfxutil to determine pci device. There should be no problems, like all PciRoot(0x0)/PciRoot(0x2,0x0)

I still suspect something is wrong with the green
As mentioned above, please try the configuration shown. If you need help, just upload your config.plist. Also ensure that Lilu and WhateverGreen are installed (both of them must be installed). For security reasons, you should remove Serial Numbers from SMBIOS section of config.plist before you upload.
 
Last edited:
Hey CaseySJ,

I've followed the guide, actually I can (think) understand the majority, but at one point I found your three alternatives for my Gigabyte Aorus Ultra: "a single HDMI at Port 0x07 (Index 3) you could try any of the configurations in the spoiler below".

Tried the three alternatives (generated with Hackintool 1.82) but none has worked for me. The patches were well implemented on config.plist but screen still presents the same problems, dark background, blinking images, floating images. Is there something else I can do?

Tks
Please compress and upload your EFI folder from the EFI partition of Mojave SSD, but for security reasons, you should remove Serial Numbers from SMBIOS section of config.plist. I'll be glad to take a look at your configuration. Sometimes the problem lies with cables and monitors (esp. some older generation monitors) so I can't promise a solution, but I can check all the necessary settings.
 
Please compress and upload your EFI folder from the EFI partition of Mojave SSD, but for security reasons, you should remove Serial Numbers from SMBIOS section of config.plist. I'll be glad to take a look at your configuration. Sometimes the problem lies with cables and monitors (esp. some older generation monitors) so I can't promise a solution, but I can check all the necessary settings.
Here is my EFI file attached, according to your advices.

Thank you, you've been doing a lot already. If the UHD 630 patch fails, I still have the option to reinstall my nVidia GT970 and downgrade to High Sierra 10.13.6. For now, I would stay in Mojave and wait for nvidia web drivers.

Other informations:
- Monitor model: 10 years old ViewSonic vx1940w, connected to the mobo hdmi port using an HDMI cable and an HDMI>DVI adapter. If that helps, it works well in Windows, I see only a few glitches.
 

Attachments

  • Biscates EFI [Clover 4862].zip
    17 MB · Views: 68
Here is my EFI file attached, according to your advices.

Thank you, you've been doing a lot already. If the UHD 630 patch fails, I still have the option to reinstall my nVidia GT970 and downgrade to High Sierra 10.13.6. For now, I would stay in Mojave and wait for nvidia web drivers.

Other informations:
- Monitor model: 10 years old ViewSonic vx1940w, connected to the mobo hdmi port using an HDMI cable and an HDMI>DVI adapter. If that helps, it works well in Windows, I see only a few glitches.
A quick audit shows:
  • driversUefi64 folder --> good
  • kexts folder --> good
  • config.plist --> hmm, looks like this has migrated over the years from multiple versions of macOS! :)
Later this evening I can send a Mojave-only streamlined version of your config.plist with the HDMI port enabled.

In the meantime, do you have a HDMI monitor or TV? It would be good to check if graphics are normal with HDMI-to-HDMI connection (no DVI adapter).
 
A quick audit shows:
  • driversUefi64 folder --> good
  • kexts folder --> good
  • config.plist --> hmm, looks like this has migrated over the years from multiple versions of macOS! :)
Ah yes, it has been a long time... :)

Later this evening I can send a Mojave-only streamlined version of your config.plist with the HDMI port enabled.
Nice! That's worth a try.

In the meantime, do you have a HDMI monitor or TV? It would be good to check if graphics are normal with HDMI-to-HDMI connection (no DVI adapter).
Yes, it's a good idea. Will try later.
 
@biscate,

Attached is an update config.plist. Please backup existing one and try the attached revision -- you will need to copy Serial Numbers back into SMBIOS. In case of any problem with this version, just restore the original. This version removes a number of unnecessary settings.
 

Attachments

  • config.plist
    31 KB · Views: 129
I've been trying this out today and was wondering if I might have some other inherent issues with how my laptop is setup. I have 2 DVI monitors with an HDMI adapter and another with a DP adapter. I recently converted my setup to use WhateverGreen and using the previous graphics inject methods my HDMI connection did work. But since switching to WEG I no longer can get the HDMI to work. I've never seen the DP connection work, so I have no idea if it does. I also have a discrete GTX 1050 that I've disabled in my current setup. I did have a config that got that working, but I found it was a whole bunch of other problems, so opted for just the HD 630.

In using Hackintool I've never once seen the DP or HDMI highlight change to red. I've tried a bunch of different configurations haven't seen any sign of life from my monitors. The config I have currently does have sleep wake and screen brightness working, though weirdly it switches to using the GTX 1050 when it wakes up from sleep. I've also done the USB ports through Hackintool.

385481


TLDR Version
  1. Are my DVI monitors a source of problems being converted to HDMI/DP?
  2. Is disabling my GTX 1050 causing an issue?
  3. Are there specific things that might change laptop vs desktop configuration?
 

Attachments

  • config-hackintool.plist
    19.1 KB · Views: 132
--deleted--
 
Last edited:
@modsuperstar,

Ideally you should not use video adapters at this stage because they throw an extra measure of uncertainty into the equation. Some adapters have been known to fail.

My recommendation would be to take the laptop to the office or a friend's place or even a computer retailer where you would be able to connect the laptop's DP port to a native DP monitor. Simply set the Types of both Index 1 and 2 to DP, connect the DisplayPort-to-DisplayPort video cable, and see which Index lights up.

HDMI is a little trickier to configure first, but it can be done if you have access to an HDMI display. For example, if you have a flat screen TV at home with an HDMI port, connect your laptop's HDMI to the TV's HDMI. Then you'll have to experiment with different BusID and Index values.

Assuming HDMI is on Port 0x05 (Index 1), you would need to try at least BusIDs 0x01 and 0x04. If that fails, then switch to Index 2, then to Index 3. This looks a bit messy, but is manageable:

Case 1:
Index 0, BusID 0x00, Type LVDS <-- this is okay, so we leave this alone
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x02, Type DP
Index -1, BusID 0x00, Type DUMMY

Case 2:
Index 0, BusID 0x00, Type LVDS <-- this is okay, so we leave this alone
Index 2, BusID 0x01, Type HDMI
Index 1, BusID 0x02, Type DP
Index -1, BusID 0x00, Type DUMMY

Case 3:
Index 0, BusID 0x00, Type LVDS <-- this is okay, so we leave this alone
Index 3, BusID 0x01, Type HDMI
Index 1, BusID 0x02, Type DP
Index -1, BusID 0x00, Type DUMMY

Case 4:
Index 0, BusID 0x00, Type LVDS <-- this is okay, so we leave this alone
Index 1, BusID 0x04, Type HDMI
Index 2, BusID 0x02, Type DP
Index -1, BusID 0x00, Type DUMMY

Case 5:
Index 0, BusID 0x00, Type LVDS <-- this is okay, so we leave this alone
Index 2, BusID 0x04, Type HDMI
Index 1, BusID 0x02, Type DP
Index -1, BusID 0x00, Type DUMMY

Case 6:
Index 0, BusID 0x00, Type LVDS <-- this is okay, so we leave this alone
Index 3, BusID 0x04, Type HDMI
Index 1, BusID 0x02, Type DP
Index -1, BusID 0x00, Type DUMMY
 
Last edited:
@xavierniu,

Please create a new thread under Mojave Desktop Support and copy-paste the error message there. This thread is only for resolving framebuffer connector patching.

Then please delete the post #228 above (just replace the whole post with "-- deleted --").
 
Back
Top