Contribute
Register

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

Joined
Sep 5, 2012
Messages
109
Motherboard
Metabox Alpha (Clevo)
CPU
i7-9750H
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
@Feartech After much trial and error i finally have output on my screen.
However i do have to hotplug it when booting into macOS to get it work and after sleep it needs to be hotplugged as well.
When i do plug in the monitor the external screen flashes green before proceeding to show the secondary desktop.
The green i can live with, hotplugging, not so much.
Are there any fixes for this?
I have attached ioreg, sanitised config and screenshots of hackintool.
 

Attachments

  • Archive.zip
    1.1 MB · Views: 30

Feartech

Moderator
Joined
Aug 3, 2013
Messages
28,516
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
  1. iMac
Mobile Phone
  1. iOS
@Feartech After much trial and error i finally have output on my screen.
However i do have to hotplug it when booting into macOS to get it work and after sleep it needs to be hotplugged as well.
When i do plug in the monitor the external screen flashes green before proceeding to show the secondary desktop.
The green i can live with, hotplugging, not so much.
Are there any fixes for this?
I have attached ioreg, sanitised config and screenshots of hackintool.
you are missing your needed renames that go with:
SSDT-XOSI.aml

XhciPortLimit should be disabled

try igfxonln=1 boot argument
 

Edhawk

Moderator
Joined
Aug 2, 2013
Messages
4,162
Motherboard
Asus TUF Z390 Gaming
CPU
i5-8500
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Air
  3. MacBook Pro
Mobile Phone
  1. iOS
You have three methods for disabling the discrete GPU set in your config.plsit
  1. SSDT-dGPU-Off.aml
  2. DeviceProperty > 'disable-external-gpu > <01000000>
  3. Boot Argument > -wegnogpu
You should only be using one of these, with the SSDT being the preferred option, as long as the ACPI path for the dGPU is set correctly in the SSDT.

The SSDT-XOSI.aml rename patch looks like this in ProperTree.

Screenshot 2022-08-19 at 20.30.28.png

You don't need to retain the two placeholder patches.

Not sure it makes any difference but I would have framebuffer-patch-enable and framebuffer-con0-enable before framebuffer-con0-alldata in the DeviceProperties section

Your current IGPU device properties is shown below.
Screenshot 2022-08-19 at 20.31.50.png

I would change it to look like this.

Screenshot 2022-08-19 at 20.32.24.png

You need to disable the AirportBrcmFixup.kext/Contents/PlugIns/AirPortBrcm4360_Injector.kext, if you are running Big Sur or newer, as the kext lost support with the release of Big Sur. Setting the kext with MaxKernel entry 19.99.99 in the config.plist would also work.

As you have UEFI > APFS > MinDate and MinVersion set to 0 I assume you are running Big Sur or newer.
 
Joined
Sep 5, 2012
Messages
109
Motherboard
Metabox Alpha (Clevo)
CPU
i7-9750H
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I’m running Ventura. I will have a play around soon and let you know my results.
 
Joined
Sep 5, 2012
Messages
109
Motherboard
Metabox Alpha (Clevo)
CPU
i7-9750H
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I implemented all of the above and yes it still boots, yes I still have hdmi out, yes I still have to hotplug
I did not see the green screen n the work monitor today though, have yet to test on my home monitor.
 

Edhawk

Moderator
Joined
Aug 2, 2013
Messages
4,162
Motherboard
Asus TUF Z390 Gaming
CPU
i5-8500
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Air
  3. MacBook Pro
Mobile Phone
  1. iOS
Not all of the features that are required for the new OS are included in the current Beta release. One being CPU power management, another is something that causes graphics issues. The Intel and AMD drivers probably need to be updated for Ventura. I am fairly sure the two manufacturers will have better/updated drivers in the GM release 13.0.1. So you need to wait for the last beta or GM release to know if the issues you are facing are going to be fixed in Ventura.

