Skip to content

Instantly share code, notes, and snippets.

@x1unix
Created September 25, 2017 11:24
Show Gist options
  • Save x1unix/69509bf3a9157dfd2fc23cbecf2022ac to your computer and use it in GitHub Desktop.
Save x1unix/69509bf3a9157dfd2fc23cbecf2022ac to your computer and use it in GitHub Desktop.
MBP 2010 GPU Fix

#20 Hi,

Well, after years i found a solution. I have the famous MacBook Pro 6,2 with GT330m ( 0x0a29 model).

I discovered that this problem happens every time that g-state change between 2 to 0.

G-States go from 0 to 3, are related to the thresholds inside AppleGraphicsPowerManagement.kext, like this:

G-state 0 (maximum speed) and G-state 3 (lowest speed).

I solved the problem by keeping it always at G-State 2 (medium speed).

And the performance? Exemple: Cinebench, default (G-state 0) i've about 15fps, with g-state 2 (medium speed): 10fps.). Not bad.

If you want to try, these are the values changed in the info.plist:

<key>MacBookPro6,2</key>

<dict>

<key>LogControl</key>

<integer>1</integer>

<key>Vendor10deDevice0a29</key>

<dict>

<key>BoostPState</key>

<array>

<integer>2</integer>

<integer>2</integer>

<integer>2</integer>

<integer>2</integer>

</array>

<key>BoostTime</key>

<array>

<integer>2</integer>

<integer>2</integer>

<integer>2</integer>

<integer>2</integer>

</array>

<key>Heuristic</key>

<dict>

<key>ID</key>

<integer>0</integer>

<key>IdleInterval</key>

<integer>10</integer>

<key>SensorOption</key>

<integer>1</integer>

<key>SensorSampleRate</key>

<integer>10000</integer>

<key>TargetCount</key>

<integer>1</integer>

<key>Threshold_High</key>

<array>

<integer>0</integer>

<integer>0</integer>

<integer>100</integer>

<integer>200</integer>

</array>

<key>Threshold_High_v</key>

<array>

<integer>0</integer>

<integer>0</integer>

<integer>98</integer>

<integer>200</integer>

</array>

<key>Threshold_Low</key>

<array>

<integer>0</integer>

<integer>0</integer>

<integer>0</integer>

<integer>200</integer>

</array>

<key>Threshold_Low_v</key>

<array>

<integer>0</integer>

<integer>0</integer>

<integer>4</integer>

<integer>200</integer>

</array>

</dict>

<key>control-id</key>

<integer>17</integer>

</dict>

Perfect values? I do not know, but it is working for me.

Now, we have three methods to apply this fix: 1º Editing kext file and install manually; 2º Using the utility program called MBP Mid 2010 GPU Fix, that allows to fix the kext, using the parameters above described, automatically (credits [below] to julian-poidevin); 3º Hardware fix. Read the next posts pages to know about that. Credits to l.a.rossmann

1º Editing kext file and install manually:

Step by step:

1 - Make sure these .kext are original (unmodified), and loaded (About this Mac -> System Report -> Software -> Extensions): ACPI_SMC_PlatformPlugin.kext (IOPlatformPluginFamily.kext) AppleGraphicsPowerManagement.kext

2 - Disable SIP (boot into recovery mode, terminal: csrutil disable) Avaliable only in OS X El Capitan or later. Previous OS X versions, jump to next step.

3 - Open Extensions folder (System/Library/Extensions), copy AppleGraphicsPowerManagement.kext to desktop (or other folder), open the info.plist into editor (I used the PlistEdit Pro.app), and change the values like writing up.

Attention: verify if your model is 0x0a29 really.

4 - Save info.plist, quit editor.

5 - Use Kext Drop.app to instal this kext, but before, delete the AppleGraphicsPowerManagement.kext into extensions folder.

6 - (This is important step) Leave the automatic graphics switching select (System Preferences - Energy Saver), if you are using gfxCardStatus.app, same thing!.

After, reboot normally.

Remember, the option automatic graphics switching selected always.

7 - Open Console.app, type into search: gfx0 and check if g-state changes if working!

(or you can to download the kext already edited, below)

2º MBP Mid 2010 GPU Fix, utility program:

The friend julian-poidevin, created an utility program called MBPMid2010_GPUFix, that allows to fix the kext, using the parameters above described. The link to project is here : https://github.com/julian-poidevin/MBPMid2010_GPUFix You can download it here : https://github.com/julian-poidevin/MBPMid2010_GPUFix/releases/latest

1 - Before, make sure these .kext are original (unmodified), and loaded (About this Mac -> System Report -> Software -> Extensions): ACPI_SMC_PlatformPlugin.kext (IOPlatformPluginFamily.kext) AppleGraphicsPowerManagement.kext 2 - Run fix.

Good luck. I hope this helps you (sorry my bad english)

AppleGraphicsPowerManagement.kext 10.6.8 https://www.dropbox.com/s/cm12m6bww3rkbcm/10.6.8 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.9.5 (Thanks @user1690) http://forums.macrumors.com/threads...ts-the-best-fix.1890097/page-10#post-24062932

https://www.dropbox.com/s/po0255ci7dax98o/10.9.5 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.10.5 https://www.dropbox.com/s/zvhluh27qcaqww6/10.10.5 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.11.6 https://www.dropbox.com/s/4er2qo84zu6lffd/AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12 https://www.dropbox.com/s/7esidh70l31h9i3/10.12.AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12.1 https://www.dropbox.com/s/mwu4fi84hl0h24l/10.12.1 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12.2 https://www.dropbox.com/s/2k3kkdths8g928j/10.12.2 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12.3 https://www.dropbox.com/s/32gub73afj4oaz2/10.12.3 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12.4 https://www.dropbox.com/s/i50rvpbwqofpojh/10.12.4 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12.5 https://www.dropbox.com/s/8ngc0c6d350u26a/10.12.5 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.12.6 https://www.dropbox.com/s/e9ed23z0eqyyci9/10.12.6 AppleGraphicsPowerManagement.kext.zip?dl=0

AppleGraphicsPowerManagement.kext 10.13 GM https://www.dropbox.com/s/beoloqn8mx3elmt/10.13GM_ AppleGraphicsPowerManagement.kext.zip?dl=0

Bonus - Enable Night Shift: https://www.dropbox.com/s/18kq9q8o55p0o1r/NightShift.rtf?dl=0


Credits: Special thanks for julian-poidevin for your work, really, this application was a good idea! We all appreciate it.

@Markospoko
Copy link

Hi!

My OS X runs fine without this but I'm trying to run Ubuntu set up according to a suitable tutorial for MBP mid-2010 using recommended nVidia driver and I get black screen + fans spinning loud + can only power off when I run OpenGL program, I'm trying to find out if it could be because of it, do you know how can i check this? No probs with open-source driver curiously.

Good wishes
Mark

@mauricev
Copy link

I tried it and crashes just as did before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment