Contribute
Register

ProBook Intel HD 4000 script, for external display...

Status
Not open for further replies.
Joined
Nov 24, 2012
Messages
629
Motherboard
HP Probook 6470b
CPU
Intel Core i5-3320M
Graphics
Intel HD 4000, 1600x900
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
I have updated the "unified Capri" for Ivy ProBook on 10.9, the differences are minimal but I tried to maintain as much as possible of the default settings while enabling all we need. I have no idea if this brings any improvements over the older one, but I like to keep things as "vanilla" as possible.

Feedback is welcome.

Here is the script:
Code:
sudo perl -pi -e 's|\x04\x00\x00\x81.{107}\x04\x00\x66\x01.{108}|\x08\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x66\x01\x01\x02\x04\x02\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x40\x10\x07\x00\x00\x10\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x03\x00\x00\x02\x00\x00\x00\x30\x02\x00\x00\x02\x05\x00\x00\x00\x04\x00\x00\x07\x04\x00\x00\x03\x04\x00\x00\x00\x04\x00\x00\x81\x00\x00\x00\x04\x06\x00\x00\x00\x08\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00|' ~/Desktop/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri

And here is the kext, for the lazy ones :p:
 

Attachments

  • 10.9.0 AppleIntelFramebufferCapri.kext.zip
    183.1 KB · Views: 447
What does this patch do? Enable DP or VGA ports on IvyBridge laptop? Do I need to change 01660004 to 01660003 (My screen is 1600x900)
 
What does this patch do? Enable DP or VGA ports on IvyBridge laptop? Do I need to change 01660004 to 01660003 (My screen is 1600x900)
It is a long story...
Since the beginning of time :p... we were trying to have a single kext that would enable the low&high resolution Probooks to share a single kext, but the problem was that the platform 01660004 had defined only one port (internal one - LVDS) and this was the only platform that worked with high res ProBooks. So at the beginning we were not able to use external displays, after that we started to move the working internal port form 01660004 to other platforms (3, 8, 9), but that was annoying for noobs because you could get the black screen at boot and wasn't practical to implement in the installer...

Then one day I got this crazy idea that maybe I should move the whole 01660003 platform (except the LVDS port) to the 01660004... And to my surprise it worked flawlessly. Now it enables to have fully functional (except VGA) probooks with low-res on 01660003 and high-res on 01660004.
And btw it also changes some ports to enable HDMI audio.
 
So the code will find and replace value:
0x6601
with
0x08000006000000000000000002001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004006601010204020000000400000001000000401007000010070000000000000000000000000000000000000000000005030000020000003002000002050000000400000704000003040000000400008100000004060000000800000600000000000000000200110000000000000000
in AppleIntelFramebufferCapri, right? I want to create a config in Clover to patch it on-the-fly, how can I check if the patches work properly (like info in IORegistryExplorer), cause I don't have any DisplayPort monitor.
 
So the code will find and replace value:
0x6601
with
0x08000006000000000000000002001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004006601010204020000000400000001000000401007000010070000000000000000000000000000000000000000000005030000020000003002000002050000000400000704000003040000000400008100000004060000000800000600000000000000000200110000000000000000
in AppleIntelFramebufferCapri, right? I want to create a config in Clover to patch it on-the-fly, how can I check if the patches work properly (like info in IORegistryExplorer), cause I don't have any DisplayPort monitor.
Not that simple...Find:
x04\x00\x00\x81.{107}\x04\x00\x66\x01.{108} (where .{107} & .{108} mean 107/108 bits of any value) and replace with
0x08000006000000000000000002001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004006601010204020000000400000001000000401007000010070000000000000000000000000000000000000000000005030000020000003002000002050000000400000704000003040000000400008100000004060000000800000600000000000000000200110000000000000000

You can see in IORegistryExplorer if search for appleintelframebuffer, if the patch worked you should see 4 of them otherwise just 1.
 
We have a second difference for the Ivy ProBooks (the first was the AppleRTC.kext patch). Is this patch the same as your previous for ML?
While the ML patch works too, this one is a bit different because I want to maintain it as vanilla as possible.
But maybe we should wait for some feedback....
 
before my 4540s i7 ml Intel HD Graphics 4000 512 MB now Mavericks Intel HD Graphics 4000 1024 MB is normal ?
 

Attachments

  • Screen Shot 2013-10-24 at 5.51.20 PM.png
    Screen Shot 2013-10-24 at 5.51.20 PM.png
    89.9 KB · Views: 330
before my 4540s i7 ml Intel HD Graphics 4000 512 MB now Mavericks Intel HD Graphics 4000 1024 MB is normal ?

I think it is normal. Apple talked about this in the announcement. Allocations of shared graphics memory is more dynamic, less static. The number displayed here is probably meaningless now.
 
Status
Not open for further replies.
Back
Top