Contribute
Register

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

Post a copy of your USBMap.kext, as there may be something unusual going on in the kext.

Clearing and Refreshing the USB ports in Hackintool, should not result in less ports being displayed. It should result in all the active ports from the kext showing in the USB window.

Here it is.

Thanks, G.
 

Attachments

  • USBMap.zip
    1.5 KB · Views: 34
No the main thing that is wrong with your USBMap.kext is that you have set all the Virtual USB2 ports, those USB2 ports that are served from physical USB3 ports, with the wrong Connector Type. You have set them with connector type USB2 (0), when they should be set to match the physical side of the port, i.e. with connector type USB3 (3).

This is an easy and common mistake to make, it just means your USB configuration is not set correctly and macOS will have issues usually with Sleep/Wake processes and your USB ports won't work as they should.

Are you using any of the Internal motherboard header ports? If yes, then these are also set with the incorrect connector type. While they may be USB2 speed, they need to be set as 'Internal' ports with connector type (255), not as USB2 (0). These are the ports that most people get wrong.

The XHC & Model names are correct for the iMac20,2.

As you are using this Comet Lake SMBIOS, I assume you are using Catalina 10.15.6 or newer when you boot macOS Catalina, as that was the initial release for the Comet Lake iMac systems.

You have a number of ports that are disabled, but present in the kexts info.plist. It would make it easier to read and understand which ports are being used if these inactive ports were removed from your USBMap.kext/Contents/info.plist. As shown below.

Screenshot 2022-12-23 at 14.50.24.png Cleaned upUSBMap.kext/Contents/info.plist

You need to go through all the HSxx ports and check to see which physical connector they are served from, and then change the UsbConnector entry to match the physical port.
 
I'm having some problems patching my H470M DS3H / I5 10400. This motherboard has a DP output, HDMI output, DVI output, and a VGA output. I would like to use the DVI output and the HDMI output. I know it's not recommended to use multiple monitors with the IG but I don't have a video card to put into this build.

I verified that the DP, HDMI, and DVI outputs work under Linux and have no stability issues. I did not check the VGA port.

With the 0x3E9B0007 platform id default framebuffer, the HDMI and DVI output does not work. The DP output will work but the video signal drops randomly and is not usable. I used @ShalkeBG config.plist as a start and am attempting to come up with the correct combination.

My problem is when I am using hackintool, it does not appear to show my changes I am making to the config.plist using OCAuxillary tools. Under the patch menu I have the Apply Current Patches checked. Right now it's showing all the pipes at 18
 

Attachments

  • config.plist.post.plist
    38.7 KB · Views: 31
Possible reason for your displays not working would be that you have not completed the Framebuffer patches for your IGPU. The screenshot below shows the IGPU framebuffer entries from your config.plist.Screenshot 2023-01-09 at 07.24.29.png
Con0 has 3 x entries
Con1 & Con2 have 3 x entries each

This is a screenshot of the Framebuffer patching from a H370 MB and Coffee Lake UHD360 IGPU.
Screenshot 2023-01-09 at 07.25.45.png
As you can see there are 6 x entries for con0, con1, con2 and con3.

Your IGPU framebuffer entries should be similar to those shown above. Not including con3 entries if they apply to your VGA connector is fine. But you shouldn't be missing entries for the other connectors.

The first post in this thread has a number of Spoiler entries, unfortunately none are an exact match to your H470 board.
 
Possible reason for your displays not working would be that you have not completed the Framebuffer patches for your IGPU. The screenshot below shows the IGPU framebuffer entries from your config.plist.View attachment 561503
Con0 has 3 x entries
Con1 & Con2 have 3 x entries each

This is a screenshot of the Framebuffer patching from a H370 MB and Coffee Lake UHD360 IGPU.
View attachment 561504
As you can see there are 6 x entries for con0, con1, con2 and con3.

Your IGPU framebuffer entries should be similar to those shown above. Not including con3 entries if they apply to your VGA connector is fine. But you shouldn't be missing entries for the other connectors.

The first post in this thread has a number of Spoiler entries, unfortunately none are an exact match to your H470 board.
Ok I made sure all the connectors I'm using have 6 entries. I didn't do any for the VGA port. Here is what I have now and it seems to work Ok on the HDMI and DP outputs. The DVI still does not work but I only need 2 DVI connections and it appears that I have that. I may tinker around some more to try and get the other ports working. Hackintool still shows the same pipe (18) for all the connectors except #4.
 

Attachments

  • Screen Shot 2023-01-10 at 6.27.00 PM.png
    Screen Shot 2023-01-10 at 6.27.00 PM.png
    91.5 KB · Views: 81
You sometimes have to set the DVI connectors up as DisplayPort connectors for them to work.
 
I had this problem and tried so hard to patch myself wasted a lot of time but strangely i got IGPU working with HDMI by copying and pasting the z390-a asus code from hackintool and pasting it into my config file. Please have a look and see if i did anything stupid but it is working. I don't get why all con0, con1 and con3 are all enabled as i only have 2 ports on my motherboard a DP and HDMi . Hope this helps anyone stuck with

ASUS PRIME Z490-A

Screenshot 2023-04-07 at 22.35.43.png
 
You have con0 and con1 set as HDMI connectors. This is why these DeviceProperties for the UHD 620 IGPU work for you. While you are using a HDMI connection.

One of these two connectors is set wrong, as they should reflect the physical state of the connector, i.e. one should be set as DisplayPort.

Con2 isn’t set with a connector type. Probably should be set as a ‘Dummy’ connector.
 
Back
Top