Contribute
Register

[README] Common (some unsolved) Problems in 10.12 Sierra

This is it!
My u430 with 10.12.4 suffered from this problem (short duration lag after wake and after login).

My u430 has LVDS and a single HDMI.
I use ig-platform-id 0xa260006 with it. 0xa260006 has LVDS, 0105 DP, 0204 DP.
The HDMI is wired to 0204, so I patch that port for HDMI (to enable HDMI audio).
I also use the 'vbo' 9mb cursor bytes patch (even though it is not needed on my particular laptop... it is helpful on others).

So... before 10.12.4, I had these patches for com.apple.driver.AppleIntelFramebufferAzul:

Comment: 0x0a260006 9MB cursor bytes, vbo
Find: <0600260a 01030303 00000002 00003001 00006000>
Replace: <0600260a 01030303 00000002 00003001 00009000>

Comment: HDMI-audio, port 0204, 0x0a260005 0x0a260006
Find: <02040900 00040000 87000000>
Replace: <02040900 00080000 87000000>

Now the 0105 port comes before the 0204 port in the framebuffer, but we don't need the 0105 port as it is not connected to anything (and causing the lags).

So... strategy is to replace 0105 with 0204 and reduce the number of ports from 3 to 2.

We already know that in AppleIntelFramebufferCapri that 0x01660004 has only a single LVDS connector, so we can look to the header of that ig-platform-id data to discover what we need to reduce our ig-platform data in Azul from 3 ports to 2.

From AppleIntelFramebufferCapri 0x01660004:
04006601 01030101

And from AppleIntelFramebufferAzul 0x0a260006:
0600260A 01030303

So, there appears to be two counts at the end related to the number of connectors... plan to change them both...

New set of patches:

Comment: 0x0a260006 9MB cursor bytes (vbo), 2 ports only (RehabMan)
Find: <0600260a 01030303 00000002 00003001 00006000>
Replace: <0600260a 01030202 00000002 00003001 00009000>

Comment: 0x0a260006 disable 0204 port, change 0105 DP port to 0204 HDMI (RehabMan)
Find: <01050900 00040000 87000000 02040900 00040000 87000000>
Replace: <02040900 00080000 87000000 FF000000 01000000 40000000>

Result: No more lag after login and wake from sleep.
RehabMan, can you please confirm that using this patches your HDMI display will be attached to 0204 port?
I ask this because I tried many combination before (includes yours) and my HDMI display will not be attached to port 0204 if I set only two ports (0202).
 
RehabMan, can you please confirm that using this patches your HDMI display will be attached to 0204 port?
I ask this because I tried many combination before (includes yours) and my HDMI display will not be attached to port 0204 if I set only two ports (0202).

Yes, it works.
Your HDMI port may not be attached to the 0204 port.
It could use 0105..., which would require a different set of patches.
(I assume not 0306, as you would have known you needed to add that to 0x0a260006)

You need to start with a clear understanding as to which ports your laptop uses.

Also, you may have made a mistake.
If you change the port count to 2 (the header -> 01030202), you *must* move the port that your laptop actually uses into position #1 (position #0 is LVDS). If you don't create the appropriate patch to change the connectors as required, it won't work.

If you need help, attach ioreg with the HDMI working and attached (if you have patches to enable that, also provide matching config.plist). Then attach "Problem Reporting" files for the failed situation.
 
Last edited:
Can you provide "Problem Reporting" files just so I can verify before I change the repo.
Please include an ioreg that shows the external monitor connected.
Thanks!

OK here are my files with HDMI connected
 

Attachments

  • Problem_Reporting.zip
    1.9 MB · Views: 194
OK here are my files with HDMI connected

Thanks for that. It is exactly as expected...
I'll be changing the repo to eliminate the 0105 port and implement the brightness fix for 10.12.x.
 
Comment: 0x0a260006 9MB cursor bytes (vbo), 2 ports only (RehabMan)
Find: <0600260a 01030303 00000002 00003001 00006000>
Replace: <0600260a 01030202 00000002 00003001 00009000>

Comment: 0x0a260006 disable 0204 port, change 0105 DP port to 0204 HDMI (RehabMan)
Find: <01050900 00040000 87000000 02040900 00040000 87000000>
Replace: <02040900 00080000 87000000 FF000000 01000000 40000000>
Rehabman, I tried this patch. It seems there is a bug with clover. It didn't change anything. So I edited the AppleIntelFramebufferAzul. Now there is lag still.

I updated the clover configurator, then bug disappeared.
I change the0204 to 0105, it worked.

And it seems less glitch after this patch. More perfect now.
 

