Contribute
Register

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

Joined
Nov 10, 2018
Messages
16
Motherboard
ASRock B360M-ITX/ac
CPU
i5 8400
Graphics
Onboard HD630
Mac
MacBook Pro
Yeah, you got everything correctly.
Answering your questions:
"If you leave out pipecount, do you still get HDMI and DP output?": yes, that's what I had before trying to fix the sleep wake issue (I changed things step by step, first deactivating the DVI, then lowering the pipe- and/or portcount);
"which Row lights up in red when you plug in an HDMI cable?": the first and the last one, as one would expect (so the first one when plugging in the HDMI cable).
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
5,046
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Yeah, you got everything correctly.
Answering your questions:
"If you leave out pipecount, do you still get HDMI and DP output?": yes, that's what I had before trying to fix the sleep wake issue (I changed things step by step, first deactivating the DVI, then lowering the pipe- and/or portcount);
If shutdown/restart are okay, but sleep/wake doesn't work, have you tried the usual suspects:
  • darkwake = 0 (or other values from Boot section of Clover Configurator)
  • In System Preferences --> Energy: Uncheck "Enable Power Nap" and "Wake for network access"
  • In Clover Configurator: Check-on AppleIntelCPUPM
"which Row lights up in red when you plug in an HDMI cable?": the first and the last one, as one would expect (so the first one when plugging in the HDMI cable).
Yes I was looking for this verification. The red highlights confirm Row 1=HDMI and Row 3=DP.
 

toleda

Moderator
Joined
May 20, 2010
Messages
24,458
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
Bus ID 0x02 is VGA (D-Sub)
Native: Bus ID 0x02 is LVDS
macOS uses Bus ID 0x02 as the LVDS connector with a mobile framebuffer on Laptop products. For Desktop products, Bus ID 0x02 is not present. macOS supports VGA with an adapter to a supported digital connector (DP, HDMI, DVI), laptop and desktop.

If you are suggesting Desktop motherboards use a mobile framebuffer for VGA support, the technique is clearly non native and best considered experimental. If the headkaze, [Guide] Intel Framebuffer patching using WhateverGreen, mobile recommendations support VGA, a note is also appropriate. If not, clarification of exactly what works is required.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
5,046
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Native: Bus ID 0x02 is LVDS
macOS uses Bus ID 0x02 as the LVDS connector with a mobile framebuffer on Laptop products. For Desktop products, Bus ID 0x02 is not present. macOS supports VGA with an adapter to a supported digital connector (DP, HDMI, DVI), laptop and desktop.

If you are suggesting Desktop motherboards use a mobile framebuffer for VGA support, the technique is clearly non native and best considered experimental. If the headkaze, [Guide] Intel Framebuffer patching using WhateverGreen, mobile recommendations support VGA, a note is also appropriate. If not, clarification of exactly what works is required.
After reading your reply and re-reading the BusID tooltip from Intel FB-Patcher, I'd like to verify the following statements and subsequently update the Guide:
  • BusID 0x02 supported VGA up to Broadwell. Now this is used as the LVDS connector with a mobile framebuffer for Mobile CPUs. It should not be used with Desktop processors.
  • BusID 0x05 supports VGA with Skylake and up, effectively adapting it to a supported digital connector.
  • BusID 0x05 is the most flexible, supporting DVI, HDMI, and DP.
  • BusID 0x04, 0x05, and 0x06 can be used with either HDMI or DP on both Desktop and Mobile CPUs.
  • On certain motherboards (360/370 series ASUS, ASRock, and MSI) we are finding that BusID 0x01 drives external HDMI ports with Desktop Coffee Lake CPUs. Whether BusID 0x01 works on other products is unknown. More data is needed before drawing a conclusion.
  • On Gigabyte 370 and 390 series motherboards we are finding that BusID 0x04 drives HDMI.
 
