Contribute
Register

[Guide] Intel Framebuffer patching using WhateverGreen

I tried the suggested platform and device id, but at the moment during boot that I normally see that the apple logo becomes smaller and less stretched, the machine now hangs. Just a black screen thats all. Thus at the moment otherwize the more advanced display settings becomes active it now goes wrong.
Understood -- this means that Index 0 needs to be present with Type = LVDS. So we'll need to keep using the mobile Platform ID
 
When working on the config.plist file because of the devece id I noticed an entry:
UseIntelHDMI
Which was set at NO.
So I altered to YES and rebooted and now I have a green line for the internal display. This gave me hope, so I start to try the index and bus id combinations, but no success to get any image out of an HDMI port or Display port.
 

Attachments

  • Screenshot 2019-02-08 at 23.45.45.png
    Screenshot 2019-02-08 at 23.45.45.png
    76.8 KB · Views: 108
  • Screenshot 2019-02-08 at 23.56.22.png
    Screenshot 2019-02-08 at 23.56.22.png
    110.2 KB · Views: 121
  • Screenshot 2019-02-09 at 00.03.42.png
    Screenshot 2019-02-09 at 00.03.42.png
    91.1 KB · Views: 101
  • Screenshot 2019-02-09 at 00.06.37.png
    Screenshot 2019-02-09 at 00.06.37.png
    98 KB · Views: 81
  • Screenshot 2019-02-09 at 00.12.24.png
    Screenshot 2019-02-09 at 00.12.24.png
    90.5 KB · Views: 88
  • Screenshot 2019-02-09 at 00.15.39.png
    Screenshot 2019-02-09 at 00.15.39.png
    106.9 KB · Views: 89
  • Screenshot 2019-02-09 at 00.19.29.png
    Screenshot 2019-02-09 at 00.19.29.png
    98.6 KB · Views: 82
  • Screenshot 2019-02-09 at 00.24.02.png
    Screenshot 2019-02-09 at 00.24.02.png
    92.7 KB · Views: 79
  • Screenshot 2019-02-09 at 00.28.26.png
    Screenshot 2019-02-09 at 00.28.26.png
    83.8 KB · Views: 71
  • Screenshot 2019-02-09 at 00.30.55.png
    Screenshot 2019-02-09 at 00.30.55.png
    92.5 KB · Views: 87
  • Screenshot 2019-02-09 at 00.33.23.png
    Screenshot 2019-02-09 at 00.33.23.png
    77.8 KB · Views: 94
  • Screenshot 2019-02-09 at 00.35.54.png
    Screenshot 2019-02-09 at 00.35.54.png
    92.9 KB · Views: 86
When working on the config.plist file because of the devece id I noticed an entry:
UseIntelHDMI
Which was set at NO.
So I altered to YES and rebooted and now I have a green line for the internal display. This gave me hope, so I start to try the index and bus id combinations, but no success to get any image out of an HDMI port or Display port.
That’s still progress!

You might want to try removing several of the ACPI patches including the ones I mentioned in earlier post. At this point I think you just have to be creative and try simplifying the config.plist and kexts as much as possible.

For example, in ACPI try removing:
  • Change HECI to IMEI
  • Change PCI0.VID to IGPU #1
  • Change PCI0.VID to IGPU #2
  • Change GFX0 to IGPU
Also:

In Graphics: Disable the checkboxes for "Inject ATI" and "Inject NVidia"
In System Parameters: Turn on "Inject System ID"
385964385963

P.S. I think "UseIntelHDMI" should remain disabled because WhateverGreen will take care of all Intel GPU handling.
 
Last edited:
I will remove the ACPI entries you mention and test first if it boots and have at least the same functionality as I have now. As for the Inject ATI and NVIDIA, I already had them removed. When I noticed the UseIntelHDMI, I went through the whole config.plist and saw the inject statements and removed them. It seemed to me There is no ATI hardware, so it is not needed and the NVIDIA should be disabled, so why inject something to support it. There are also entries which are commented out, so indeed the plan was to remove as much as possible.
As for the kext, I do not use that much, pretty much the minimum.
Of Course the lilu and whatevergreen. And then the VoodooHDA for sound and VoodooPS2controller for keyboard and mouse pad. IntelMausiEthernet so I have at least a wired ethernet connection.
And there are two more or less standard kext's FakeSMC and SATA-unsurported. Perhaps the last one is not needed. But If I remove one of the others I will lose functionality.
And yesterday I installed kext for backlight, the backlight was full on and thus the screen was to bright in the evening.
But the testing with the reboots takes time. The twelve index bus id combination to check take about an hour I guess. And the moment you change one other variable like UseIntelHDMI, then again you have to check those combinations.
 
