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

mikegasche

macrumors newbie
Jan 21, 2019
6
3

------------------------------------------------------------------------------------------

Update 18th of May 2019:

a) My GPU finally and totally died my NVRAM has been reseted!

b) I couldn't boot anymore in any way.

c) I finally removed the diode and ...

d) ... this guy here helped me to boot my mac again: https://realmacmods.com.

e) Result: My Mac is running again, with the GPU uncoupled, backlight and everything working except brightness keys doesn't work anymore and I replaced them with the free Brightness Slider tool: https://itunes.apple.com/de/app/brightness-slider/id456624497.
------------------------------------------------------------------------------------------
Here are my 5 cents back: I have a solution in place that works perfectly without any hardware modification so far!

Here's my setup:
  • MacBook Pro (17-inch, Late 2011) [MD386LL/A] [A1297]
  • I changed the HDD to a SSD Samsung 840 EVO 1TB
  • I changed the battery to a LMP (95 Wh)
  • I changed the memory to 16 GB Corsair
  • macOS High Sierra 10.13.6 (17G4015)
As far I can conclude, I have no limitations except of course the power & acceleration from the dedicated AMD GPU. I even can run programs that would need the dedicated GPU such as Shotcut (https://shotcut.org). The temperatures of the dedicated GPU are extremely low: 40 degrees celsius. The GPU diode shows very strange low temperatures such as from 7 degrees celsius to 20 degrees celsius when the system is not used. Even the CPU is below 50 degrees celsius. The temperature management seems pretty good; fans are almost never running high and if you touch the aluminium case right under the screen it is never getting hot as this has been before.
Furthermore, the battery runs of course longer and I would like to mention here, that the backlight of the keyboard works as designed as well the brightness range of the screen that can be adjusted with F1/F2 as designed to.

For me it is unclear yet, what I would lose when I would remove the R8911 diode from the motherboard that seems to power the dedicated GPU. Hence, the GPU is still powered, but I can accept this, since this solution doesn't limit functionalities (yet)!

One personal note: I love my MacBook Pro, even it's old. I love it, because it is the last MacBook that has a 17" matte screen; I still have no idea who in the world really wants a *sorry* ****** glossy screen - glossy screens are the biggest nonsense ever invented - I can see NADA when I'm in a train or when daylight is reflecting on the screen & furthermore, for me it still is the only system I can do all with: to develop, compose, have a secure & save system, a UNIX shell & still enough performance to create everything I want. So, actually it is a great compliment to the Steve Jobs era of Apple & its employees, despite the fatal engineering error with this dedicated GPU. But as a long-time Apple-user (in different areas and products) I condemn Apple's behaviour towards users that have this GPU problem. It stays a fatal engineering error without any real solution for the users. This is not the way to make a business, never! It has nothing to do with "THINK different." but unfortunately more with "You’ll see why 2018 is like “1984”."

Before I list the modifications, I need to point out a circumstance that I had, since I have updated to High Sierra and converted my SDD to APFS:

  • Since the conversion and a certain system security update from Apple (Can't remember the version), my MacBook always booted into prohibited sign. I'm using the Chameleon SSD Optimizer to turn on TRIM and I had SIP enabled. I assumed it had something to do with the unsupported Samsung SSD in combination with TRIM, possibly SIP & APFS too; an unholy combination! I recommend everyone to stay on HFS+ instead APFS. APFS is not a bad filesystem, but you might be happier later whenever you need to mount your SSD/HDD from an external system. There are foreign filesystem protocols out there to mount APFS, but it is annoying.
  • Anyway, to be able to boot my MacBook, I had to first boot into recovery mode, chose there the Startup-Volume and reboot, then AND ONLY THEN the system started up from my APFS SSD volume. (Note: Surprisingly, this problem has been gone after this solution!)
  • So when my dedicated GPU finally died - the second time after the official nonsense Apple repair program that doesn't do anything good - I had the problem, that I even couldn't boot into recovery mode nor in the single user mode, because somehow the defect GPU hanged up the system in both cases ! So I was in big trouble.

The following steps show my way of bringing the system back, with the above conditions and it is a combination of many solutions out there already provided by some power users (see references below). I haven't approached the solution in these exact steps, but this is the conclusion of my solution:


Step 1: Boot from Arch Linux

Reference: https://forums.macrumors.com/thread...ntel-integrated-gpu-efi-variable-fix.2037591/ ("100% WORKING SOLUTION" Section)

  1. Download latest Arch Linux ISO Distribution and burn the ISO image 1 to 1 to a CD or create a bootable USB stick with that image (depending on what your MacBook is able to boot from the Mac Startup Manager).
  2. Enter CDROM or attach USB stick with Arch Linux and start your Mac by pressing the left ALT-Button till you end up in the Mac Startup Manager.
  3. Boot from "EFI boot" and be ready to use the arrow keys as soon the selection menu appears.
  4. When you see the menu use the arrow down key to stop the timer from making an auto selection, then go back to the first entry "Arch Linux archiso x86_64 UEFI CD" and press 'e' - when pressing 'e' you see that the arguments for that selection appear.
  5. In the arguments go to the end with the right arrow key, add a space and add the argument nomodeset
  6. Press enter, wait a while till Arch Linux has been booted
  7. Note: the EFI Partition is automatically mounted!
  8. cd /sys/firmware/efi/efivars/
  9. If there are any files starting with gpu-, delete them all with rm gpu-*; if this is not possible you might need to execute chattr -i gpu-* first.
  10. printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
  11. Make the new file/gpu-prefs immutable: chattr +i gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
  12. cd /
  13. umount /sys/firmware/efi/efivars/
  14. reboot (...and be ready to boot into Single User Mode by holding down CMD-S)

Step 2: Make some NVRAM modifications & make a Script to repeat modifications

Reference: https://apple.stackexchange.com/questions/267581/gpu-problem-boot-hangs-on-grey-screen ("Background and explanations" Section) & https://forums.macrumors.com/thread...fi-variable-fix.2037591/page-34#post-24944928

  1. In my case with the SSD boot problem and with the defect GPU I have been able to boot now successfully into Single User Mode and the GPU is already deactivated to a certain level I would say. "Step 1" can be repeated in any case if you are getting new problems and now you have a boot medium that can be reused - always a good thing!
  2. cd /
  3. mkdir /tools
  4. vi /tools/roxy (assuming you know how to use the vi-editor: "i" goes into insert mode, then press ESC and ":wq" writes out the file and ends the editor)
  5. Script:
    nvram boot-args="kext-dev-mode=1 agc=0"
    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    wait 1
    reboot
  6. chmod 755 /tools/roxy
  7. Note: If you cannot use "vi" you should even be able to boot your mac normally and to create the file & make the changes in the macOS GUI, but you have to make sure that the folder "tools" and the script "roxy" are assigned to the user root & the group wheel, then you would have to reboot into Single User Mode again. To change user & group you must use the terminal anyway:
    sudo chown root /tools
    sudo chgrp wheel /tools
    sudo chown root /tools/roxy
    sudo chgrp wheel /tools/roxy
  8. Now back in Single User Mode or if you have created your file here, reboot the system by executing the script created:
    bash /tools/roxy .
  9. If you made it that far and your system has booted, I recommend you take a break boot the system and make a Time Machine Backup. Just do it & don't think! BTW, the nvram parameter agc=0 seems to be doing really magic (lowering GPU temperatures a lot!)

Step 3: Disable SIP

  1. Reboot / boot into Recovery Mode by holding down CMD-R.
  2. There's not much to do here but opening a terminal from the menu and enter the following command to disable System Integrity Protection:
    csrutil disable
  3. Reboot normally.

Step 4: Taking care of KEXT's & create a Login-Hook (improved power management)

  1. Note: I do load all AMD kernel extensions (kexts) except one I load with a login hook.
  2. Use a terminal.
  3. cd /
  4. sudo mkdir /AMDExtensions
  5. Copy /System/Library/Extensions/AMDRadeonX3000.kext to /AMDExtensions and delete /System/Library/Extensions/AMDRadeonX3000.kext in Finder.
  6. Make sure /AMDExtensions and /AMDExtensions/AMDRadeonX3000.kext belongs to the user root and the group wheel (See step 2 how to do; if this doesn't work for any reasons, activate the root user: https://support.apple.com/HT204012 and login with the root user in a terminal)
  7. It seems it is essential - as far I remember - recursively change the user and group, since kernel extensions are packages:
    sudo chown root /AMDExtensions
    sudo chgrp wheel /AMDExtensions

    sudo chown -R root /AMDExtensions/AMDRadeonX3000.kext
    sudo chgrp -R wheel /AMDExtensions/AMDRadeonX3000.kext
  8. Then create the login hook that lazy loads the moved AMD kernel extension:
    sudo mkdir -p /Library/LoginHook
    sudo vi /Library/LoginHook/LoadX3000.sh
  9. In "vi" editor enter the following:
    #!/bin/bash
    kextload /AMDExtensions/AMDRadeonX3000.kext
    exit 0
  10. Save the file and exit "vi" (Press ESC, ":wq")
  11. Make it executable and activate it:
    sudo chmod a+x /Library/LoginHook/LoadX3000.sh
    sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh
  12. The separated AMD kernel extension is now loaded at login; I'm not sure if the hook is executed when the login window appears or when the user logs in. It would be preferable that it is executed when the login screen appears, so the power management is in place before the user logs in. If anyone knows more about this or has a better solution please comment!
  13. Now reboot your system normally.
  14. When you have logged in, check if the necessary kernel extensions all have been loaded, 5 pieces:
    kextstat | grep AMD
  15. The output should look like that:
    ... com.apple.kext.AMDLegacySupport ...
    ... com.apple.kext.AMD6000Controller ...
    ... com.apple.kext.AMDSupport ...
    ... com.apple.kext.AMDLegacyFramebuffer ...
    ... com.apple.kext.AMDRadeonX3000 ...
Step 5: Finish
  1. If you have activated the root user, I recommend to deactivate it again.
  2. Watch your temperature with the free iStat Pro Widget (e.g. here: https://www.chip.de/downloads/iStat-pro_44806820.html)
  3. When I'm writing this, my GPU temperature is 44 degrees celsius and the GPU diode is 10 degrees celsius [must be defect....])
  4. It is a good time to make a Time Machine Backup again.
  5. Now, whenever you get apple system updates or the NVRAM is reseted - depending on your system, configuration and/or problem - start with Step 1 or in most cases execute the script in Single User Mode that has been created in Step 2 : bash /tools/roxy .

Note: If you find any error in this solution let me know or comment for improvements. Thanks to the power users that I have been referring to. Hope this works for you without heating up your soldering iron ;-)

 
Last edited by a moderator:

rivermandan

macrumors newbie
Apr 14, 2011
7
8
I think you stumbled into the wrong thread, mikegasche; this thread is dedicated to permanently disabling the DGPU, not the old software mods. I've been chomping at the bit for someone to post the 17" method and you got my hopes up
 

trifero

macrumors 68030
May 21, 2009
2,964
2,806
Here are my 5 cents back: I have a solution in place that works perfectly without any hardware modification so far!

Here's my setup:
  • MacBook Pro (17-inch, Late 2011) [MD386LL/A] [A1297]
  • I changed the HDD to a SSD Samsung 840 EVO 1TB
  • I changed the battery to a LMP (95 Wh)
  • I changed the memory to 16 GB Corsair
  • macOS High Sierra 10.13.6 (17G4015)
As far I can conclude, I have no limitations except of course the power & acceleration from the dedicated AMD GPU. I even can run programs that would need the dedicated GPU such as Shotcut (https://shotcut.org). The temperatures of the dedicated GPU are extremely low: 40 degrees celsius. The GPU diode shows very strange low temperatures such as from 7 degrees celsius to 20 degrees celsius when the system is not used. Even the CPU is below 50 degrees celsius. The temperature management seems pretty good; fans are almost never running high and if you touch the aluminium case right under the screen it is never getting hot as this has been before.
Furthermore, the battery runs of course longer and I would like to mention here, that the backlight of the keyboard works as designed as well the brightness range of the screen that can be adjusted with F1/F2 as designed to.

For me it is unclear yet, what I would lose when I would remove the R8911 diode from the motherboard that seems to power the dedicated GPU. Hence, the GPU is still powered, but I can accept this, since this solution doesn't limit functionalities (yet)!

One personal note: I love my MacBook Pro, even it's old. I love it, because it is the last MacBook that has a 17" matte screen; I still have no idea who in the world really wants a *sorry* ****** glossy screen - glossy screens are the biggest nonsense ever invented - I can see NADA when I'm in a train or when daylight is reflecting on the screen & furthermore, for me it still is the only system I can do all with: to develop, compose, have a secure & save system, a UNIX shell & still enough performance to create everything I want. So, actually it is a great compliment to the Steve Jobs era of Apple & its employees, despite the fatal engineering error with this dedicated GPU. But as a long-time Apple-user (in different areas and products) I condemn Apple's behaviour towards users that have this GPU problem. It stays a fatal engineering error without any real solution for the users. This is not the way to make a business, never! It has nothing to do with "THINK different." but unfortunately more with "You’ll see why 2018 is like “1984”."

Before I list the modifications, I need to point out a circumstance that I had, since I have updated to High Sierra and converted my SDD to APFS:

  • Since the conversion and a certain system security update from Apple (Can't remember the version), my MacBook always booted into prohibited sign. I'm using the Chameleon SSD Optimizer to turn on TRIM and I had SIP enabled. I assumed it had something to do with the unsupported Samsung SSD in combination with TRIM, possibly SIP & APFS too; an unholy combination! I recommend everyone to stay on HFS+ instead APFS. APFS is not a bad filesystem, but you might be happier later whenever you need to mount your SSD/HDD from an external system. There are foreign filesystem protocols out there to mount APFS, but it is annoying.
  • Anyway, to be able to boot my MacBook, I had to first boot into recovery mode, chose there the Startup-Volume and reboot, then AND ONLY THEN the system started up from my APFS SSD volume. (Note: Surprisingly, this problem has been gone after this solution!)
  • So when my dedicated GPU finally died - the second time after the official nonsense Apple repair program that doesn't do anything good - I had the problem, that I even couldn't boot into recovery mode nor in the single user mode, because somehow the defect GPU hanged up the system in both cases ! So I was in big trouble.

The following steps show my way of bringing the system back, with the above conditions and it is a combination of many solutions out there already provided by some power users (see references below). I haven't approached the solution in these exact steps, but this is the conclusion of my solution:


Step 1: Boot from Arch Linux

Reference: https://forums.macrumors.com/thread...ntel-integrated-gpu-efi-variable-fix.2037591/ ("100% WORKING SOLUTION" Section)

  1. Download latest Arch Linux ISO Distribution and burn the ISO image 1 to 1 to a CD or create a bootable USB stick with that image (depending on what your MacBook is able to boot from the Mac Startup Manager).
  2. Enter CDROM or attach USB stick with Arch Linux and start your Mac by pressing the left ALT-Button till you end up in the Mac Startup Manager.
  3. Boot from "EFI boot" and be ready to use the arrow keys as soon the selection menu appears.
  4. When you see the menu use the arrow down key to stop the timer from making an auto selection, then go back to the first entry "Arch Linux archiso x86_64 UEFI CD" and press 'e' - when pressing 'e' you see that the arguments for that selection appear.
  5. In the arguments go to the end with the right arrow key, add a space and add the argument nomodeset
  6. Press enter, wait a while till Arch Linux has been booted
  7. Note: the EFI Partition is automatically mounted!
  8. cd /sys/firmware/efi/efivars/
  9. If there are any files starting with gpu-, delete them all with rm gpu-*; if this is not possible you might need to execute chattr -i gpu-* first.
  10. printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
  11. Make the new file/gpu-prefs immutable: chattr +i gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
  12. cd /
  13. umount /sys/firmware/efi/efivars/
  14. reboot (...and be ready to boot into Single User Mode by holding down CMD-S)

Step 2: Make some NVRAM modifications & make a Script to repeat modifications

Reference: https://apple.stackexchange.com/questions/267581/gpu-problem-boot-hangs-on-grey-screen ("Background and explanations" Section) & https://forums.macrumors.com/thread...fi-variable-fix.2037591/page-34#post-24944928

  1. In my case with the SSD boot problem and with the defect GPU I have been able to boot now successfully into Single User Mode and the GPU is already deactivated to a certain level I would say. "Step 1" can be repeated in any case if you are getting new problems and now you have a boot medium that can be reused - always a good thing!
  2. cd /
  3. mkdir /tools
  4. vi /tools/roxy (assuming you know how to use the vi-editor: "i" goes into insert mode, then press ESC and ":wq" writes out the file and ends the editor)
  5. Script:
    nvram boot-args="kext-dev-mode=1 agc=0"
    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    wait 1
    reboot
  6. chmod 755 /tools/roxy
  7. Note: If you cannot use "vi" you should even be able to boot your mac normally and to create the file & make the changes in the macOS GUI, but you have to make sure that the folder "tools" and the script "roxy" are assigned to the user root & the group wheel, then you would have to reboot into Single User Mode again. To change user & group you must use the terminal anyway:
    sudo chown root /tools
    sudo chgrp wheel /tools
    sudo chown root /tools/roxy
    sudo chgrp wheel /tools/roxy
  8. Now back in Single User Mode or if you have created your file here, reboot the system by executing the script created:
    bash /tools/roxy .
  9. If you made it that far and your system has booted, I recommend you take a break boot the system and make a Time Machine Backup. Just do it & don't think! BTW, the nvram parameter agc=0 seems to be doing really magic (lowering GPU temperatures a lot!)

Step 3: Disable SIP

  1. Reboot / boot into Recovery Mode by holding down CMD-R.
  2. There's not much to do here but opening a terminal from the menu and enter the following command to disable System Integrity Protection:
    csrutil disable
  3. Reboot normally.

Step 4: Taking care of KEXT's & create a Login-Hook (improved power management)

  1. Note: I do load all AMD kernel extensions (kexts) except one I load with a login hook.
  2. Use a terminal.
  3. cd /
  4. sudo mkdir /AMDExtensions
  5. Copy /System/Library/Extensions/AMDRadeonX3000.kext to /AMDExtensions and delete /System/Library/Extensions/AMDRadeonX3000.kext in Finder.
  6. Make sure /AMDExtensions and /AMDExtensions/AMDRadeonX3000.kext belongs to the user root and the group wheel (See step 2 how to do; if this doesn't work for any reasons, activate the root user: https://support.apple.com/HT204012 and login with the root user in a terminal)
  7. It seems it is essential - as far I remember - recursively change the user and group, since kernel extensions are packages:
    sudo chown root /AMDExtensions
    sudo chgrp wheel /AMDExtensions

    sudo chown -R root /AMDExtensions/AMDRadeonX3000.kext
    sudo chgrp -R wheel /AMDExtensions/AMDRadeonX3000.kext
  8. Then create the login hook that lazy loads the moved AMD kernel extension:
    sudo mkdir -p /Library/LoginHook
    sudo vi /Library/LoginHook/LoadX3000.sh
  9. In "vi" editor enter the following:
    #!/bin/bash
    kextload /AMDExtensions/AMDRadeonX3000.kext
    exit 0
  10. Save the file and exit "vi" (Press ESC, ":wq")
  11. Make it executable and activate it:
    sudo chmod a+x /Library/LoginHook/LoadX3000.sh
    sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh
  12. The separated AMD kernel extension is now loaded at login; I'm not sure if the hook is executed when the login window appears or when the user logs in. It would be preferable that it is executed when the login screen appears, so the power management is in place before the user logs in. If anyone knows more about this or has a better solution please comment!
  13. Now reboot your system normally.
  14. When you have logged in, check if the necessary kernel extensions all have been loaded, 5 pieces:
    kextstat | grep AMD
  15. The output should look like that:
    ... com.apple.kext.AMDLegacySupport ...
    ... com.apple.kext.AMD6000Controller ...
    ... com.apple.kext.AMDSupport ...
    ... com.apple.kext.AMDLegacyFramebuffer ...
    ... com.apple.kext.AMDRadeonX3000 ...
Step 5: Finish
  1. If you have activated the root user, I recommend to deactivate it again.
  2. Watch your temperature with the free iStat Pro Widget (e.g. here: https://www.chip.de/downloads/iStat-pro_44806820.html)
  3. When I'm writing this, my GPU temperature is 44 degrees celsius and the GPU diode is 10 degrees celsius [must be defect....])
  4. It is a good time to make a Time Machine Backup again.
  5. Now, whenever you get apple system updates or the NVRAM is reseted - depending on your system, configuration and/or problem - start with Step 1 or in most cases execute the script in Single User Mode that has been created in Step 2 : bash /tools/roxy .

Note: If you find any error in this solution let me know or comment for improvements. Thanks to the power users that I have been referring to. Hope this works for you without heating up your soldering iron ;-)



Thank you so much. Same as you, 2011 17" mate screen is my favourite laptop. In fact, I have 2 of them.
 

Dadioh

macrumors 65816
Feb 3, 2010
1,123
36
Canada Eh?
I did the mods for the MacBook Pro 17" early 2011. Works OK but I am getting kernel task running at 200% which is usually a sign that some thermal sensor is out of whack. When that happens Apple runs kernel task to keep the CPU cool. I suspect that the issue "could" be that I bought the machine without a battery. I jury rigged a A1278 battery just to check that theory and that does fix the sensors related to battery temp. However, the other sensor that is not reading is GPU Vcore. Makes sense since we have removed R8911 to power off the dGPU.

I ordered a proper 17" battery off Amazon and hoping that is the reason for the kernel task issue.

BTW the mods around the GMUX are all identical to the 15" model. The locations for LCD_BKLT_PWM, LCD_BKLT_EN, and PP3V3_SW_LCD_UF are in different locations. Used the schematic and board view to figure that last one out.

The basic guide that I used was the attached one from the first page of the thread (worked on my daughters MBP15).
MBPro15_820-2915_NoGPU.jpg
 

Dadioh

macrumors 65816
Feb 3, 2010
1,123
36
Canada Eh?
I got the new battery and that solved the kernel task issue. I think that Apple was slowing down the machine because without battery the charger itself cannot provide high current spikes on demand. So the fix works fine on 17" as well!
 

trifero

macrumors 68030
May 21, 2009
2,964
2,806
I got the new battery and that solved the kernel task issue. I think that Apple was slowing down the machine because without battery the charger itself cannot provide high current spikes on demand. So the fix works fine on 17" as well!

That’s good news!
 
  • Like
Reactions: AdamMagus

ibrahim monem

macrumors newbie
Sep 9, 2018
13
0
Egypt
I did the mods for the MacBook Pro 17" early 2011. Works OK but I am getting kernel task running at 200% which is usually a sign that some thermal sensor is out of whack. When that happens Apple runs kernel task to keep the CPU cool. I suspect that the issue "could" be that I bought the machine without a battery. I jury rigged a A1278 battery just to check that theory and that does fix the sensors related to battery temp. However, the other sensor that is not reading is GPU Vcore. Makes sense since we have removed R8911 to power off the dGPU.

I ordered a proper 17" battery off Amazon and hoping that is the reason for the kernel task issue.

BTW the mods around the GMUX are all identical to the 15" model. The locations for LCD_BKLT_PWM, LCD_BKLT_EN, and PP3V3_SW_LCD_UF are in different locations. Used the schematic and board view to figure that last one out.

The basic guide that I used was the attached one from the first page of the thread (worked on my daughters MBP15).
View attachment 818750



Firstly . Thank you

Second . Can you help me with the Modification this model Macbook A1398 2012
 

Dadioh

macrumors 65816
Feb 3, 2010
1,123
36
Canada Eh?
Firstly . Thank you

Second . Can you help me with the Modification this model Macbook A1398 2012

That model doesn’t have the issue with failed AMD graphics so this thread is not for you. But it does have a very common issue with U8900 which is the GPU power device which is a QFN package with poor solder joints. You likely just need someone to redo the solder joints on that device. But that is a topic for a different thread, not this one.
 
  • Like
Reactions: dosdude1

StefanWiswedel

macrumors newbie
Feb 5, 2019
8
0
I have done the NVRAM fix but my MBP still crashes when the computer sleeps (close lid) and I cannot use external display. If I did the hardware fix, would it fix these two issues?
[doublepost=1549456338][/doublepost]I have done the NVRAM fix but my MBP still crashes when the computer sleeps (close lid) and I cannot use external display. If I did the hardware fix, would it fix these two issues?
 

dosdude1

macrumors 68030
Original poster
Feb 16, 2012
2,779
7,413
I have done the NVRAM fix but my MBP still crashes when the computer sleeps (close lid) and I cannot use external display. If I did the hardware fix, would it fix these two issues?
[doublepost=1549456338][/doublepost]I have done the NVRAM fix but my MBP still crashes when the computer sleeps (close lid) and I cannot use external display. If I did the hardware fix, would it fix these two issues?
Yes, with this full hardware bypass, that sleep issue will no longer occur. However, you still cannot use an external display, due to the fact that the external display port is wired directly to the dedicated AMD GPU.
 

StefanWiswedel

macrumors newbie
Feb 5, 2019
8
0
OK cool. Good to know. Sucks about the external display issue though ...

Are there any other fixes for the sleep issue? Find it really frustrating to have to shut down properly all the time
 

dosdude1

macrumors 68030
Original poster
Feb 16, 2012
2,779
7,413
OK cool. Good to know. Sucks about the external display issue though ...

Are there any other fixes for the sleep issue? Find it really frustrating to have to shut down properly all the time
With the software modification, there's nothing you can do. As I mentioned, performing this full hardware bypass will rectify that sleep issue.
 

ibrahim monem

macrumors newbie
Sep 9, 2018
13
0
Egypt
That model doesn’t have the issue with failed AMD graphics so this thread is not for you. But it does have a very common issue with U8900 which is the GPU power device which is a QFN package with poor solder joints. You likely just need someone to redo the solder joints on that device. But that is a topic for a different thread, not this one.
That model doesn’t have the issue with failed AMD graphics so this thread is not for you. But it does have a very common issue with U8900 which is the GPU power device which is a QFN package with poor solder joints. You likely just need someone to redo the solder joints on that device. But that is a topic for a different thread, not this one.


Are already a few chip amd damage. But also damaged and I have a device that has a problem in the amd chip. I want to the Modification this model hardware .

Take a look at this. The Chinese man did it but hides the way

 

Olivia88

macrumors member
Jul 28, 2018
83
167
OK cool. Good to know. Sucks about the external display issue though ...

Are there any other fixes for the sleep issue? Find it really frustrating to have to shut down properly all the time
There's a way to do it. check out the post I made on how to.
[doublepost=1549487256][/doublepost]
With the software modification, there's nothing you can do. As I mentioned, performing this full hardware bypass will rectify that sleep issue.
Why do you deliberately mislead people ? its not the first time I've seen you do this.
 

dosdude1

macrumors 68030
Original poster
Feb 16, 2012
2,779
7,413
There's a way to do it. check out the post I made on how to.
[doublepost=1549487256][/doublepost]
Why do you deliberately mislead people ? its not the first time I've seen you do this.
I'm not trying to mislead anybody, I just hadn't realized there was actually a software solution that fixed sleep mode. I apologize for the confusion.
 
Last edited:

Phil_590

macrumors newbie
Feb 9, 2019
2
0
Hi,
First of all, thanks for showing this mod ;)
I did it to my 15 inch MBP, it is working fine but my gmux ic was removed before.... could you explain how to flash the 13 inch firmware, so i get graphics acceleration?
Would be great ;)
Sorry for bad english ;)
 

dosdude1

macrumors 68030
Original poster
Feb 16, 2012
2,779
7,413
Hi,
First of all, thanks for showing this mod ;)
I did it to my 15 inch MBP, it is working fine but my gmux ic was removed before.... could you explain how to flash the 13 inch firmware, so i get graphics acceleration?
Would be great ;)
Sorry for bad english ;)
You may already have graphics acceleration... After doing this mod on other boards with removed gMux ICs, I found that those retained graphics acceleration, oddly enough.
 

