Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

greyosx

macrumors newbie
Sep 3, 2016
27
9
Sure, greyosx. My method is more complex than fabioroberto's method but I used it because I'm familiar with the command line. This is all on El Capitan. I can't speak for Sierra, but I will likely do this on Sierra once that is released, so I'll try to update people on how that goes.

1. Disable system integrity protection
To do this, you need to enter recovery mode by holding down Command-R on boot up. Once in recovery mode, open the terminal and then type "csrutil disable". After that, reboot the machine.​

2. Enter Console Mode.
Hold down Command-S on boot up.
3. Backup the old kext.
First type "mount -uw /" to make the hard drive writable. Next, you need to make a temporary folder to store the backup. I used /_temp. Type "mkdir /_temp". Now we need to copy the kext to the backup folder. "mv /System/Library/Extensions/AppleGraphicsPowerManagement.kext /_temp/"
4. Copy in new kext
This is where my method differs from fabioroberto's. I will use the command line to install the new kext. Fabioroberto used an app called Kext Drop. The exact commands to run here will depend on where your new kext is. Your new kext will be the one you downloaded from fabioroberto's post or maybe you made one yourself as per fabioroberto's instructions. My new kext was on my desktop. "cp -r /Users/greg/Desktop/AppleGraphicsPowerManagement.kext /System/Library/Extensions/"
5. Install new kext
Run "kextcache -v 1 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions/". I don't know exactly how this command works, but I got it off a different post about a similar problem. That post is here: http://www.asyncro.com/2014/03/24/macbook-pro-discreate-graphics-card-issue-fix-updated/
6. Reboot
Type "reboot now". The computer will output some stuff to the command line and reboot after a minute or two. The first reboot WILL FAIL. That is expected. Don't panic. It should automatically reboot again, and on the second try it should boot normally.
Good luck and let me know if anything is unclear.

Thanks so much for providing an alternate method, very interesting to see!
 

Clete2

macrumors 65816
Sep 20, 2008
1,080
30
USA
I wouldn't remember where I originally heard it, but it was reiterated recently in a video by Louis Rossmann.


I have access to the Apple Video System Test for MacBook Pro (15-inch Mid 2010), so when my machine started to exhibit video issues, I ran the test. It failed within seconds.

I used a replacement 330uF 2.0v non-tantalum poly-film capacitor removed from a 13-inch MacBook Pro (Mid 2012) logic board with water damage. I keep spare boards around for small components and hard to find pieces. That said you can order them new as well from suppliers like RS, Element14 or Mouser, like so:

http://au.element14.com/panasonic-e...cx0d331r/cap-alu-elec-330uf-2v-smd/dp/2358262

After the capacitor was replaced, I re-ran the Apple Video System Test (VST) and it passed. The issue never reoccurred after that.


Funny that 10 minutes in he mentions that the issue can be a kernel panic. Apple was very clear to me that the black screen issue did not have kernel panics associated with it and therefore I did not have the black screen issue. Seems like I got a bad representative on the phone.
 
Last edited:

dontworry

Suspended
Mar 18, 2010
385
165
I'm back.

I was able to get the .kekt file changed and verified the gfx0 in console. Made it through the two Cinebench tests just fine, around 9.5 fps. Everything seemed to run just a little(not bad) choppy/slow, but no crashes! Went to plug it into my TV to watch a movie using VLC and it crashed shortly after. Not sure what hooking the external display up did to it?

Other day said screw it, and updated to macOS Sierra since it was new and shiny. The crashes came back like before, that sucks. So, I disabled the SIP and reinstalled the modified .kekt file and reran the Cinebench tests. Everything passed!

It seems to be working as well as before installing Sierra, and I have to say that I am impressed with the speed of Sierra.

I have also ordered a few of the capacitors to try the swap. I have access to a microscope and soldering station, so I will give it a try. If not, my birthday is in Oct.
 
  • Like
Reactions: wnorris

gregwtmtno

macrumors newbie
Sep 8, 2016
4
5
Great to hear, dontworry. I haven't had a crash since I did my kext swap, so I'm going to call this fixed. Saved my laptop! No need for me to do the capacitor thing as I'm more than happy with this solution. Next step, Sierra.
 

nmu

macrumors newbie
Sep 13, 2016
1
0
I had another one of these boards come in yesterday with this exact issue. Blank screen, loss of video, kernel panics and restarts. Ran the video test and it failed almost immediately. Replaced the 330uF 2.0v capacitor on the board at position C9560 and now it passes the video test and runs reliably. Switched between the GPUs, stressed the GPU with FurMark and Cinebench with no crashes, no corruption, no restarts. Seriously awesome fix if you're handy with a soldering iron or know someone that is.[/QUOTE]

