Apple won’t update AppleIntelHD5000Graphics.kext anymore (GM state I believe) so it is time for us to figure out what is going on with the Mobile GT2 SKU’s that somehow don’t have QE/CI enabled so let’s give it a first go…
First you go to the directory by entering:
Then you add the missing device-id (0x04168086) to the plist with:
sudo nano Info.plist
This is what it should look like:
<key>IOPCIPrimaryMatch</key> <string>0x04168086 0x0d268086 0x0a268086 0x0a2e8086 0x0d228086 0x04128086 0x0a168086</string>
Now use Ctrl+O to save your changes and Ctrl+X to exit nano. The next logical step is to refresh the kernel cache with:
sudo kextcache -Boot -U /
Note: Clover users can inject the missing device-id from their config file.
Patch the AppleIntelHD5000Graphics binary with one of the following terminal commands:
Then you run this terminal command:
sudo /usr/bin/perl -pi -e 's|\x3d\x86\x80\x12\x04\x74\x10\xeb\x5d|\x3d\x86\x80\x16\x04\x74\x10\xeb\x5d|g' AppleIntelHD5000Graphics
Note: This can be changed to a shorter variant when it works, and Clover users can use find and replace from their config file.
If the first one didn’t work (it should mind you) then try this one:
sudo /usr/bin/perl -pi -e 's|\x3d\x86\x80\x12\x04\x74\x10\xeb\x5d|\x3d\x86\x80\x12\x04\x74\x10\xeb\x4d|g' AppleIntelHD5000Graphics
The first bin-patch will change the desktop device-id (0x04128086) to that of your mobile device-id (0x04168086). The second bin-patch will change a jump address, to that of the Apple/Intel supported GT3 one.
Make sure to have a backup of the vanilla binary handy (make a backup) and do not run both commands without restoring the vanilla binary. And in case you need to patch the frame buffer data, please try version 2.9 of AppleIntelFramebufferAzul.sh The changes to the binary should get detected and trigger a rebuild of the kernel cache, but in case that fails for you, you enter:
sudo touch /System/Library/Extensions
This is a first experimental bin-patch so yeah it may not work, but make sure to check the bottom of Intel HD4600 with full resolution. There’s a tip that may help you 😉
The patch works (see comments) so let’s take it one step further. Like I said earlier, you can use a shorter variant because all you need to change is this:
-3d86801204 cmpl $0x4128086, %eax
+3d86801204 cmpl $0x4168086, %eax
Clover users can add some lines to their config to patch AppleIntelFramebufferAzul so that they don’t have to worry about it anymore. They could use this data:
But since I don’t use Clover… someone with Clover will have to verify and confirm this to be actually working first.