Phil_590

macrumors newbie
Feb 9, 2019
2
0
You may already have graphics acceleration... After doing this mod on other boards with removed gMux ICs, I found that those retained graphics acceleration, oddly enough.

Ok thanks ;) i indeed have graphics acceleration...
But i have another question: I am currently trying to mod a 2010 Macbook Pro with your technique, but it is not booting since i removed the gmux ic.... the fans start spinning and stop a few seconds later and then starts again in a loop! Is there anything, the gmux has to pull high in order to start? Before the removal it booted fine but with no screen!

Board is a 820-2850

Any tips would be great ;)
 

dosdude1

macrumors 68030
Original poster
Feb 16, 2012
2,779
7,413
Ok thanks ;) i indeed have graphics acceleration...
But i have another question: I am currently trying to mod a 2010 Macbook Pro with your technique, but it is not booting since i removed the gmux ic.... the fans start spinning and stop a few seconds later and then starts again in a loop! Is there anything, the gmux has to pull high in order to start? Before the removal it booted fine but with no screen!

Board is a 820-2850

Any tips would be great ;)
This gMux bypass method will not work on that model. However, since it does not have any GPU issues (the GT330 M never fails), I'd advise replacing the gMux IC, and replacing C9650, which is known to fail, and most likely was the cause of your initial issue.
 
  • Like
Reactions: Matejh and trifero

ibrahim monem

macrumors newbie
Sep 9, 2018
13
0
Egypt
I used the schematics for the board. I actually had a copy linked in the OP, but I had to remove it due to MacRumors forum rules that I wasn't aware of. However, the schematics can easily be found by Googling. The 15" board is an 820-2915, and the 17" board is an 820-2914.

Hi, dosdude1

Firstly . Thank you

Second . Can you help me with the Modification this model Macbook A1398 2012
 

dosdude1

macrumors 68030
Original poster
Feb 16, 2012
2,779
7,413
Hi, dosdude1

Firstly . Thank you

Second . Can you help me with the Modification this model Macbook A1398 2012
It's not necessary... Just apply new solder to the GPU VCORE regulator IC (U8900), and you'll have a fully working system.
 

tyasir

macrumors newbie
Feb 12, 2019
2
0
Recently, I figured out a very good solution to PERMANENTLY disable the dedicated AMD video card on a 2011 15"/17" MacBook Pro (MacBookPro8,2/8,3)! For those of you who don't know, MacBook Pros that utilize dynamic GPU switching between a dedicated GPU and integrated GPU use an IC known as the "gMux" chip. This is simply an off-the-shelf micro-controller, programmed with special firmware that switches active GPUs on-the-fly in a MacBook Pro system. This IC has 3 sets of LVDS lines connecting to it: The LVDS output lines from the dedicated GPU, the LVDS output lines from the integrated GPU, and the LVDS lines connecting to the connector for the display. In order to accomplish dynamic GPU switching, all this IC does is, when told to by the system, routes the correct set of LVDS lines to the display's LVDS output on the logic board.

