Contribute
Register

[Guide] Intel Framebuffer patching using WhateverGreen

The FB-Patcher, which looks similar, does populate the dropdowns. While the Hacktool doesn't.
 

Attachments

  • Screenshot 2019-02-07 at 22.24.58.png
    Screenshot 2019-02-07 at 22.24.58.png
    274.3 KB · Views: 89
  • Screenshot 2019-02-07 at 22.26.04.png
    Screenshot 2019-02-07 at 22.26.04.png
    101.4 KB · Views: 100
  • Screenshot 2019-02-07 at 22.26.32.png
    Screenshot 2019-02-07 at 22.26.32.png
    99.5 KB · Views: 96
  • Screenshot 2019-02-07 at 22.26.55.png
    Screenshot 2019-02-07 at 22.26.55.png
    102.7 KB · Views: 82
  • Screenshot 2019-02-07 at 22.27.04.png
    Screenshot 2019-02-07 at 22.27.04.png
    97.4 KB · Views: 78
  • Screenshot 2019-02-07 at 22.31.44.png
    Screenshot 2019-02-07 at 22.31.44.png
    612.7 KB · Views: 85
The FB-Patcher, which looks similar, does populate the dropdowns. While the Hacktool doesn't.
Okay, that's more like it!!
  • The Nvidia Quadro M1200M in your laptop apparently does not drive display monitors. It is used for compute tasks only. See: https://www.techpowerup.com/gpu-specs/quadro-m1200-mobile.c2921
    385686
  • Therefore the HD 630 of the i7-7700HQ must be responsible for all video output.
  • The two Thunderbolt ports (USB Type C) can each drive a DisplayPort 1.2 monitor as well. Those ports should already be functional (no connector patching needed). Have you tried using a simple USB-C to DisplayPort cable like this one?
Currently you have this:

Index 0; BusID 0x00; Type LVDS
Index 2; BusID 0x04; Type HDMI
Index 3; BusID 0x06; Type DP
Index -1; BusID 0x00; Type DUMMY

If there is no HDMI output, then try changing it to this:

Index 0; BusID 0x00; Type LVDS
Index 2; BusID 0x01; Type HDMI
Index 3; BusID 0x06; Type DP
Index -1; BusID 0x00; Type DUMMY

And if this fails, try this:

Index 0; BusID 0x00; Type LVDS
Index 2; BusID 0x02; Type HDMI
Index 3; BusID 0x06; Type DP
Index -1; BusID 0x00; Type DUMMY

EDIT: We're assuming HDMI is on Index 2 (Port 0x06), but it could be on Index 3 or Index 1 as well. So if above configurations fail, Index 3 should be attempted next.
 
Last edited:
Thanks for your help. Where can I see the BusID in e.g. IoJones? I would like to verify if the patches are coming true. I already tried BusId 0x02 on index 2, but I do not see were to look for it in IOJones and If I look with FB Patcher, it remains at 0x06.
Same with altering the connection type from DP to HDMI at index 3, it just stays at DP (00 04 00 00), both in IOJones and FB patcher after the reboot.
I generate the patch file with FB-Patcher, after changing there the values. I safe the patch as file and when I look in the file with the plist editor of xcode, I do see what I expect. Then I also open alongside the original config.plist file and I copy the entries from the generated patch file into the actual config.plist file. I only copy the lines needed to alter the desired values.
Then I close the plist file and open it again to see if all is really in there. Next I reboot and when I check I do not see any altered values. Is there some extra thing to do that I forget, so the values are not altered. Or are they altered, but I'm looking at it incorrectly.
Tomorrow I can perhaps check the DP output, at the office I have a LG 4K monitor, which I normally use for connecting my MacBook pro, via the thunderbolt USB-C connection. That is USB-C to USB-C, but that is good enough to test. The monitors here at home all have HDMI and/or DVI. Or they are very tightly connected in the iMac ;-).
All this work is for my son, who has windows hardware, so he can use Logic Pro X ;-).
 

Attachments

  • Screenshot 2019-02-07 at 23.27.48.png
    Screenshot 2019-02-07 at 23.27.48.png
    308.8 KB · Views: 74
I have a Satechi, that I use to connect "normal" USB things to my MacBook. It also has an HDMI output, which I know functions, since I have used it. I tested the displayport with it and no luck. So it doesn't make sense to drag all the stuff to the office to test there.
 

Attachments

  • Screenshot 2019-02-08 at 00.01.41.png
    Screenshot 2019-02-08 at 00.01.41.png
    142.2 KB · Views: 54
Thanks for your help. Where can I see the BusID in e.g. IoJones? I would like to verify if the patches are coming true. I already tried BusId 0x02 on index 2, but I do not see were to look for it in IOJones and If I look with FB Patcher, it remains at 0x06.
Same with altering the connection type from DP to HDMI at index 3, it just stays at DP (00 04 00 00), both in IOJones and FB patcher after the reboot.
BusID will not appear in IOJones or IORegistryExplorer. But look for av-signal-type when you click on:
  • AppleIntelFramebuffer@0
  • AppleIntelFramebuffer@1
  • AppleIntelFramebuffer@2
If I recall correctly, signal type 0x08 is HDMI and 0x10 is DisplayPort.

It seems you are creating the patch and inserting it correctly into the config.plist. But feel free to upload your config.plist for us to audit. (Remove serial numbers from SMBIOS section.)

Each time you run FB-Patcher, you should do 2 things:
  • Framebuffer --> MacOS 10.14
  • Patches --> Apply Current Patches
Both of these functions are accessed from the top menu bar. The second option should show the currently active connector settings. If "Apply Current Patches" is turned off, then FB-Patcher will show the default connector settings.