I use a dual display setup (2 x Dell U2515H (2560x1440 @60Hz), running Monterey and Ventura from two separate NVMe drives, on the same system. I have an RX580 dGPU using twin DP connections on Ventura and a DP & HDMI connector on Ventura. Neither OS show any graphical issues on my Coffee Lake desktop system.
 
Joined
Sep 5, 2012
Messages
109
Motherboard
Metabox Alpha (Clevo)
CPU
i7-9750H
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
If I get a chance I’ll reinstall Monterey and see what happens. Ventura is so stable I forget that it’s still in beta.
 
Joined
Mar 17, 2018
Messages
54
Motherboard
Gigabyte Z490 Aorus Elite
CPU
i9-10850K
Graphics
Gigabyte Aorus Radeon RX 5700 XT GDDR6 8GB
Mac
  1. MacBook Pro
  2. Mac Pro
Classic Mac
  1. 20th Anniv. Mac
  2. Apple
  3. iMac
  4. Lisa
  5. Power Mac
  6. PowerBook
  7. Xserve
Mobile Phone
  1. iOS
So I have an issue. My original motherboard and intel chip had to be replaced. I went with the i9-10850K and the Z490 Aorus Elite motherboard with my RX 580 dGPU card. I am redoing OpenCore and I am completely lost as to what to but into the framebuffer-patch-enable and the data into the framebuffer-stolenmem sections of my config plist. Any help would be fantastic.
 

Edhawk

Moderator
Joined
Aug 2, 2013
Messages
4,162
Motherboard
Asus TUF Z390 Gaming
CPU
i5-8500
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Air
  3. MacBook Pro
Mobile Phone
  1. iOS
Assuming you are using the RX580 for graphics processing. You should have the Comet Lake IGPU set with a headless/empty framebuffer.

The device ID for the i9-10850’s IGPU is 0x9BC5, so 0x9BC50003 or 0x9BC80003 would be the first options you should use as an empty framebuffer.

You shouldn’t need any secondary framebuffer entries, just AAPL,ig-platform-id = 0300C59B or 0300C89B
 

Edhawk

Moderator
Joined
Aug 2, 2013
Messages
4,162
Motherboard
Asus TUF Z390 Gaming
CPU
i5-8500
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Air
  3. MacBook Pro
Mobile Phone
  1. iOS
@Coder2j

The IGPU patching in your config.plist matches with the Connector Types shown in Hackintool. So if you only have 3 connectors available it is because you have only set three of the four connectors.

Con-0 has been set as a DisplayPort <00040000>
Con-1 has been set as a HDMI <00080000>
Con-2 has been set as HDMI <00080000>
Con-3 has been set as dummy/empty <01000000>

As shown in the screenshot from the DeviceProperties section of your config.plist.

Screenshot 2022-10-26 at 20.18.46.png

This is a screenshot showing the different Display Connector Types and their corresponding values.

Screenshot 2022-10-26 at 20.25.04.png
So based on the above at least two of the Con-x entries in your config are wrong. Could be more. As you have full acceleration using the HDMI connector it is likely that one of the two HDMI entries is correct.

As the DisplayPort connector doesn't work correctly I can only assume that is is incorrectly configured.

Your config lacks any mention of the DVI and VGA connectors.

When testing the 4 x display connectors did you use IORegistryExplorer to confirm which connector was active when each port was used. Even when full acceleration wasn't provided, your IOReg should have told you which port on the motherboard was activated by each connector as it was tested.

I am sure you are aware that VGA connectors are not natively supported in macOS. So the chances are your VGA connector won't work, but setting it correctly, even if using a process of elimination as you identify the other three connectors, would be advisable. VGA connectors are often found to work when set as DisplayPort. Not sure why but that is common enough to be viable.

Don't set any of the connectors with the Dummy connector type, unless you want to explicitly disable that connector.

As you have messed up the connector types so splendidly I am wondering what your system sets each connector as natively, i.e. when there are no DeviceProperty over-rides, all the 'con-x' entries are removed from your config.plist.

DO NOT post a copy of your config.plist with your Serial Number visible. It will just result in the post being moved to a non-public forum before being deleted. As has happened here!
 
Last edited:
Top