In order to permanently keep the dedicated GPU disabled, there are 2 options:

- Option A, which will be detailed below, is to hard-wire the LVDS output lines from the integrated graphics straight to the lines connecting to the display.
- Option B would be to re-program the gMux IC (which is simply a Lattice LFXP2 micro-controller), with a custom firmware to disable the GPU switching functionality. I may experiment with this in the future, but doing so requires special hardware that I don't have. This would, of course, be the optimal solution, though.

Performing the Modification ("Option A")

Before I get started with the explanation, I just want to make it clear this this is a VERY tedious modification, and requires precision soldering equipment. Use of a microscope is recommended.

To begin, here is a brief look at the schematic, and the main premise of this mod. In the following pictures, you can see how the LVDS data lines appear for both the integrated graphics output, dedicated graphics output, and the LVDS output for the display (EG for dedicated GPU, IG for integrated GPU, and CONN of course for connector). You can see how this data line corresponds with each set of LVDS lines. There are 12 total LVDS lines (6 pairs).

View attachment 777903 View attachment 777904 View attachment 777905

In order to perform this modification, the first thing that needs to be done is to remove the gMux IC. EDIT: Do NOT remove the gMux IC. After further experimentation, I found that leaving it in place will allow you to achieve full graphics acceleration WITHOUT flashing the system firmware at all. Simply proceed with the wiring, with the gMux IC in place.