But if connector settings are the same with or without "Apply Current Patches" then there's a different problem that we need to identify and fix.
 
@JVenema

The more I think about this, the more it seems likely that your system has 4 connectors (none of them should be -1):

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- DP?
Index 3 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)

or

Index 0 -- LVDS
Index 1 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)
Index 2 -- DP?
Index 3 -- DP?

It is unlikely (though not impossible) to have the following configuration:

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- HDMI? <-- Very rare to be sandwiched between two DP connections
Index 3 -- DP?
 
@JVenema

The more I think about this, the more it seems likely that your system has 4 connectors (none of them should be -1):

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- DP?
Index 3 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)

or

Index 0 -- LVDS
Index 1 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)
Index 2 -- DP?
Index 3 -- DP?

It is unlikely (though not impossible) to have the following configuration:

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- HDMI? <-- Very rare to be sandwiched between two DP connections
Index 3 -- DP?

I did some experiments, under windows, the displayport seems to mirror the internal display. The HDMI output gives a black screen, but my mouse can move to there, so it is functioning. Since It is my sons laptop I can not login so I can only see the behavior of windows until the login screen.
Your second option about the HDMI on index 1 with the 3 different BusId's have all been tried uit. You suggestion to try te HDMI on index 3, I will have to test.
Attached the two config files used for BusId 2 and 1. The others are more of the same. Plus the screenshots from FB patcher where you can see that the value set in the Config.plist, is visible. Note that the variant with BusId set at 4 is the default.
I also tried some different BusId values for the DP, to see if that one comes alive.
 

Attachments

  • config BusId1.plist
    12.5 KB · Views: 102
  • config BusId2.plist
    12.5 KB · Views: 87
  • Screenshot 2019-02-08 at 10.04.10.png
    Screenshot 2019-02-08 at 10.04.10.png
    105.9 KB · Views: 72
  • Screenshot 2019-02-08 at 09.59.57.png
    Screenshot 2019-02-08 at 09.59.57.png
    116.2 KB · Views: 71
  • Screenshot 2019-02-08 at 10.08.23.png
    Screenshot 2019-02-08 at 10.08.23.png
    127.5 KB · Views: 52
  • Screenshot 2019-02-08 at 10.14.49.png
    Screenshot 2019-02-08 at 10.14.49.png
    109.5 KB · Views: 59
@JVenema

The more I think about this, the more it seems likely that your system has 4 connectors (none of them should be -1):

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- DP?
Index 3 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)

or

Index 0 -- LVDS
Index 1 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)
Index 2 -- DP?
Index 3 -- DP?

It is unlikely (though not impossible) to have the following configuration:

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- HDMI? <-- Very rare to be sandwiched between two DP connections
Index 3 -- DP?
I just wonder which pipe value to use for enabling Index 3 and what the impact of that value is. Why is the one that works 8 and the other two entries 10, does it hint to how it is connected, to the Intel or the NVIDIA?
 
What about my indices? They go 0, 2, 3, -1. Thus Framebuffer_con0 is now Index 0, Framebuffer_con1 is index 2, Framebuffer_con2 is index 3 and Framebuffer_con4 is -1 and thus now disabled I assume.
 
@JVenema

The more I think about this, the more it seems likely that your system has 4 connectors (none of them should be -1):

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- DP?
Index 3 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)

or

Index 0 -- LVDS
Index 1 -- HDMI? (BusID 0x04, 0x01, 0x02 should be attempted)
Index 2 -- DP?
Index 3 -- DP?

It is unlikely (though not impossible) to have the following configuration:

Index 0 -- LVDS
Index 1 -- DP?
Index 2 -- HDMI? <-- Very rare to be sandwiched between two DP connections
Index 3 -- DP?
I've tested the following combinations, all in vain.
The last item always goes to -1, it seems it is not possible to define more then 3 indices. I can define them in FB patcher and put it in the config.plist file, but after a reboot the last one will be at index -1 and the other altered settings are there.
 

Attachments

  • Screenshot 2019-02-08 at 15.07.56.png
    Screenshot 2019-02-08 at 15.07.56.png
    108.3 KB · Views: 214
  • Screenshot 2019-02-08 at 15.10.15.png
    Screenshot 2019-02-08 at 15.10.15.png
    98.1 KB · Views: 142
  • Screenshot 2019-02-08 at 15.13.11.png
    Screenshot 2019-02-08 at 15.13.11.png
    109.8 KB · Views: 126
  • Screenshot 2019-02-08 at 15.20.16.png
    Screenshot 2019-02-08 at 15.20.16.png
    91.4 KB · Views: 102
  • Screenshot 2019-02-08 at 15.23.29.png
    Screenshot 2019-02-08 at 15.23.29.png
    97.4 KB · Views: 111
  • Screenshot 2019-02-08 at 15.26.32.png
    Screenshot 2019-02-08 at 15.26.32.png
    99.6 KB · Views: 88
  • Screenshot 2019-02-08 at 15.30.29.png
    Screenshot 2019-02-08 at 15.30.29.png
    88.5 KB · Views: 85
  • Screenshot 2019-02-08 at 15.32.54.png
    Screenshot 2019-02-08 at 15.32.54.png
    87.5 KB · Views: 89
  • Screenshot 2019-02-08 at 15.40.20.png
    Screenshot 2019-02-08 at 15.40.20.png
    102.4 KB · Views: 86
  • Screenshot 2019-02-08 at 15.44.05.png
    Screenshot 2019-02-08 at 15.44.05.png
    94 KB · Views: 80
Back
Top