Contribute
Register

[Guide] Intel Framebuffer patching using WhateverGreen


Nice work on the -igfxfbdump addition to WEG :)

PS My only concern was the change to findFramebufferId which assumes it will always be 32-bit aligned. But it's possibly a non-issue.
 
Last edited:
Just finally made it. At first I trusted in the regular release of Lilu and WEG and was facing the format problem (integer/data) over and over again. After using the debug versions it finally works.

Looking into audio, I thought WEG takes care of HDMI audio more or less automatically...
 
Nice work on the -igfxfbdump addition to WEG :)

PS My only concern was the change to findFramebufferId which assumes it will always be 32-bit aligned. But it's possibly a non-issue.

Yeah, non-issue. Data like that (structs) are always aligned (usually on 64-bit) for efficient access by compiler generated code.
 
Hi! First of all, thank you so much for the guide and it really helps.

I'm having question on patching the framebuffer with the objective of resolving the sleep/wake up problem in my system. Here is my configuration:

- MB Gigabyte GA-H270M-D3H, using KabyLake i5-7400 on integrated Intel HD630 with 3 ports (D-Sub, DVI-D, HDMI) and I use the HDMI port for single display only.
- Upgraded to Mojave, with latest Clover, Lilu & Whatevergreen
- Everything is working fine using imac 18,1, except it will reboot instead of wake up after it is turned off with the sleep mode(looks like it is completely shut down instead of sleeping).

I can't figure out how to patch the framebuffer properly after reading the guide. Should I disable certain connectors but what data I should use? I use 0x59120000 as the ig-platform-id.

Many thanks!

Did you get this resolved? I didn't see a response to your post, and I've got a similar set-up (and am similarly confused about how best to patch. In my case I have 3 ports on the mobo (DVI-D, DP and HDMI), and want to know how to patch so that I run my DP monitor and a second display on HDMI without the machine rebooting whenever I turn on the HDMI display.
 
Did you get this resolved? I didn't see a response to your post, and I've got a similar set-up (and am similarly confused about how best to patch. In my case I have 3 ports on the mobo (DVI-D, DP and HDMI), and want to know how to patch so that I run my DP monitor and a second display on HDMI without the machine rebooting whenever I turn on the HDMI display.

No, I haven't got any solution yet, but my question seems a bit different from the problem you are having now. I use single monitor and just have issue on sleep/wake.

Do you mean you don't know how to use FB-patcher or you tried different combination without success?
 
It only seems to be AppleALC that fails but if you run the script again it appears to create the binary okay.
I'm afraid it's not. It took me two days of trying out until I downloaded the debug version 1.3.2, threw it into Other and /L/E e voilà - works!
 
Asus Maximus VII Impact
i7 4790k HD 4600
iMac15,1
10.14 18A391


Until Mojave i was using ig-platform-id = 0x02dd0003 with InjectIntel and FakePCIID_Intel_HD_Graphics.kext and everything was fine in HS.
In 10.14 can't boot with that settings because of "ioconsoleusers gioscreenlockstate 3". Maybe because i use GTX1080TI too and there is no webdrivers yet... but in HS it worked fine (HD 4600). (do not want to remove GTX because of WIN-games)

Now in 10.14 when i set fake ig-platform-if e.g 0x12345678 i can boot but VRAM is null.
With proper* id stuck at "ioconsoleusers gioscreenlockstate 3".

Tried your method
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<dict>
<key>layout-id</key>
<data>
AAAAAA==
</data>
</dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
CwASBA==
</data>
</dict>
</dict>
without success.
Tried 0x0412000B (15,1) and 0x02dd0003 (14,2) same issue ;(

Any help?
@headkaze

Thank you!
 

Attachments

  • config.plist
    5.1 KB · Views: 184
  • Screenshot 2018-10-09 at 00.38.29.png
    Screenshot 2018-10-09 at 00.38.29.png
    62.3 KB · Views: 178
  • Screenshot 2018-10-09 at 00.38.19.png
    Screenshot 2018-10-09 at 00.38.19.png
    89.1 KB · Views: 201
Last edited:
Asus Maximus VII Impact
i7 4790k HD 4600
iMac15,1
10.14 18A391


Until Mojave i was using ig-platform-id = 0x02dd0003 with InjectIntel and FakePCIID_Intel_HD_Graphics.kext and everything was fine in HS.
In 10.14 can't boot with that settings because of "ioconsoleusers gioscreenlockstate 3". Maybe because i use GTX1080TI too and there is no webdrivers yet... but in HS it worked fine (HD 4600). (do not want to remove GTX because of WIN-games)

Now in 10.14 when i set fake ig-platform-if e.g 0x12345678 i can boot but VRAM is null.
With proper* id stuck at "ioconsoleusers gioscreenlockstate 3".

Tried your method
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<dict>
<key>layout-id</key>
<data>
AAAAAA==
</data>
</dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
CwASBA==
</data>
</dict>
</dict>
without success.
Tried 0x0412000B (15,1) and 0x02dd0003 (14,2) same issue ;(

Any help?
@headkaze

Thank you!

Typical ig-platform-id for HD4600 desktop is 0x0d220003. Reversed: 0300220d.
 
Typical ig-platform-id for HD4600 desktop is 0x0d220003. Reversed: 0300220d.

ok, i have removed GTX for test and... HD 4600 works fine ;) so, it looks like i have to wait for webdrivers.
Thank you
 
Last edited:
That's weird. My config.plist doesn't seem to have "Properties" under Devices. Just Audio, FakeID and USB sections along with UseIntelHDMI.

config_plist-2.jpg

Should I add "Properties" and then a "PciRoot(0x0)/Pci(0x2,0x0)" key with my "platform-id" under that? So it looks more like the screenshots shown here.

imageproxy.png

Thanks,

Steve
 
Back
Top