Once the chip is removed and the pads are cleaned, each LVDS data line from the LVDS_IG side needs to be connected to its corresponding data line on the LVDS_CONN side. Of course, to do this, the use of small bodge wires is required. I used 0.1MM jumper wire (which can be purchased here). A wire needs to be used to connect each IG data line to its respective point on the CONN side.

Here is a wiring diagram that will help you do this very easily. This one is for a 15" machine, but I will update this post with the 17" one once I make it.

View attachment 779000

Once all the data lines are soldered properly, there are still a couple more lines that need to be soldered. We'll start with the clock lines. If you look on the schematic, you will notice that there is one set of clock lines on the LVDS_IG side (LVDS_IG_A_CLK), but 2 sets on the LVDS_CONN side (LVDS_CONN_A_CLK and LVDS_CONN_B_CLK). All you need to do in this instance is connect the A_CLK pair from the IG side to the A_CLK resistor pair on the CONN side. Then, simply connect the A_CLK pair to the B_CLK pair on the CONN side as well.

The next thing we need to do is pull the LVDS_DDC_SEL_IG rail high. To do this, all you need to do is connect the high side of this rail's pulldown resistor (R6982) to the PP3V3_S0 rail. I connected it to a capacitor near the backlight IC (C9711), as it was the easiest and closest source of PP3V3_S0 to that point of the board. This routes the necessary LVDS DDC clock lines to the integrated GPU.

