Contribute
Register

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

@Nodarkthings, @matony - agreed. My UHD630 appears in System Info/Graphics and I have nothing in System Info/PCI.

Screen Shot 2020-12-09 at 4.58.19 PM.png


Screen Shot 2020-12-09 at 5.01.17 PM.png
 
I'll do it as soon as possible, but can you at least answer to whether I'm on the right track having HD4000 showing in System Info/Graphics Cards or in System Info/PCI, please?
This way I'll be able to upload the best EFI folder, as a starting point. ;)
According to this thread, System Info/PCI is cosmetic. It's why I've never been concerned about not seeing devices listed there. Use Hackintool to see your PCIe devices.
 
Hi @CaseySJ. first thank you for your help.
I recently have tried to run Mojave on my laptop.
it has a CPU Kaby lake’R i5-8250u UHD620 FHD 1920x 1080.
I have worked on other issues and done except gpu just have 7MB VRam

7mb.jpg


When I try to patch on Hackintool, my default moniter just show black but still have backlight.

When i plug my VGA monitor, luckily it seem work but dont show sign in screen.
it
vga.jpg



I use id-platform: 00001659
Any idea or suggestions?
 

Attachments

  • config.plist
    29.9 KB · Views: 62
Last edited:
it has a CPU Kaby lake’R i5-8250u UHD620 FHD 1920x 1080.
I have worked on other issues and done except gpu just have 7MB VRam

I use id-platform: 00001659
Any idea or suggestions?
This document says the recommended laptop framebuffer for Kabylake is 0x591B0000 (AAPL,ig-platform-id=0x00001B59). Have you tried that? If so, how did you end up choosing 0x59160000? You have your framebuffer-conX-type set to DP (0x0400) for all video connectors which I'm fairly sure is not accurate for your laptop. You'll want the types set correctly for each video interface. The interface types are as follows (credit Headkaze, but I'm sure you can find this elsewhere):
  • Zero = 0x0
  • Dummy = 0x1 ; Always used as dummy, seems to sometimes work as VGA
  • LVDS = 0x2 ; Just like on AMD LVDS is used for eDP
  • DigitalDVI = 0x4 ; This is not eDP despite a common misbelief
  • SVID = 0x8
  • VGA = 0x10
  • DP = 0x400
  • HDMI = 0x800
  • AnalogDVI = 0x2000
Do you know the connector types that you need to specify for your laptop?

You are spoofing device-id 0x5916 (your native device-id is 0x5917 which according to this is not natively supported). I don't know any better but am curious - how did you choose 0x5916? I see that this document recommends spoofing 0x5916 for UHD620.

Try this and let us know what you find: Set your AAPL,ig-platform-id=0x00001B59 and remove the framebuffer-conX properties (letting WhateverGreen pick its own values). Remove framebuffer-unifiedmem. When you reboot, clear NVRAM before booting macOS again. What happens?
 
Last edited:
This document says the recommended laptop framebuffer for Kabylake is 0x591B0000 (AAPL,ig-platform-id=0x00001B59). Have you tried that? If so, how did you end up choosing 0x59160000? You have your framebuffer-conX-type set to DP (0x0400) for all video connectors which I'm fairly sure is not accurate for your laptop. You'll want the types set correctly for each video interface. The interface types are as follows (credit Headkaze, but I'm sure you can find this elsewhere):
  • Zero = 0x0
  • Dummy = 0x1 ; Always used as dummy, seems to sometimes work as VGA
  • LVDS = 0x2 ; Just like on AMD LVDS is used for eDP
  • DigitalDVI = 0x4 ; This is not eDP despite a common misbelief
  • SVID = 0x8
  • VGA = 0x10
  • DP = 0x400
  • HDMI = 0x800
  • AnalogDVI = 0x2000
Do you know the connector types that you need to specify for your laptop?

You are spoofing device-id 0x5916 (your native device-id is 0x5917 which according to this is not natively supported). I don't know any better but am curious - how did you choose 0x5916? I see that this document recommends spoofing 0x5916 for UHD620.

Try this and let us know what you find: Set your AAPL,ig-platform-id=0x00001B59 and remove the framebuffer-conX properties (letting WhateverGreen pick its own values). Remove framebuffer-unifiedmem. When you reboot, clear NVRAM before booting macOS again. What happens?
Thanks for repplying me.
I have two external port: VGA and HDMI.
I try your platform-id you recommend, built-in display still blackgreen but VGA does not work neither.
717E4F8E-0319-48EF-944D-D88BCD039244.png

So i tried remove device-id like this
104E64BF-3350-4E7A-9BC5-51DC6060EEFB.png

Unluckily my built-in display work but nothing changes about VRAM
EF95ECC0-305F-46F1-8B13-49FA93EFEC15.png
 
Thanks for repplying me.
I have two external port: VGA and HDMI.
I try your platform-id you recommend, built-in display still blackgreen but VGA does not work neither.
View attachment 501082
So i tried remove device-id like this
View attachment 501083
Unluckily my built-in display work but nothing changes about VRAM

Framebuffer patching can be very tedious, requiring a lot of trial and error. I searched for your laptop / UHD620 and see that many others have struggled with this. You are going to need to experiment and try each framebuffer value like I did here. This is the hardest part, so be patient. I would recommend that you restore your device-id=16590000 as required here and test each Kabylake laptop 3-connector framebuffer value listed here. Start with 0x87C00000 as recommended here. When you change the framebuffer value and reboot for a new test, clear NVRAM before you start a new test.

0x591E0000 mobile 3 35 MB
0x87C00000 mobile 3 35 MB
0x59160000 mobile 3 35 MB
0x59270009 mobile 3 39 MB
0x59160009 mobile 3 39 MB
0x591B0000 mobile 3 39 MB
0x591E0001 mobile 3 39 MB
0x59270004 mobile 3 58 MB
0x59260002 mobile 3 58 MB
0x87C00005 mobile 3 58 MB
0x591C0005 mobile 3 58 MB
 
Last edited:
Framebuffer patching can be very tedious, requiring a lot of trial and error. I searched for your laptop / UHD620 and see that many others have struggled with this. You are going to need to experiment and try each framebuffer value like I did here. This is the hardest part, so be patient. I would recommend that you restore your device-id=16590000 as required here and test each Kabylake laptop 3-connector framebuffer value listed here. Start with 0x87C00000 as recommended here. When you change the framebuffer value and reboot for a new test, clear NVRAM before you start a new test.

0x591E0000 mobile 3 35 MB
0x87C00000 mobile 3 35 MB
0x59160000 mobile 3 35 MB
0x59270009 mobile 3 39 MB
0x59160009 mobile 3 39 MB
0x591B0000 mobile 3 39 MB
0x591E0001 mobile 3 39 MB
0x59270004 mobile 3 58 MB
0x59260002 mobile 3 58 MB
0x87C00005 mobile 3 58 MB
0x591C0005 mobile 3 58 MB
Really thank you. I’ll try all your recommend and report the result later. Hope it will solve my problem
 
Really thank you. I’ll try all your recommend and report the result later. Hope it will solve my problem
You're welcome. I wish I could spare you the agony of framebuffer patching, but I can't. Just be patient. The OC Guide seems to have some good information. You may need DeviceProperties framebuffer-stolenmem and framebuffer-fbmem as they suggest. Only add these properties after testing without them (and finding that your rig doesn't work without them). Good luck. Can't wait to hear about your success.
 
Back
Top