so.. can I uhh.. send you my board? I am not handy with a soldering iron
 

sergiossa

macrumors newbie
Sep 14, 2016
2
1
Hi, lapinus

i'll try explain just a little bit better


I believe that you are using the latest combo 10.11.6, ok? If not, please install last combo (10.11.6). Why this? Because you said that you do not have good knowledge to edit system files. And.. so we are sure that the system is ok.


After, please, boot into Recovery Mode. How? Simple:

1 Reboot your Mac into Recovery Mode by restarting your computer and holding down Command+R until the Apple logo appears on your screen.

2 Click Utilities > Terminal.

3 In the Terminal window, type in: csrutil disable and press Enter.

4 Restart your Mac.


Ok, now you are into OSX again.

Please, if possible, search and download a app called: Kext Drop. (this is not marketing, okay?) Only to facilitate the process.



Download my AppleGraphicsPowerManagement.kext (already edited) here:
https://dl.dropboxusercontent.com/u/35721057/AppleGraphicsPowerManagement.kext.zip


Open Kext Drop and drag .kext inside. Press install.

Attention, this .kext only works if the system is upgraded to 10.11.6.

(But the “hack” manual in .plist can be done in other versions of OSX)



Reboot.


To check, open Console app (type in the spotlight), and search for: GFX0



Like this:
https://dl.dropboxusercontent.com/u/35721057/console.png




Test if this ok and free GPU Panic.

Thank you so much for taking the time to explain what you did, I will try this after I update to Sierra next week, hopefully it solves my issue too. If you don't mind me asking, is there any particular reason why you chose the values you used on the kext file? I would to hear if you have any insight on how to determine the values to use. Thanks in advance.
 

fabioroberto

macrumors regular
Mar 5, 2013
237
181
Thank you so much for taking the time to explain what you did, I will try this after I update to Sierra next week, hopefully it solves my issue too. If you don't mind me asking, is there any particular reason why you chose the values you used on the kext file? I would to hear if you have any insight on how to determine the values to use. Thanks in advance.


Yes sergiossa. The values were studied exhaustively. And they are not random values.

The threshold range (low or high), think of a graph (x,y), are related to the gpu use (idle/load).
This is to maximize performance and battery consumption.

Well, the problem in the use of nvidia is not the gpu, but the stabilization of the voltage when the gpu changes from g-state 2 to 0 (or 2 to 1), causing the known issues.

I thought it was related to pgood sign, but no. The problem is really with the capacitor c9560.

So .. the thresholds values were adjusted to that OS X (working on the Sierra GM here) always staying between g-state 3 and 2, that the problem of stabilizing the voltage not compromise the gpu work.
 
  • Like
Reactions: joepunk

sergiossa

macrumors newbie
Sep 14, 2016
2
1
Yes sergiossa. The values were studied exhaustively. And they are not random values.

The threshold range (low or high), think of a graph (x,y), are related to the gpu use (idle/load).
This is to maximize performance and battery consumption.

Well, the problem in the use of nvidia is not the gpu, but the stabilization of the voltage when the gpu changes from g-state 2 to 0 (or 2 to 1), causing the known issues.

I thought it was related to pgood sign, but no. The problem is really with the capacitor c9560.

So .. the thresholds values were adjusted to that OS X (working on the Sierra GM here) always staying between g-state 3 and 2, that the problem of stabilizing the voltage not compromise the gpu work.

Thank you so much for your feedback on this, Sierra drops tomorrow so I will be trying the fix after I update, and hopefully my days of constant crashed will be behind me.
 
  • Like
Reactions: fabioroberto

greyosx

macrumors newbie
Sep 3, 2016
27
9
Would love hear people's experiences using the fix on Sierra and if there were any issues? I'm so tempted to upgrade and do the fix but I'm working on my portfolio currently and don't want to risk doing anything drastic just yet, especially since this is my only machine to work on.
 

dontworry

Suspended
Mar 18, 2010
385
165
Would love hear people's experiences using the fix on Sierra and if there were any issues? I'm so tempted to upgrade and do the fix but I'm working on my portfolio currently and don't want to risk doing anything drastic just yet, especially since this is my only machine to work on.

Mine has been doing really well running Sierra with the fix implemented. I haven't had a crash since, been about a week now of normal usage. Still need to test hooking up an external display (1080P TV).
 

greyosx

macrumors newbie
Sep 3, 2016
27
9
Mine has been doing really well running Sierra with the fix implemented. I haven't had a crash since, been about a week now of normal usage. Still need to test hooking up an external display (1080P TV).
Did you already have the fix running on El Capitan when you upgraded? If so, were there any issues encountered there?

