Contribute
Register

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

Lilu 1.4.5 / WEG 1.4.0 continue to work perfectly for me with my HP EliteDesk 800 G4 Mini / MacMini8,1 running Catalina 10.15.6. I'm continuing to try to learn more about how/what WEG is doing, so this question is more out of curiosity than necessity.

The IGPU graphics attributes below are defined for a real MacMini8,1, but are not defined for my HackMini8,1. Does anyone know why these attributes should or should not be defined on a hackintosh with Intel UHD 630 graphics? I found this blog by Pikeralpha which suggests that AAPL,GfxYTile is a fix for Skylake. Maybe the AAPL,GfxYTile setting does not matter for the i7-8700T/UHD 630 Coffee Lake? I tried manually adding these attributes (injected via CLOVER device properties) and while I observe them in IORegistryExplorer, I don't observe any behavioral differences. Thank you.

Attribute Data Data (Reverse byte order)
AAPL,GfxYTile 0x00000001 0x01000000
graphic-options 0x0000000c 0x0c000000


EDIT:
A grep of /System/Library/Extensions for 'graphic-options' reveals the following matches:
  • Binary file ./AMDFramebuffer.kext/Contents/MacOS/AMDFramebuffer matches
  • Binary file ./IONDRVSupport.kext/IONDRVSupport matches
  • Binary file ./IOGraphicsFamily.kext/IOGraphicsFamily matches
A grep of /System/Library/Extensions for 'GfxYTile' reveals the following matches:
  • Binary file ./AppleIntelKBLGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelKBLGraphicsFramebuffer matches
  • Binary file ./AppleIntelCFLGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelCFLGraphicsFramebuffer matches
  • Binary file ./AppleIntelICLLPGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelICLLPGraphicsFramebuffer matches
  • Binary file ./AppleIntelSKLGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelSKLGraphicsFramebuffer matches
 
Last edited:
Lilu 1.4.5 / WEG 1.4.0 continue to work perfectly for me with my HP EliteDesk 800 G4 Mini / MacMini8,1 running Catalina 10.15.6. I'm continuing to try to learn more about how/what WEG is doing, so this question is more out of curiosity than necessity.

The IGPU graphics attributes below are defined for a real MacMini8,1, but are not defined for my HackMini8,1. Does anyone know why these attributes should or should not be defined on a hackintosh with Intel UHD 630 graphics? I found this blog by Pikeralpha which suggests that AAPL,GfxYTile is a fix for Skylake. Maybe the AAPL,GfxYTile setting does not matter for the i7-8700T/UHD 630 Coffee Lake? I tried manually adding these attributes (injected via CLOVER device properties) and while I observe them in IORegistryExplorer, I don't observe any behavioral differences. Thank you.

Attribute Data Data (Reverse byte order)
AAPL,GfxYTile 0x00000001 0x01000000
graphic-options 0x0000000c 0x0c000000
We have this description of GfxYTile from Hackintool:

Screen Shot 2020-08-01 at 5.58.50 AM.png


Although a little vague, it seems to imply that property AAPL,GfxYTile is inserted on all Macs since El Capitan. Not sure if it's only for HD 530, but if real Mac mini is inserting this as well then it also affects UHD 630. I've never used this, however.
 
Last edited:
We have this description of GfxYTile from Hackintool:

View attachment 482484

Although a little vague, it seems to imply that property AAPL,GfxYTile is inserted on all Macs since El Capitan. Not sure if it's only for HD 530, but if real Mac mini is inserting this as well then it's also affected UHD 630. I've never used this, however.

Thank you for the quick response! That's consistent with the description of GfxYTile in Pikeralpha's blog. I added grep results to my previous post. It's interesting that GfxYTile is found in AppleIntelCFLGraphicsFramebuffer.kext.
 
Used this guide on a gigabyte Z390M gaming MB. I was able to get accelerated graphics working according to The System Information report and the Hackintool, but I cannot get the Hackintool to show any highlighted connectors for either a connected HDMI monitor or connected DVI monitor.