Attachments

  • reportfiles.zip
    5.2 MB · Views: 222
  • kim‘sMacBook Pro(not edited.ioreg
    5.9 MB · Views: 235
Last edited:
Comment: 0x0a260006 9MB cursor bytes (vbo), 2 ports only (RehabMan)
Find: <0600260a 01030303 00000002 00003001 00006000>
Replace: <0600260a 01030202 00000002 00003001 00009000>

Comment: 0x0a260006 disable 0204 port, change 0105 DP port to 0204 HDMI (RehabMan)
Find: <01050900 00040000 87000000 02040900 00040000 87000000>
Replace: <02040900 00080000 87000000 FF000000 01000000 40000000>

RehabMan, I tried this, for my laptop, the second patch should be "disable 0105 port...", switch "Find" and "Replace", and it works. The situation of connecting to my screen I will test later.

p.s. my laptop is Y50-70
 
Rehabman, great work as usual! Thank you!

Should both patches be applied to AppleIntelFramebufferAzul.kext INSTEAD of the previous ones you mentioned above (regarding I have the same ones - 9Mb cursor bytes and 0204 HDMI port)? I did so, but lags still take place. But reduced significally on boot. If previously it took about 30 secs, now it's about 10 secs.

@RehabMan, I fixed this by disabling BOTH ports with the following patch:

Comment: 0x0a260006 disable 0105 and 0204 ports
Find: <01050900 00040000 87000000 02040900 00040000 87000000>
Replace: <FF000000 01000000 40000000 FF000000 01000000 40000000>

It appears that on my specific laptop the HDMI port is attached to the discrete graphics, not to Intel HD4600. I should admit that I didn't have a chance to test HDMI yet, as I don't have any cable. So previously I just expected that it will work with 0204 port someday when I will use HDMI, if not - I will just switch to 0105 or any (12)-one. Now I see that none of them would work and both need to be disabled.

By the way, does it mean that I can use my discrete NVIDIA graphics with external display? Is there any guide how it can be implemented? I just saw you mentioned that it is possible in your FAQ, but didn't find any adequate guide yet.
 
Rehabman, I tried this patch. It seems there is a bug with clover. It didn't change anything. So I edited the AppleIntelFramebufferAzul. Now there is lag still.

I updated the clover configurator, then bug disappeared.
I change the0204 to 0105, it worked.

And it seems less glitch after this patch. More perfect now.

No bug in Clover. Your mistake. You have empty MatchBuild and MatchOS properties. In some versions of Clover this causes no match.

Note: Your config.plist has other problems:
- nonsense _OSI->XOSI in KextsToPatch
- too many patches for AirPortBrcm4360 (you need only the 'fcvo' patch)
- USB port limit patch is only for short term use
- make sure you verify your HDMI port still works (some laptops have HDMI wired to 0105, not 0204)

My suggestion: Don't use Clover Configurator to edit your config.plist.
 
Last edited:
@RehabMan, I fixed this by disabling BOTH ports with the following patch:

Comment: 0x0a260006 disable 0105 and 0204 ports
Find: <01050900 00040000 87000000 02040900 00040000 87000000>
Replace: <FF000000 01000000 40000000 FF000000 01000000 40000000>

It appears that on my specific laptop the HDMI port is attached to the discrete graphics, not to Intel HD4600. I should admit that I didn't have a chance to test HDMI yet, as I don't have any cable. So previously I just expected that it will work with 0204 port someday when I will use HDMI, if not - I will just switch to 0105 or any (12)-one. Now I see that none of them would work and both need to be disabled.

By the way, does it mean that I can use my discrete NVIDIA graphics with external display? Is there any guide how it can be implemented? I just saw you mentioned that it is possible in your FAQ, but didn't find any adequate guide yet.

You should verify your assumptions about HDMI/Nvidia in Windows.
After you verify that it it is dedicated to the Nvidia, you can pursue making it work with the Nvidia web driver..., or native Nvidia driver depending on what is appropriate. Suggest you do some research on desktop Nvidia, so you understand the difference and which driver is appropriate for your hardware.

To disable both ports you should probably also reduce the port count to 1:
Comment: 0x0a260006 9MB cursor bytes (vbo), 1 port only (RehabMan)
Find: <0600260a 01030303 00000002 00003001 00006000>
Replace: <0600260a 01030101 00000002 00003001 00009000>
 
RehabMan, I tried this, for my laptop, the second patch should be "disable 0105 port...", switch "Find" and "Replace", and it works. The situation of connecting to my screen I will test later.

p.s. my laptop is Y50-70

If your laptop uses 0105 for HDMI, then a different set of patches would be used...
Looking at the files in my y50 guide, I can see your laptop uses 0105 for HDMI.
And it needs the 09->12 modification.

For 0105 (12), use:
Comment: 0x0a260006 9MB cursor bytes (vbo), 2 ports only (RehabMan)
Find: <0600260a 01030303 00000002 00003001 00006000>
Replace: <0600260a 01030202 00000002 00003001 00009000>

Comment: HDMI-audio, port 0105(12), 0x0a260005 0x0a260006, 0x0d220003, 0x0a2e000a, 0x0a26000a
Find: <01050900 00040000 87000000>
Replace: <01051200 00080000 87000000>

Comment: 0x0a260006, disable 0204 port (RehabMan)
Find: <02040900 00040000 87000000>
Replace: <ff000000 01000000 40000000>
 
Back
Top