If you do ever test out the external display, please do report back. I've also got a 1080p monitor that I can't use because integrated graphics alone isn't enough to run it smoothly using gfxCardStatus.
 

AndromedaM31

macrumors newbie
Sep 23, 2016
16
9
Yes sergiossa. The values were studied exhaustively. And they are not random values.

The threshold range (low or high), think of a graph (x,y), are related to the gpu use (idle/load).
This is to maximize performance and battery consumption.

Well, the problem in the use of nvidia is not the gpu, but the stabilization of the voltage when the gpu changes from g-state 2 to 0 (or 2 to 1), causing the known issues.

I thought it was related to pgood sign, but no. The problem is really with the capacitor c9560.

So .. the thresholds values were adjusted to that OS X (working on the Sierra GM here) always staying between g-state 3 and 2, that the problem of stabilizing the voltage not compromise the gpu work.

Fabioroberto,
I just wanted to say thank you so much for your fix! I ran Cinebench and am getting the same FPS as you mentioned.
I have looked for a fix for so long and was so close to buying another logic board(with the chance that damn capacitor is also defective) but this has given my laptop a new life.
Everyone here can understand the crashes and headaches that came with the panics.
I was able to run intensive apps without any danger.

I'll be hooking up my projector to the mini displayport in days to come so I'll let everyone knows how it goes.

I did let my battery die to see what would happen to the settings. Strangely upon restart the only graphics that was listed was the Nividia Discrete. But upon another restart it went back to normal and there has been 0 panics.

I'll be following this thread and wish every 2010 MacbookPro user great success.

Note : 2010 MacbookPro
2.66 GHz Intel Core i7
8 Gig of RAM
10.9.5 Mavericks
 
  • Like
Reactions: fabioroberto

d4rklamp

macrumors regular
Jan 17, 2009
134
54
hi
I had same issue on MBP Mid-2010. I just learned there was warranty expired that i didn't know. I took it Apple Store genius and I told them had MBP had been shutdown issue with GPU panic. He decided to take test graphic test and you can see big red label "Failed" He said that issue cover their warranty about discrete graphic for mid-2010. They going to replace whole board thank you I must had bad luck
first it was MBP 2007 graphic card then this MBP mid-2010 (kind threw me off I love Apple products)
I won't get them in next few days.
I'm wondering anyone who had their MBP mid 2010 logic board replaced by apple store. I'm wondering if your Mid-2010 persist the problem ? I'm little skeptical if the problem will repeat again after board replaced? it already happen to MBP 2007 (about (1 1/2 later)
I had the same problem with my MacBook Pro 15" 2010. Apple offered to change the motherboard. Had the same issue the first time. So they changed it a second time and no more kernel panic. This was 2-3 years ago since I got it fixed. From now on, I'd stay away from having 2 graphics card.
 

fabioroberto

macrumors regular
Mar 5, 2013
237
181
Fabioroberto,
I just wanted to say thank you so much for your fix! I ran Cinebench and am getting the same FPS as you mentioned.
I have looked for a fix for so long and was so close to buying another logic board(with the chance that damn capacitor is also defective) but this has given my laptop a new life.
Everyone here can understand the crashes and headaches that came with the panics.
I was able to run intensive apps without any danger.

I'll be hooking up my projector to the mini displayport in days to come so I'll let everyone knows how it goes.

I did let my battery die to see what would happen to the settings. Strangely upon restart the only graphics that was listed was the Nividia Discrete. But upon another restart it went back to normal and there has been 0 panics.

I'll be following this thread and wish every 2010 MacbookPro user great success.

Note : 2010 MacbookPro
2.66 GHz Intel Core i7
8 Gig of RAM
10.9.5 Mavericks


great news!
I'm happy for you.
 

wnorris

macrumors member
Feb 16, 2008
79
134
Did you already have the fix running on El Capitan when you upgraded? If so, were there any issues encountered there?

I had to reapply the fix after the upgrade to Sierra. The crashes started immediately after using Sierra. I followed the same process on Sierra and so far no crashes.
 
  • Like
Reactions: fabioroberto

greyosx

macrumors newbie
Sep 3, 2016
27
9
I had to reapply the fix after the upgrade to Sierra. The crashes started immediately after using Sierra. I followed the same process on Sierra and so far no crashes.
That's great to know, thanks for the info!
 

weyerma

macrumors newbie
Sep 30, 2015
3
1
Had the same issues with my 15-inch Mid 2010 machine. The repair extension program had since expired and because the machine had entered vintage status, replacement parts were no longer available.

