Contribute
Register

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

Add "igfxonln=1" to boot args to fix the black screen after boot if you still using iMac18,1.
not working for me :(
i3 7100
H110
IGPU HD630 (0x5912)
iMac18,1
DVI-D or HDMI

Catalina + Clover = work with "force-online" in DeviceProperties
Monterey 12.1 + OpenCore 0.7.7 = not working with "igfxonln=1" in boot args or "force-online" in DeviceProperties

Still no signal after logon, have to reconnect cable to work monitor
 
Dual Monitor not working

I have the an issue with a z97-hd3, i5-4690k CPU & 32 GB RAM build booting Monterey 12.1 using latest OpenCore release (0.7.7) with the integrated GPU enabled to drive a display: when booting with dvi and hdmi connected monitors, both shows the verbose, but when the loading process arrives to the macOS desktop, the dvi connected monitor goes dark and only the hdmi connected monitor shows something. If I disconnect the HDMI cable, it would boot and shows everything in the DVI connected monitor. So I know that both monitors are working and the problem is related to the frame buffer settings that most likely need more patching, but I don’t know what else is required beyond correcting the connector type which I already did. Do I need to adjust the fbmem or the fbstolenmem or fbunifiedmem? Right know in the OpenCore config list I have fbstolenmem = 00003001 and fbmem = 0000900 and the BIOS has an allocated DVMT memory of 64 mb. Do I have to change the BusIDs? I changed in the config file the bus ids for the DVI port (Device Properties section, trying all possible options without any luck. After that I started again. I’ll upload my EFI as right now and my ioreg file shortly.
 
Are you using the Macmini7,1 or iMac17,1 SMBIOS?

The IGPU patches required for the MacMini7,1 SMBIOS, with the IGPU used to drive the display(s) are as follows:

AALP,ig-platform-id = 0300220D
framebuffer-patch-enable = 01000000
framebuffer-stolenmem = 00003001

That should be all that is required for the IGPU to work.

As the iMac17,1 expects a discrete GPU to be driving the display(s), all you need is this empty/headless framebuffer:

AALP,ig-platform-id = 04001204

Alternatively this empty/headless framebuffer also works with a HD4600 IGPU.

AALP,ig-platform-id = 0B001204

Obviously with the empty/headless framebuffer the dGPU (RX 580) would be used to drive the displays, not the IGPU.

Don't know how you have your EFI setup, but this Github repository may be helpful with your Z97-HD3 system - https://github.com/VoiletDragon/Z97-HD3-Patches
 
Are you using the Macmini7,1 or iMac17,1 SMBIOS?

The IGPU patches required for the MacMini7,1 SMBIOS, with the IGPU used to drive the display(s) are as follows:

AALP,ig-platform-id = 0300220D
framebuffer-patch-enable = 01000000
framebuffer-stolenmem = 00003001

That should be all that is required for the IGPU to work.

As the iMac17,1 expects a discrete GPU to be driving the display(s), all you need is this empty/headless framebuffer:

AALP,ig-platform-id = 04001204

Alternatively this empty/headless framebuffer also works with a HD4600 IGPU.

AALP,ig-platform-id = 0B001204

Obviously with the empty/headless framebuffer the dGPU (RX 580) would be used to drive the displays, not the IGPU.

Don't know how you have your EFI setup, but this Github repository may be helpful with your Z97-HD3 system - https://github.com/VoiletDragon/Z97-HD3-Patches
Thanks a lot for your quick reply. I changed the SMBIOS to iMac 17,1 due to the RX 580 and Monterey. However, the RX 580 stopped working and I’m trying to setup the igpu to drive a display and also have dual monitors. Do I have to change the SMBIOS again now that I don’t have a wording dgpu? I tried VioletDragon repository already without luck. I noticed that the device is and frame buffer in VioletDragon was one related to laptop. Is there an issue if I used a laptop device ID and frame buffer recommended for laptops in dortania guide?
 
You need to use the correct SMBIOS for the way your system is setup. If the IGPU is driving the displays, then you should be using the Mac mini SMBIOS, not the iMac17,1 SMBIOS.

See this Monterey Desktop guide for a similar Z97 system with posts for both options/SMBIOS's - https://www.tonymacx86.com/threads/guide-haswell-system-macos-monterey-12-0-1-oc-0-7-5.317413/

Not sure what you mean you tried VioletDragon's repository without luck, as it contains a number of very useful SSDT's for your system. They may not fix your current dual display issues but they help with a lot of other common issues, when used correctly.
 
You need to use the correct SMBIOS for the way your system is setup. If the IGPU is driving the displays, then you should be using the Mac mini SMBIOS, not the iMac17,1 SMBIOS.

See this Monterey Desktop guide for a similar Z97 system with posts for both options/SMBIOS's - https://www.tonymacx86.com/threads/guide-haswell-system-macos-monterey-12-0-1-oc-0-7-5.317413/

Not sure what you mean you tried VioletDragon's repository without luck, as it contains a number of very useful SSDT's for your system. They may not fix your current dual display issues but they help with a lot of other common issues, when used correctly.
Thanks a lot for the feedback. I’ll try to see first if the dgpu is still working. If not, I’ll change the SMBIOS and see if after the igpu dual monitor issue is gone.
 
If you are currently using the IGPU to drive the display, you need to make the changes to the framebuffer entries as stated in post #1665
  • AALP,ig-platform-id = 0300220D
  • framebuffer-patch-enable = 01000000
  • framebuffer-stolenmem = 00003001
 
If you are currently using the IGPU to drive the display, you need to make the changes to the framebuffer entries as stated in post #1665
  • AALP,ig-platform-id = 0300220D
  • framebuffer-patch-enable = 01000000
  • framebuffer-stolenmem = 00003001
Thanks to your feedback. I changed the SMBIOS and the issue is gone. I’ll keep this in mind going forward, I forgot it but now I remember that I had to consider this when migrating to Monterey.
 
Dual Monitor not working
@jzrodriguez98 - congrats on solving the problem (and congrats to @Edhawk for solving without seeing your config.plist). I'm not as savvy as others, so for me, it's virtually impossible to tell without the EFI and at least the config.plist. Best to post your EFI with your question to maximize response from more people.
 
Last edited:
Back
Top