The last few things we need to wire up are the enable rails for the LCD backlight and LCD panel power, as well as the PWM signal for the backlight. The first wire simply needs to bridge the following rails: LCD_PWR_EN, LVDS_IG_PANEL_PWR, and LCD_BKLT_EN.

The last wire will be used to wire the backlight PWM signal. The purpose of this signal is to control the backlight brightness level. Now, normally, the PWM signal is generated by the gMux IC. However, since the gMux IC is no longer in place, it cannot provide this signal (and even if you were to leave it in place, it still would not be able to provide this signal. I may be wrong on this, but feel free to test if you want.) As such, we will simply be wiring this rail to the LVDS_IG_BKL_ON rail. Unfortunately, what this means is that the backlight will remain at a fixed brightness, and be uncontrollable from the OS.

UPDATE: I have finished working on a new solution for backlight brightness control! You can read about, and see this modification in action here.

Finally, once all that is wired up, the system should be good to go! The final product will look something like this:

View attachment 777906

Last Step

After all your wiring is complete, you will need to cut power to the dedicated GPU, otherwise it will simply produce waste heat. To do so, all you need to do is remove the resistor that supplies power to the GPU VCORE regulator IC, R8911.

At last, once all that is complete, you are now done! You will now have a fully working 2011 15" or 17" MacBook Pro, running off ONLY integrated graphics! No OS X modifications are necessary, and it is not reliant on any NVRAM variable (obviously). This, short of making custom firmware for the gMux chip, is the BEST solution for rectifying the defective AMD GPU issue on these machines. The only issues are the lack of brightness control as mentioned earlier, and the external display port will not work. Other than that, though, everything works perfectly!

I have a video showing the mod in detail here.

View attachment 777910
Have you tried this on a a1297?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.