I do not have a working video port on the MB nor do I have an external GPU. But I can use another Mac to "Share Screen" into the Z390 and operate the Hackintool "remotely".

Is this remote approach the reason that the connectors are not showing??? I wouldn't think so.

Any suggestions as to why no connectors are hilighted or what to do when no connectors are highlighted?
 
Used this guide on a gigabyte Z390M gaming MB. I was able to get accelerated graphics working according to The System Information report and the Hackintool, but I cannot get the Hackintool to show any highlighted connectors for either a connected HDMI monitor or connected DVI monitor.

I do not have a working video port on the MB nor do I have an external GPU. But I can use another Mac to "Share Screen" into the Z390 and operate the Hackintool "remotely".

Is this remote approach the reason that the connectors are not showing??? I wouldn't think so.

Any suggestions as to why no connectors are hilighted or what to do when no connectors are highlighted?

I experienced a similar issue when I was experimenting with different device-ids. The "native" device-id for your CPU (if it is the CPU in your signature) is 0x3e92 according to this. If you don't define device-id in your config.plist, your device-id should default to 0x3e92 (so you shouldn't need to explicitly set the device-id). Without seeing your problem reporting files (including EFI and IORegistry dump), it's hard to determine your issue. You can see the results of my experimentation at the following links:
 
I experienced a similar issue when I was experimenting with different device-ids. The "native" device-id for your CPU (if it is the CPU in your signature) is 0x3e92 according to this. If you don't define device-id in your config.plist, your device-id should default to 0x3e92 (so you shouldn't need to explicitly set the device-id). Without seeing your problem reporting files (including EFI and IORegistry dump), it's hard to determine your issue. You can see the results of my experimentation at the following links:
Thanks deeveedee, I'll check it out. If needed I will send you some problem reporting files.
 
deeveedee... I used hackintool on another setup with fully working video. The tool highlighted the monitor connection when using most ig-platform-ids, but some would cause the highlight to go away. device-id had no effect in my testing. So apparently some wrong ig-platform-ids specified in the Patch>Info screen at the bottom right can cause highlighting on the Patch>Connectors screen to not work.

I will go back now to the Z390 M Gaming machine and see if I can find an ig-platform-id that will cause highlighting to work.
 
deeveedee... I used hackintool on another setup with fully working video. The tool highlighted the monitor connection when using most ig-platform-ids, but some would cause the highlight to go away. device-id had no effect in my testing. So apparently some wrong ig-platform-ids specified in the Patch>Info screen at the bottom right can cause highlighting on the Patch>Connectors screen to not work.

I will go back now to the Z390 M Gaming machine and see if I can find an ig-platform-id that will cause highlighting to work.

I didn't actually determine success/failure by whether Hackintool properly displayed the connections. I defined all attributes independently (didn't use the framebuffer-conX-alldata attribute) and kept experimenting with ig-platform-ids (along with conX-type and conX-index and conX-busID) until I found combinations that worked. Very tedious, but produced a perfect result. Like you, I would remote into the unit when it booted to black screen.

Also, a new version of WhateverGreen was just released.
 
** HDMI Output Problem Fixed by WhateverGreen 1.4.1 **

WhateverGreen 1.4.1 was released today and I can confirm that on-board HDMI ports on many motherboards are working again (on Z490 Vision D and Z390 Designare). The problem was first seen in Catalina.


Screen Shot 2020-08-03 at 3.08.11 PM.png
 
I didn't actually determine success/failure by whether Hackintool properly displayed the connections. I defined all attributes independently (didn't use the framebuffer-conX-alldata attribute) and kept experimenting with ig-platform-ids (along with conX-type and conX-index and conX-busID) until I found combinations that worked. Very tedious, but produced a perfect result. Like you, I would remote into the unit when it booted to black screen.

Also, a new version of WhateverGreen was just released.

Yes I'm going to try the new version of WEG now. When you were doing your testing did you ever have the problem of no connectors being highlighted regardless of what ig-platform-id you chose?

I just went through the entire list of ig-platform-ids and could never get a connector the highlight for the monitor I had connected.
 
Back
Top