I'd already bought soldering tools to repair a Mid 2009 MacBook Pro, so I decided to have a shot at changing the troubled capacitor. Problem solved. Not the easiest repair in the world but it would be a straightforward job for an electronics repairer or anyone skilled with a soldering iron.

This would be the better solution for anyone that isn't content with a temporary software fix, boots between multiple operating systems or needs the use of the higher powered graphics hardware.

C9560.jpg

Ohhhh yeah ! thanks a lot for this, iMacC2D ! I replaced the faulty cap and the discrete GPU is working without any issue :-D Thank you so much...you saved the live of 3 MBP2010 :apple::)
 
  • Like
Reactions: fabioroberto

irving_washington

macrumors newbie
Sep 28, 2016
1
1
Hi, lapinus

i'll try explain just a little bit better


I believe that you are using the latest combo 10.11.6, ok? If not, please install last combo (10.11.6). Why this? Because you said that you do not have good knowledge to edit system files. And.. so we are sure that the system is ok.


After, please, boot into Recovery Mode. How? Simple:

1 Reboot your Mac into Recovery Mode by restarting your computer and holding down Command+R until the Apple logo appears on your screen.

2 Click Utilities > Terminal.

3 In the Terminal window, type in: csrutil disable and press Enter.

4 Restart your Mac.


Ok, now you are into OSX again.

Please, if possible, search and download a app called: Kext Drop. (this is not marketing, okay?) Only to facilitate the process.



Download my AppleGraphicsPowerManagement.kext (already edited) here:
https://dl.dropboxusercontent.com/u/35721057/AppleGraphicsPowerManagement.kext.zip


Open Kext Drop and drag .kext inside. Press install.

Attention, this .kext only works if the system is upgraded to 10.11.6.

(But the “hack” manual in .plist can be done in other versions of OSX)



Reboot.


To check, open Console app (type in the spotlight), and search for: GFX0



Like this:
https://dl.dropboxusercontent.com/u/35721057/console.png




Test if this ok and free GPU Panic.

Thank you so much fabioroberto, you're a star! This has worked brilliantly for me.

One question though: Roughly speaking, in your info.plist you restrict the g-states to remain between 2 and 3 to avoid switching from 2 to 0, as the associated change in voltage causes the C9560 capacitor to fail, which in turn causes the kernel panic. Now, do you think it would also be possible to force the (discrete) graphics chip to always remain in g-state 0? This might circumvent the switching between g-states but uses of the full power of the graphics chip, but I'm not sure whether the capacitor fails because of the higher voltage or as a result of the switch between voltages...
 
  • Like
Reactions: fabioroberto

fabioroberto

macrumors regular
Mar 5, 2013
237
181
Thank you so much fabioroberto, you're a star! This has worked brilliantly for me.

One question though: Roughly speaking, in your info.plist you restrict the g-states to remain between 2 and 3 to avoid switching from 2 to 0, as the associated change in voltage causes the C9560 capacitor to fail, which in turn causes the kernel panic. Now, do you think it would also be possible to force the (discrete) graphics chip to always remain in g-state 0? This might circumvent the switching between g-states but uses of the full power of the graphics chip, but I'm not sure whether the capacitor fails because of the higher voltage or as a result of the switch between voltages...


i'm happy for you!
I tried and does not work properly. The voltage is not stable at this level, so the capacitor is really important for this. :(
 

greyosx

macrumors newbie
Sep 3, 2016
27
9
Hi,

Well, after years i found a solution (so mine?). I have the famous MacBook Pro 6,2 with GT330m (0x029 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.



Step by step:


1 - Verify that the file is the original and this loaded:

  • ACPI_SMC_PlatformPlugin.kext (IOPlatformPluginFamily.kext)
  • AppleGraphicsPowerManagement.kext


2 - Disable SIP (boot into recovery mode, terminal: csrutil disable)


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 0x029 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!



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



console.png





AppleGraphicsPowerManagement.kext 10.11.6
https://dl.dropboxusercontent.com/u/35721057/AppleGraphicsPowerManagement.kext.zip

So I've finally done the fix. I'm on El Capitan, I don't think I'm going to upgrade to Sierra anytime soon. I can't really tell yet if the fix has worked, but I thank you nonetheless for your effort and and help with this! So thank you so much, I certainly hope I don't get anymore crashes.

I do have a question though. I've run Cinebench three times so far and the fps value I get is between 3 to 5 usually. First time was around 5, second two values were around 3. I've opened Chrome a few times and quit it. I've been trying to do things that might trigger a crash. Running Cinebench didn't trigger a GPU Panic either so hopefully that's a good sign? I've had the console open this whole time but I don't see any logs? Do you know why this is?

Thank you again for your help!

HIBtoZZ.png


Gi6ga5W.png


wncpuXt.png
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.