When I remove "Change GFX0 to IGPU" from the ACPI settings, then irrespective of how the "UseIntelHDMI" flag is set the LVDS line will always be red. The other change settings do not have influence on the behavior of the UseIntelHDMI flag. After reboot the LVDS is either reported as internal or external depending on how the UseIntelHDMI flag is set.
Thus "Change GFX0 to IGPU" does have some impact, so I do not know if it is wise to leave it out or not.
It is a bit hard to just try all kind of combinations.
 
I disabled the settings:
  • Change HECI to IMEI
  • Change PCI0.VID to IGPU #1
  • Change PCI0.VID to IGPU #2
  • Change GFX0 to IGPU
I also removed the UseIntelHDMI flag, so it is disabled. The functionality remains the same, no noticeable loss or gain in functionality. I tested all HDMI index bus id combinations and a few DP along side. Nothing seen on external monitor.
Attached the current Config.plist file. The setting of bus id and index etc is all removed, since that has no impact compared with the defaults. Further the SMBIOS part is removed.
 

Attachments

  • Screenshot 2019-02-09 at 11.58.28.png
    Screenshot 2019-02-09 at 11.58.28.png
    106.8 KB · Views: 103
  • Screenshot 2019-02-09 at 12.02.02.png
    Screenshot 2019-02-09 at 12.02.02.png
    97.8 KB · Views: 97
  • Screenshot 2019-02-09 at 12.04.18.png
    Screenshot 2019-02-09 at 12.04.18.png
    87.7 KB · Views: 93
  • Screenshot 2019-02-09 at 12.13.05.png
    Screenshot 2019-02-09 at 12.13.05.png
    95.7 KB · Views: 87
  • Screenshot 2019-02-09 at 12.27.05.png
    Screenshot 2019-02-09 at 12.27.05.png
    104.6 KB · Views: 87
  • Screenshot 2019-02-09 at 12.31.55.png
    Screenshot 2019-02-09 at 12.31.55.png
    90.4 KB · Views: 87
  • Screenshot 2019-02-09 at 12.35.52.png
    Screenshot 2019-02-09 at 12.35.52.png
    87.1 KB · Views: 71
  • Screenshot 2019-02-09 at 12.38.38.png
    Screenshot 2019-02-09 at 12.38.38.png
    96.5 KB · Views: 83
  • config.plist
    8.9 KB · Views: 126
I disabled the settings:
  • Change HECI to IMEI
  • Change PCI0.VID to IGPU #1
  • Change PCI0.VID to IGPU #2
  • Change GFX0 to IGPU
I also removed the UseIntelHDMI flag, so it is disabled. The functionality remains the same, no noticeable loss or gain in functionality. I tested all HDMI index bus id combinations and a few DP along side. Nothing seen on external monitor.
Attached the current Config.plist file. The setting of bus id and index etc is all removed, since that has no impact compared with the defaults. Further the SMBIOS part is removed.
Please try the attached config file -- just copy SMBIOS section back into the file and change name back to config.plist.

It would be good to check DisplayPort output via a single USB-C to DisplayPort cable, if possible.
 

Attachments

  • config-JVenema-v1.plist
    11.3 KB · Views: 146
No luck, during boot only apple logo but no bar and it hangs. I'm glad it is an installation on an external drive. Just plug it in my other laptop swap out the config.plist and I'm back ;-).
 
Sorry pressed post button instead of the attached files, here picture of boot screen.
 

Attachments

  • Photo on 09-02-2019 at 14.09.jpg
    Photo on 09-02-2019 at 14.09.jpg
    33.7 KB · Views: 66
Sorry pressed post button instead of the attached files, here picture of boot screen.
Try changing just the device-id to "0x591B" which is mobile HD 630. Using a USB-C to DisplayPort cable may be worth an attempt (no adapters, but just a straight USB-C to DP cable).

Other than that, I'm afraid that's all I can do. Hopefully someone with laptop experience can provide additional suggestions. You've certainly given it a valiant effort thus far.
 
Back
Top