Last edited:
Joined
Nov 10, 2018
Messages
16
Motherboard
ASRock B360M-ITX/ac
CPU
i5 8400
Graphics
Onboard HD630
Mac
MacBook Pro
If you are suggesting Desktop motherboards use a mobile framebuffer for VGA support, the technique is clearly non native and best considered experimental. If the headkaze, [Guide] Intel Framebuffer patching using WhateverGreen, mobile recommendations support VGA, a note is also appropriate. If not, clarification of exactly what works is required.
I would also like to add (resp. repeat) though (even if this is considered "experimental"), that 0x02 worked on DVI here and 0x01 on HDMI while 0x04, 0x05, 0x06 only worked on DP. As I said, I will also try 0x01 on HDMI and 0x02 on DVI later on, but it should be noted in the guide that in some rare occasions for some reason you seem to need 0x02 for an external display (e.g. if I wanted to use three displays), while I - of course - have no clue why. Hadn't I tried out that, I probably still had only one display working.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
5,046
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
I would also like to add (resp. repeat) though (even if this is considered "experimental"), that 0x02 worked on DVI here and 0x01 on HDMI while 0x04, 0x05, 0x06 only worked on DP. As I said, I will also try 0x01 on HDMI and 0x02 on DVI later on, but it should be noted in the guide that in some rare occasions for some reason you seem to need 0x02 for an external display (e.g. if I wanted to use three displays), while I - of course - have no clue why. Hadn't I tried out that, I probably still had only one display working.
Were you actually able to get DVI-D port working with BusID 0x02? If so, was Index set to something other than -1? I tried unsuccessfully to help @RowenDJ with DVI-D yesterday so I would be very interested to know if this works.

Because you currently have HDMI on 0x01 and DVID on 0x02, perhaps you meant the opposite BusID! :)
 
Last edited:
Joined
Oct 26, 2013
Messages
943
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Were you actually able to get DVI-D port working with BusID 0x02? If so, was Index set to something other than -1? I tried unsuccessfully to help @RowenDJ with DVI-D yesterday so I would be very interested to know if this works.

Because you currently have HDMI on 0x01 and DVID on 0x02, perhaps you meant the opposite BusID! :)
Bus-id and connector type are not important to VGA and DVI ports, problem is related to AGDP, just use old AGDP patch, then it no longer check both ports id, VGA/DVI port native work without any FB patches, no WEG.

1547383321367.png

I can upload more information about this.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
5,046
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 580
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Bus-id and connector type are not important to VGA and DVI ports, problem is related to AGDP, just use old AGDP patch, then it no longer check both ports id, VGA/DVI port native work without any FB patches, no WEG.

View attachment 378874
I can upload more information about this.
That's great information!! Is this correct?
  • Clover Configurator: ACPI page: Add: Change HECI to IMEI
  • Clover Configurator: Boot page: Check-on: -disablegfxfirmware
  • Clover Configurator: Graphics: ig-platform-id:
    • SKL (Skylake 6xxx CPU) use ig-platform-id 0x193B0005
    • KBL (Kaby Lake 7xxx CPU) use ig-platform-id 0x59120000
    • CFL (Coffee Lake 8xxx and 9xxx CPU) use ig-platform-id 0x3E9B0007
  • Clover Configurator: Kernel and Kext Patches page: Add the following by clicking "+" on the bottom left:
Code:
Name: AppleGraphicsDevicePolicy
Find* [HEX]: BA050000 00
Replace* [HEX]: BA000000 00
Comment: Disable AGDP to enable VGA and DVI
Disabled: NO
InfoPlistPatch: NO
Are there any downsides to disabling AGDP, such as issues with sleep, etc.?
 
Last edited:
Joined
Oct 26, 2013
Messages
943
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
That's great information!! Is this correct?
Code:
Name: AppleGraphicsDevicePolicy
Find* [HEX]: BA050000 00
Replace* [HEX]: BA000000 00
Comment: Disable AGDP to enable VGA and DVI
Disabled: NO
InfoPlistPatch: NO
You can test it, will upload ioreg and pngs later when I return home.

Edit: information update, ioreg and png files upload
 

Attachments

Last edited:
Joined
Oct 26, 2013
Messages
943
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Are there any downsides to disabling AGDP, such as issues with sleep, etc.?
Sleep / wake never work with my HD630, multi monitors work, others OK.
May be 5K MST monitor will have issue, disable AGDP also disable special EDID.
 
Top