Contribute
Register

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

This sounds a lot like what I saw on the 800MHz Core M on 10.11, before we had the right platform-id and the right connector mapping.

My best theory at the time was that the jerkiness was that the eDP display wasn't really "plugged in" properly according to the connector map, and the GPU was flailing around trying to detect which displays were plugged in where.

By the way, thank you for saving me a weekend trying to installl 10.12 for no particularly good reason.

I will run with your idea and try to eliminate unused ports from the framebuffer...

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.
 
Result: No more lag after login and wake from sleep.

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.
 
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.

Yep works awesome on Envy j-070 laptop! You are the man!
 
Yep works awesome on Envy j-070 laptop! You are the man!

I assume for the Envy-J that the 0105 port is not connected, and only the LVDS and 0204 ports are needed?

I ask because both 0105 and 0204 are currently being patched for HDMI in my Envy-J repo, which either means both are possible (depending on specific Envy-J model) or I just didn't know which one needed to be patched when I created the config.plist (because I didn't have an Envy-J at the time [and still don't]).
 
I assume for the Envy-J that the 0105 port is not connected, and only the LVDS and 0204 ports are needed?

I ask because both 0105 and 0204 are currently being patched for HDMI in my Envy-J repo, which either means both are possible (depending on specific Envy-J model) or I just didn't know which one needed to be patched when I created the config.plist (because I didn't have an Envy-J at the time [and still don't]).

Yeah it must be at least on my Envy as I just have a LVDS and HDMI option on my laptop. I even connected my laptop to my TV via HDMI after the patch and the display did connect perfectly fine. One thing with the patch is if I am booting my laptop, my HDMI doesn't activate until after I am at the main desktop screen while before it would output video while the Apple progress bar was still moving, but it's a small price to pay since the lag is now gone.
 
Yeah it must be at least on my Envy as I just have a LVDS and HDMI option on my laptop. I even connected my laptop to my TV via HDMI after the patch and the display did connect perfectly fine. One thing with the patch is if I am booting my laptop, my HDMI doesn't activate until after I am at the main desktop screen while before it would output video while the Apple progress bar was still moving, but it's a small price to pay since the lag is now gone.

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!
 
Back
Top