Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

jaynaland

macrumors newbie
Oct 23, 2017
7
2
First of all, I'd like to thank everyone contributing to this thread, and especially MikeyN, nsgr and AppleMacFinder. You guys rock! I was able to give my mbp 15 early 2011 second life following your instructions. Now running on the latest High Sierra with security udpates installed and no sleep/wake or shutdown problems. I had issues with sleep/wake and turning off the machine while running on the batteries, but redoing the SMC reset and setting nvram variables again made all of it go away. It is fully functioning working machine now! Except, I no longer use Thunderbolt port.
 
  • Like
Reactions: Spectrum

Simonron

macrumors newbie
Feb 22, 2016
2
0
... You have to move the AMDRadeonX3000.kext that is inside the /System/Library/Extensions directory. ...
I've tried that after multiple readings of the above. I know I also read somewhere the solution to the 'Operation not permitted' error.
I tried working with the crsutils file on the recovery partition - but it isn't there.
Can you stand another go at finding my way through this ?
My next trick is to try the actions via the now sluggingly working but totally readable desktop rather than via terminal. I have tried that in the past also, but, I have reset, reuploaded and rechecked so much that there is a chance it will get me yet another small step forward. I am a patient man.


MAJOR UPDATE NEWS

It now works almost perfectly. Many thanks for all the help - but this site -
http://dosdude1.com/mojave/ gave me more than I was expecting. The MacBook Pro now runs Mohave :) properly !
 

pratikindia

macrumors 6502
Apr 7, 2014
472
514
A big thank you to AppleMacFinder and other contributors. My Late 2011 MBP was dead. This brought back it to Life. Happy.
 

toloko

macrumors newbie
Nov 28, 2014
5
0
Yesterday figured out a way to disable dGPU without removing any kexts. Mind you, it's a fully functional 2012 rMBP running Sierra, but thought it might work for 2011 MBPs as well.


1. Enter the "nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00" string as per usual using single-user/user-recovery, and restart.

2. Log in. After starting up, run terminal & enter same code above (plus sudo) and password when prompted "sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00"

3. Start gSwitch, set it to "Integrated Only", Choose "Preferences", make sure "Remember Last GPU Mode" is checked and click "Open Advanced Pane"

4. Set GPU State to gpuState 5 and arg 3 and hit run, it'll affirm "Successfully set state: 5 and arg:3". You may now close gSwitch if you so wish.
__

That's it. In my case, apps no longer have access to dGPU as long as I don't do a shutdown or restart. Sleep and waking up work as they should. dGPU remains unswitchable aftering waking up too.

Once I restart or shut down, I'd have to repeat steps 2 and 4, ie enter the string in Terminal and set state 5 and arg 3 in gSwitch again, so dGPU would remain disabled after computer is shutdown or restarted again.


Advantages of this method:

1. Sleep, wake & brightness control all work, tempersature is normal.
2. No need to tinker with kexts or change SIP state.
3. Potentially less problematic on newer macOS releases.

Disadvantages:

1. Steps 2 & 4 need to be repeated after every restart/shutdown, easy as they may be.
2. Requires gSwitch.

I welcome your feedback.

Hey guys,
I would like to thank you all for this topic.
My mob was dead 5 months ago... I was thinking of throwing away, then I found this amazing topic.

I did some inputs from first page (nvram input, nvram boot-args and cs rutile.... then, I did this quote.
My only doubt is: every time I restart the computer, aways came a blacks screen with a lot of texts.... its normal? Or Im missing something?

(sorry my English, I'm Brazilian)
 

nsgr

macrumors 6502
May 22, 2017
317
117
Macbook Pro Early 2011 - AMD GPU Radeon HD 6750M - Mobile.

AMD GPU Radeon HD 6750 = 3 ports (1 x HDMI, 1 x DisplayPort and 1 x DVI).

AMD GPU Radeon HD 6770 = 3 or 4 ports.


I tested some AMD6000Controller.kext settings and maybe it will help somebody who has black screen problem for Sleep.

/System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist


CFG_FB_LIMIT = Config FrameBuffer Limit


CFG_FB_LIMIT=0 - may mean Automatic Mode. Original value Info.plist file. Power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=1 - do not power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=2 - do not power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=3 - Yes, power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.


AMD6000Controller and AMDRadeonX3000.kext are connected to AppleMuxControl.kext.


Inside AppleMuxControl.kext (Info.plist) - > IOKitPersonalities -> AppleMuxControl -> Config2:

NumberFramebuffers0 = 1 (Intel GPU)
NumberFramebuffers1 = 3 (AMD GPU)


From what I read on the Internet, the number using CFG_FB_LIMIT is related to the number of ports (HDMI, DVI, etc) of the AMD GPU.


1 - gpu-power-prefs to Intel GPU.

2 - Disable SIP - boot in Recovery Mode - press Command + R keys at boot.
Code:
csrutil disable
reboot


3 - Boot in Single User Mode - press Command + S keys at boot.

4 - Verify filesystem
Code:
fsck -fy


5 - Mount filesystem with Read and Write permissions. Do not forget final Slash "/" .
Code:
mount -uw /


6 - Use nano editor:
Code:
nano /System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist

IOKitPersonalities -> Controller -> aty_config -> CFG_FB_LIMIT

Original:
CFG_FB_LIMIT=0

Modify:
CFG_FB_LIMIT=3

<key>CFG_FB_LIMIT</key><integer>0</integer>

To:

<key>CFG_FB_LIMIT</key><integer>3</integer>



7 - Press CTRL + X keys to exit.
Press the Y key to confirm that you want to change the Info.plist file.
Press ENTER to change the Info.plist file and exit nano editor.


8 - Use touch command and change timestamp /System/Library/Extensions .
Code:
touch /System/Library/Extensions


9 - Rebuild PrelinkedKernel file with kextcache command. Use ls command to list your MacOS system partition. In my example is /Volumes/MacOS
Code:
ls /Volumes/
MacOS

kextcache -v 1 -u /Volumes/MacOS


10 - Reboot Macbook Pro 2011 and boot normal.

11 - Finder -> Applications -> Utilities -> Terminal

See if CFG_FB_LIMIT=3 .
Code:
ioreg -lw0 | grep -i CFG_FB_LIMIT

    | |   |   | |   "CFG_FB_LIMIT" = 3

    | |   |   | |     "aty_config" = {"CFG_NO_HDCP"=No,"CFG_INTERNAL_1080P"=Yes,"CFG_CAIL_CAPS"=0,"CFG_NO_PP"=No,"CFG_CAA"=0,"CFG_INT_SSPC"=25,"DALUseUrgencyWaterMarkOffset"=0,"CFG_USE_STUTTER"=No,"CFG_GEN_FLAGS"=0,"CFG_GRPH_CONTROL_DIS"=40964,"CFG_SURFACE_INFO_DIS"=1703936,"CFG_USE_FBC"=No,"CFG_FB_LIMIT"=3,"DALReadDelayStutterOff"=4}


12 - Everything is OK? Enable SIP again but remember that you have modified a KEXT. So now you have to partially enable SIP to allow modified KEXTS.

Boot Recovery Mode - press Command + R at boot

Menu Utilities -> Terminal:
Code:
csrutil enable --without kext

reboot


References:

Enabling parts of System Integrity Protection while disabling specific parts?
https://forums.developer.apple.com/thread/17452


GUIDE TO FIXING BROKEN SLEEP IN HIGH SIERRA 10.13.2 FOR AMD RX 560, RX 570, RX 580
https://hackintosher.com/guides/gui...high-sierra-10-13-2-amd-rx-560-rx-570-rx-580/


https://www.reddit.com/r/hackintosh/comments/7lwg5b/infoplist_clover_patch/

https://www.insanelymac.com/forum/topic/330353-macos-10132-update-is-out/?page=4


XFX Radeon HD 6750 DirectX 11 HD-675X-ZDFR 1GB 128-Bit DDR3 PCI Express 2.1 Video Card
https://www.newegg.com/Product/Product.aspx?Item=N82E16814150684
 
Last edited:

Dave111

macrumors newbie
Nov 1, 2018
24
4
Macbook Pro Early 2011 - AMD GPU Radeon HD 6750M - Mobile.

AMD GPU Radeon HD 6750 = 3 ports (1 x HDMI, 1 x DisplayPort and 1 x DVI).

AMD GPU Radeon HD 6770 = 3 or 4 ports.


I tested some AMD6000Controller.kext settings and maybe it will help somebody who has black screen problem for Sleep.

/System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist


CFG_FB_LIMIT = Config FrameBuffer Limit


CFG_FB_LIMIT=0 - may mean Automatic Mode. Original value Info.plist file. Power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=1 - do not power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=2 - do not power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=3 - Yes, power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.


AMD6000Controller and AMDRadeonX3000.kext are connected to AppleMuxControl.kext.


Inside AppleMuxControl.kext (Info.plist) - > IOKitPersonalities -> AppleMuxControl -> Config2:

NumberFramebuffers0 = 1 (Intel GPU)
NumberFramebuffers1 = 3 (AMD GPU)


From what I read on the Internet, the number using CFG_FB_LIMIT is related to the number of ports (HDMI, DVI, etc) of the AMD GPU.


1 - gpu-power-prefs to Intel GPU.

2 - Disable SIP - boot in Recovery Mode - press Command + R keys at boot.
Code:
csrutil disable
reboot


3 - Boot in Single User Mode - press Command + S keys at boot.

4 - Verify filesystem
Code:
fsck -fy


5 - Mount filesystem with Read and Write permissions. Do not forget final Slash "/" .
Code:
mount -uw /


6 - Use nano editor:
Code:
nano /System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist

IOKitPersonalities -> Controller -> aty_config -> CFG_FB_LIMIT

Original:
CFG_FB_LIMIT=0

Modify:
CFG_FB_LIMIT=3

<key>CFG_FB_LIMIT</key><integer>0</integer>

To:

<key>CFG_FB_LIMIT</key><integer>3</integer>



7 - Press CTRL + X keys to exit.
Press the Y key to confirm that you want to change the Info.plist file.
Press ENTER to change the Info.plist file and exit nano editor.


8 - Use touch command and change timestamp /System/Library/Extensions .
Code:
touch /System/Library/Extensions


9 - Rebuild PrelinkedKernel file with kextcache command. Use ls command to list your MacOS system partition. In my example is /Volumes/MacOS
Code:
ls /Volumes/
MacOS

kextcache -v 1 -u /Volumes/MacOS


10 - Reboot Macbook Pro 2011 and boot normal.

11 - Finder -> Applications -> Utilities -> Terminal

See if CFG_FB_LIMIT=3 .
Code:
ioreg -lw0 | grep -i CFG_FB_LIMIT

    | |   |   | |   "CFG_FB_LIMIT" = 3

    | |   |   | |     "aty_config" = {"CFG_NO_HDCP"=No,"CFG_INTERNAL_1080P"=Yes,"CFG_CAIL_CAPS"=0,"CFG_NO_PP"=No,"CFG_CAA"=0,"CFG_INT_SSPC"=25,"DALUseUrgencyWaterMarkOffset"=0,"CFG_USE_STUTTER"=No,"CFG_GEN_FLAGS"=0,"CFG_GRPH_CONTROL_DIS"=40964,"CFG_SURFACE_INFO_DIS"=1703936,"CFG_USE_FBC"=No,"CFG_FB_LIMIT"=3,"DALReadDelayStutterOff"=4}


12 - Everything is OK? Enable SIP again but remember that you have modified a KEXT. So now you have to partially enable SIP to allow modified KEXTS.

Boot Recovery Mode - press Command + R at boot

Menu Utilities -> Terminal:
Code:
csrutil enable --without kext

reboot


References:

Enabling parts of System Integrity Protection while disabling specific parts?
https://forums.developer.apple.com/thread/17452


GUIDE TO FIXING BROKEN SLEEP IN HIGH SIERRA 10.13.2 FOR AMD RX 560, RX 570, RX 580
https://hackintosher.com/guides/gui...high-sierra-10-13-2-amd-rx-560-rx-570-rx-580/


https://www.reddit.com/r/hackintosh/comments/7lwg5b/infoplist_clover_patch/

https://www.insanelymac.com/forum/topic/330353-macos-10132-update-is-out/?page=4


XFX Radeon HD 6750 DirectX 11 HD-675X-ZDFR 1GB 128-Bit DDR3 PCI Express 2.1 Video Card
https://www.newegg.com/Product/Product.aspx?Item=N82E16814150684

@nsgr Amazing work!! This is the first time I see a real potential solution to the sleep/wake problems in El Capitan. I was under the impression that one could NOT modify and execute Kexts without them being signed, so I guess I was mistaken. Thank you so much for finding and posting this gem @nsgr !! CFG_FB_LIMIT=3 Here I go!
 

MacbookPro2011_GPUfailed

macrumors newbie
Mar 10, 2019
4
1
I can’t seem to load my usb drive, I have the Mac OS installer cd inserted and already downloaded the thing into my usb fingerdrive but it’s not letting me load the iso file in it.
 

MacbookPro2011_GPUfailed

macrumors newbie
Mar 10, 2019
4
1
I’m not seeing the EFI thingy.
[doublepost=1552258589][/doublepost]How do I get to the EFI part? I already downloaded the file to my USB flash drive, but my MBP is not detecting the USB, therefore no EFI.
[doublepost=1552258779][/doublepost]I’m getting this after clicking on the Mac OS installer icon.
 

Attachments

  • 399D9E71-CB40-47D2-AD85-90DB9C5811A5.jpeg
    399D9E71-CB40-47D2-AD85-90DB9C5811A5.jpeg
    4.1 MB · Views: 249
  • CF5D1D03-D3EB-4D18-91BF-A3E8A5B04881.jpeg
    CF5D1D03-D3EB-4D18-91BF-A3E8A5B04881.jpeg
    7.4 MB · Views: 204
Last edited:

MacbookPro2011_GPUfailed

macrumors newbie
Mar 10, 2019
4
1
First, Macbook Pro 2011 with failed AMD GPU.

Second, Single User mode and Recovery Mode no needed sudo command before nvram command. You are logged in as root (administrator).
The sudo command is for you to acquire root (administrator) powers.
The sudo command only needs to be used when you boot normally or Safe boot (press SHIFT key at boot).

Recovery Mode with nvram gpu-power-prefs to Intel GPU = load graphical screen with menu, disk utility, etc.

Recovery Mode with nvram gpu-power-prefs to AMD failed GPU = freeze progress bar and overheat Macbook Pro with gray screeen.


Solution 1:

1 - Boot Single User mode -> press Command + S keys at boot and nvram gpu-power-prefs to Intel GPU and reboot.
Code:
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

reboot


2 - Boot Recovery Mode graphical -> press Command + R at boot -> menu Utilities -> disable SIP with csrutil command.
Code:
csrutil disable

reboot


3 - Boot Single User Mode - Press Command + S keys at boot.

4 - Follow post #2255 - move AMDRadeonX3000.kext - rebuild kext cache / prelinkedkernel (~ 23 MB) file without AMDRadeonX3000.kext inside.

5 - Everything OK with boot normal? If yes, then reboot and enable SIP again in Recovery Mode (press Command + R at boot).
Code:
csrutil enable



Solution 2:

The USB stick / Pendrive with the Mac OS installer also has a Single User Mode where you can make nvram gpu-power-prefs and also disable SIP - csrutil disable - no need graphical screen.

1 - Power on your Macbook Pro 2011 and press Option / Alt key at boot -> show boot manager.

2 - Plug your USB Stick / Pendrive with Mac OS installer.

3 - Boot Manager show Mac OS installer icon.

4 - Move arrow left or right " <-- or --> " and select Mac OS installer icon. Do not press ENTER.

5 - Press Command + S keys and hold -> now press ENTER key and keep pressing Command + S keys.

6 - Keep pressing Command + S keys until load Single User Mode from USB Stick / Pendrive Mac OS installer.

7 - After load Single User Mode -> release Command + S keys.

8 - Probably many "s" letters will appear on the screen. Press ENTER or delete all "s" with the BACKSPACE key.

9 - nvram gpu-power-prefs to Intel GPU and disable SIP and reboot.
Code:
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

csrutil disable

reboot
In my case it took about 40 seconds to appear the SIP message saying that for the changes to take effect need to restart the system.
The USB Stick / Pendrive light with the High Sierra installer blinks.


10 - Unplug your USB Stick / Pendrive with Mac OS Installer.

11 - Boot Single User Mode from system partition - your HD/SSD - press Command + S at boot.

12 - Follow post #2255 - move AMDRadeonX3000.kext - rebuild kext cache / prelinkedkernel (~ 23 MB) file without AMDRadeonX3000.kext inside.

13 - Everything OK with boot normal? If yes, then reboot and enable SIP again in Recovery Mode (press Command + R at boot).
Code:
csrutil enable

How and where do you get the MAC OS Installer into a USB Flash Drive? I have the original CD's it came with my MBP, but how do I get it into my 32GB flash drive?
 
  • Like
Reactions: Laisen

pckrullenbol

macrumors member
Sep 30, 2016
30
10
The Netherlands
Thank you so much for finding and posting this gem @nsgr !! CFG_FB_LIMIT=3 Here I go!

I have a MacBook Pro 15 inch (Early 2011 MacBookPro8,2), with a AMD Radeon HD6490M.
With lower OSX versions I maybe had every week the problem getting a wake from sleep, but with 10.13.6 this was at least every day.
So I'm very interested in CFG_FB_LIMIT setting, although I have a different GPU AMD Radeon HD6490M.
CFG_FB_LIMIT showed 0
Latest 10.13.6, so without the Single User Mode.
Sip already disabled.
Luckily I have on the second HD a extra 10.13.3 installation.
My HD is called MacBook.
I had to change the path to full path and add "sudo" in front of the code:
sudo nano /Volumes/MacBook/System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist
CFG_FB_LIMIT was "0" and I changed it to "3".
sudo touch /Volumes/MacBook/System/Library/Extensions
sudo kextcache -v 1 -u /Volumes/MacOS

After reboot, checked in Terminal: "ioreg -lw0 | grep -i CFG_FB_LIMIT", shows "3", so everything seems successful.

Maybe too early, but for four days now, no single issue with waking the laptop!
 
Last edited:
  • Like
Reactions: Dave111 and Laisen

pckrullenbol

macrumors member
Sep 30, 2016
30
10
The Netherlands
How and where do you get the MAC OS Installer into a USB Flash Drive? I have the original CD's it came with my MBP, but how do I get it into my 32GB flash drive?

Don't use a cd but an usb-drive. Here are better instructions to make one.

First download the latest version of "Install Disk Creator":
https://macdaddy.io/install-disk-creator/

Then download MacOS Downloader.zip: http://dosdude1.com/apps/macOS Downloader.zip
Open the app and save the macOS to a big enough volume (more than 5 GB free)
This creates the MacOS installation app you need later.

Have a usb-drive of 8G or more ready (will be formatted).

Open "Install Disk Creator", select the usb-drive, select the installation app created by MacOS Downloader app.

Creating the bootable drive will take 10-20 minutes, wait until the ready message appears.
Now you should be able to select the usb-drive while holding the option-key when restarting.
 

cool_cool_yeah

macrumors newbie
Mar 13, 2019
1
0
I made this account just to thank you for your amazing work. My MacBook Pro had been dead for 6 months, and now it has come back to life thanks to you. I am very grateful.
 

MikeyN

macrumors regular
Jul 26, 2017
129
75
CFG_FB_LIMIT=3 .

That is quite the interesting find.

I wonder if there would be a way to have this info-plist changed and load with full SIP enabled?

But how to do that?

Some trustworthy soul upload those kexts somewhere, signed with a valid certificate?
Change another NVRAM variable?
Supply this enforcement via a bootloader?
Change at regular boot?
Change at load?
Change at runtime?
 

nsgr

macrumors 6502
May 22, 2017
317
117
That is quite the interesting find.

I wonder if there would be a way to have this info-plist changed and load with full SIP enabled?

But how to do that?

Some trustworthy soul upload those kexts somewhere, signed with a valid certificate?
Change another NVRAM variable?
Supply this enforcement via a bootloader?
Change at regular boot?
Change at load?
Change at runtime?


I think Apple would not allow an independent developer to create a certificate (Apple Developer account) for an AMD / Nvidia kext. Maybe a "miracle" will happen (Tim Cook woke up in a good mood).

nvram="agc=0" worked fine for kextload AMDRadeonX3000.kext on boot (Sierra first release). So Apple changed AppleMuxControl.kext with "AGC: booted to IG, policy disabled !!".
If I'm not mistaken, Apple changed that in the first Sierra update. IG=Integrated Graphics/Intel GPU.
In addition to having an AMD GPU with problems, then comes Apple and makes the situation worse.

It is a "coincidence" that Apple has purposely changed the AppleMuxControl.kext after I disclosed this information - Page 9 - #203

The AMDRadeonX4000.kext has in the binary file "-amd_no_dgpu_accel" to be inserted into the nvram boot-args="-amd_no_dgpu_accel". But Apple does not want to put this option to AMDRadeonX3000.kext.


The person able to make a "bypass" in the SIP, then soon as this person release this information openly, then Apple will do an update to fix this and we will have the problem again.



I ran "AGDCDiagnose -a" and saw that it had "gmux -> GPUPowerDown: on".

So "nvram boot-args="agc=3" means that the "GPUPowerDown = Off". It is a rule that does not allow power off the AMD GPU.

That's why a user reported this agc=3 when they replaced the AMD GPU in an Apple technical assistance. The Apple technician wanted to do a "stress" on the AMD GPU and to keep the AMD GPU always ON with the agc=3.

https://forums.developer.apple.com/thread/23504


The possible sequence would be - GPUPowerDown rule inside IOAcceleratorFamily2.kext:

kextload AMDRadeonX3000.kext -> AppleMuxControl.kext -> IOAcceleratorFamily2.kext:

1 - if nvram boot-args="agc=0 or 9, 10, etc." then PowerOff (rule) GPU AMD allowed.

2 - if nvram boot-args="agc=1 or 2, 3, 4,. .. 8 "then PowerOff (rule) AMD GPU is not allowed.


Code:
ioreg -lw0 | grep -i AGCInfo
    | |   |   |       "AGCInfo" = {"fBusyCount"=0,"poweredOffByAGC"=Yes,"fSubmissionsSinceLastCheck"=0,"fLastSubmissionPID"=0}


AGCInfo is inside /System/Library/Extensions/IOAcceleratorFamily2.kext/Contents/MacOS/IOAcceleratorFamily2


I noticed that when the AMDRadeonX3000.kext is not loaded, then in IstatMenu it gets "GPU VCore = 0.91 Volts / GPU Core = 0A (maybe Ampere)". GPU Core = AMD GPU.
After kextload AMDRadeonX3000.kext -> "GPU VCore = 0 Volts / GPU Core = 0A".

I think it would be good to test something in the sense of undervolting AMD GPU (AMD6000Controller.kext) and not loading AMDRadeonX3000.kext .
Only load AMD6000Controller.kext, AMDLegacyFrameBuffer.kext, AMDLegacySupport.kext, AMDFrameBuffer.kext and AMDSupport.kext.


Caution: The VGTab app has no open source code. Do not use this VGTab directly on your Mac OS. If you want to test, then install Mac OS on a virtual machine (Virtualbox, VMware) and test.

There is the VGTab app for GPU AMD Vega. It changes the AMD9000Controler.kext and does undervolt, overclock, etc.

The test would see what the VGTab app changes on the AMD9000Controller.kext (Info.Plist) when doing an undervolt or underclock.
Then see if the PP or CFG options within Info.Plist are compatible with the Radeon HD 6XXX of Macbook Pro 2011.


Underclocking the Nvidia GPU is much simpler in Mac OS. AMD makes it even harder for Mac OS.
On Windows you have Catalyst and MSI Afterburner and on Linux the Catalyst. The Catalyst Control Center is made by AMD itself. AMD "forgot" to make a version for Mac OS.

On Linux it's easy to turn off the AMD GPU of Macbook Pro 2011.


https://ubuntuforums.org/showthread.php?t=2322898

VGTab app 1
https://www.tonymacx86.com/threads/...a-in-macos-without-flashing-the-vbios.268965/

VGTab app 2
https://www.tonymacx86.com/threads/...vega-power-and-fan-control-properties.267519/


https://www.amd.com/en/support/kb/release-notes/rn-rad-lin-15-9


https://wiki.archlinux.org/index.php/Hybrid_graphics

https://gist.github.com/viniciusban/6917701

Radeon DPM
https://www.phoronix.com/scan.php?page=search&q=Radeon+DPM
 

eternalthree

macrumors newbie
Mar 15, 2019
3
0
Hello. Just made this account to say thank you to the contributors (AppleMacFinder and MikeyN in particular) to this thread and i guess to recap for myself. i was gifted a 2011 15" mbp with a broken amd gpu and i'm sooooooooo happy. managed to get high sierra installed and followed most of the instructions in the first post (arch linux) and right now, the system is stable and running fairly well on the integrated gpu. i also moved all AMD kexts out and into a separate folder as instructed.
i read a few pages back i should probably have only moved the one x300 kext and not all amd kexts, huh? Would this solve my sleep issues or just the brightness adjustment?

remaining issues:
closing lid does not sleep. hot corner turns off display, so that's nice. i have not yet tried the suggestions in post 1425, 1066, and 1243.
brightness cannot be controlled by keyboard buttons.
temperatures spike and dip a lot. i suppose i should do the repaste. but is this because i havent disabled the resistor 8911?
i assume mojave is not recommended at this time, and Sierra is the best case, since it'll have brightness and sleep fixed?

Have a great weekend, everyone!
 

MikeyN

macrumors regular
Jul 26, 2017
129
75
i also moved all AMD kexts out and into a separate folder as instructed.
i read a few pages back i should probably have only moved the one x300 kext and not all amd kexts, huh? Would this solve my sleep issues or just the brightness adjustment?

Neither.
Having all AMD kexts loaded at boot, except X3000 which has to be loaded later, allows for better thermal management and battery life.

remaining issues:
closing lid does not sleep. hot corner turns off display, so that's nice. i have not yet tried the suggestions in post 1425, 1066, and 1243.
brightness cannot be controlled by keyboard buttons.
temperatures spike and dip a lot. i suppose i should do the repaste. but is this because i havent disabled the resistor 8911?
i assume mojave is not recommended at this time, and Sierra is the best case, since it'll have brightness and sleep fixed?

"Repaste" means thermal grease? Then you can try that, but you probably do not have to. First make sure that the AMD kexts are in the recommended locations and loaded in the proper way (ie X3000 delayed). Thermal compound replacement means a lot of unscrewing components without screwing them up and can only lower the temp for very few degrees. Proper AMD kext management drops more °Cs on unaltered hardware. Of course, a combination might achieve even more. But keep in mind that Apple doesn't use "optimal" thermal compound, just "good enough". And good enough is really that: "good enough". As the MBP was probably repaired once or twice already it means the thermal compound isn't even that old to begin with.

Be careful with that resistor option. That might be nice but is an incomplete solution. It depends on the nvram-variable being present. Clearing nvram then means trouble. You'd need either a way to re-enable the variable without internal screen (eg ssh) or the full wiring solution (neatly sold in a package by dosdude1 http://dosdude1.com/resources.html, search this forum for experience with that)

The easiest way to avoid sleep trouble is to avoid lid-close-sleep. That works for me for a while but then it doesn't. What does seem to work: wait for software induced sleep to be fully active (eg key-combo or AppleMenu, fans off but sleep light indicator pulsing). Also: try to avoid sleep with Thunderbolt peripherals attached. Watching for both, sleep and more important waking up again is very reliable.

Mojave isn't really worth it on this unsupported machine.
 

the_marked

macrumors newbie
Jun 14, 2017
2
1
This fix sends to temporarily work for me but after a few minutes my MBP restarts itself. Any ideas why this may be?
 

eternalthree

macrumors newbie
Mar 15, 2019
3
0
Neither.
Having all AMD kexts loaded at boot, except X3000 which has to be loaded later, allows for better thermal management and battery life.



"Repaste" means thermal grease? Then you can try that, but you probably do not have to. First make sure that the AMD kexts are in the recommended locations and loaded in the proper way (ie X3000 delayed). Thermal compound replacement means a lot of unscrewing components without screwing them up and can only lower the temp for very few degrees. Proper AMD kext management drops more °Cs on unaltered hardware. Of course, a combination might achieve even more. But keep in mind that Apple doesn't use "optimal" thermal compound, just "good enough". And good enough is really that: "good enough". As the MBP was probably repaired once or twice already it means the thermal compound isn't even that old to begin with.

Be careful with that resistor option. That might be nice but is an incomplete solution. It depends on the nvram-variable being present. Clearing nvram then means trouble. You'd need either a way to re-enable the variable without internal screen (eg ssh) or the full wiring solution (neatly sold in a package by dosdude1 http://dosdude1.com/resources.html, search this forum for experience with that)

The easiest way to avoid sleep trouble is to avoid lid-close-sleep. That works for me for a while but then it doesn't. What does seem to work: wait for software induced sleep to be fully active (eg key-combo or AppleMenu, fans off but sleep light indicator pulsing). Also: try to avoid sleep with Thunderbolt peripherals attached. Watching for both, sleep and more important waking up again is very reliable.

Mojave isn't really worth it on this unsupported machine.

Wait I think so far, the only thing i've done is remove all the AMD kexts out of the boot cycle. I'll go ahead and put them all back, except that one x3000 kext, but how do i make it load later? which thread is that one in this forum? is that in post 875, 1425, 1066, or 1243? thank you for the reminder on the thermal paste, but i think this machine has never been repaired due to the faulty dgpu yet. i'll have to clarify with my coworker.

Thank you for the resistor option warning. i dont really want to go down that route.

My machine doesnt really sleep. i set up a hot corner for it to turn off the display but the light indicator doesnt 'breath' like i believe it is supposed to when in sleep mode. it also still gets really hot/warmed up when it's supposed to be asleep, but i think it's only the display that's turned off. i have tried once, where i used sleep mode from the applemenu, and the lcd backlight of course, refused to turn back on on. i could see the os and everything in the lcd, but the backlight just didnt wake back up along with the rest of the machine. right, i dont have any thunderbolt ports so that's not a bother right now.

i've seen the dying light mod. pretty cool. but a bit beyond my abilities with a soldering iron. thats a darn good price for a mod that helps this community though.

i'll pass on mojave if so then.
 

pckrullenbol

macrumors member
Sep 30, 2016
30
10
The Netherlands
which thread is that one in this forum? is that in post 875, 1425, 1066, or 1243

Message #875, after the text:
But the system doesn't know how to power-management the failed AMD-chip. For that you have to either manually load the kext after boot by:
sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
Automate this with the following LoginHook:
[...]

So follow the intructions exactly.
 

eternalthree

macrumors newbie
Mar 15, 2019
3
0
Message #875, after the text:
But the system doesn't know how to power-management the failed AMD-chip. For that you have to either manually load the kext after boot by:
sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
Automate this with the following LoginHook:
[...]

So follow the intructions exactly.

Doh! my reading comprehension isnt the best, i see. thank you. will work on it.
 
Last edited:

lpuerto

macrumors regular
Mar 4, 2014
144
37
Europe
Macbook Pro Early 2011 - AMD GPU Radeon HD 6750M - Mobile.

AMD GPU Radeon HD 6750 = 3 ports (1 x HDMI, 1 x DisplayPort and 1 x DVI).

AMD GPU Radeon HD 6770 = 3 or 4 ports.


I tested some AMD6000Controller.kext settings and maybe it will help somebody who has black screen problem for Sleep.

/System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist


CFG_FB_LIMIT = Config FrameBuffer Limit


CFG_FB_LIMIT=0 - may mean Automatic Mode. Original value Info.plist file. Power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=1 - do not power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=2 - do not power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.

CFG_FB_LIMIT=3 - Yes, power off AMD GPU after load AMDRadeonX3000.kext by LoginHook.


AMD6000Controller and AMDRadeonX3000.kext are connected to AppleMuxControl.kext.


Inside AppleMuxControl.kext (Info.plist) - > IOKitPersonalities -> AppleMuxControl -> Config2:

NumberFramebuffers0 = 1 (Intel GPU)
NumberFramebuffers1 = 3 (AMD GPU)


From what I read on the Internet, the number using CFG_FB_LIMIT is related to the number of ports (HDMI, DVI, etc) of the AMD GPU.


1 - gpu-power-prefs to Intel GPU.

2 - Disable SIP - boot in Recovery Mode - press Command + R keys at boot.
Code:
csrutil disable
reboot


3 - Boot in Single User Mode - press Command + S keys at boot.

4 - Verify filesystem
Code:
fsck -fy


5 - Mount filesystem with Read and Write permissions. Do not forget final Slash "/" .
Code:
mount -uw /


6 - Use nano editor:
Code:
nano /System/Library/Extensions/AMD6000Controller.kext/Contents/Info.plist

IOKitPersonalities -> Controller -> aty_config -> CFG_FB_LIMIT

Original:
CFG_FB_LIMIT=0

Modify:
CFG_FB_LIMIT=3

<key>CFG_FB_LIMIT</key><integer>0</integer>

To:

<key>CFG_FB_LIMIT</key><integer>3</integer>



7 - Press CTRL + X keys to exit.
Press the Y key to confirm that you want to change the Info.plist file.
Press ENTER to change the Info.plist file and exit nano editor.


8 - Use touch command and change timestamp /System/Library/Extensions .
Code:
touch /System/Library/Extensions


9 - Rebuild PrelinkedKernel file with kextcache command. Use ls command to list your MacOS system partition. In my example is /Volumes/MacOS
Code:
ls /Volumes/
MacOS

kextcache -v 1 -u /Volumes/MacOS


10 - Reboot Macbook Pro 2011 and boot normal.

11 - Finder -> Applications -> Utilities -> Terminal

See if CFG_FB_LIMIT=3 .
Code:
ioreg -lw0 | grep -i CFG_FB_LIMIT

    | |   |   | |   "CFG_FB_LIMIT" = 3

    | |   |   | |     "aty_config" = {"CFG_NO_HDCP"=No,"CFG_INTERNAL_1080P"=Yes,"CFG_CAIL_CAPS"=0,"CFG_NO_PP"=No,"CFG_CAA"=0,"CFG_INT_SSPC"=25,"DALUseUrgencyWaterMarkOffset"=0,"CFG_USE_STUTTER"=No,"CFG_GEN_FLAGS"=0,"CFG_GRPH_CONTROL_DIS"=40964,"CFG_SURFACE_INFO_DIS"=1703936,"CFG_USE_FBC"=No,"CFG_FB_LIMIT"=3,"DALReadDelayStutterOff"=4}


12 - Everything is OK? Enable SIP again but remember that you have modified a KEXT. So now you have to partially enable SIP to allow modified KEXTS.

Boot Recovery Mode - press Command + R at boot

Menu Utilities -> Terminal:
Code:
csrutil enable --without kext

reboot


References:

Enabling parts of System Integrity Protection while disabling specific parts?
https://forums.developer.apple.com/thread/17452


GUIDE TO FIXING BROKEN SLEEP IN HIGH SIERRA 10.13.2 FOR AMD RX 560, RX 570, RX 580
https://hackintosher.com/guides/gui...high-sierra-10-13-2-amd-rx-560-rx-570-rx-580/


https://www.reddit.com/r/hackintosh/comments/7lwg5b/infoplist_clover_patch/

https://www.insanelymac.com/forum/topic/330353-macos-10132-update-is-out/?page=4


XFX Radeon HD 6750 DirectX 11 HD-675X-ZDFR 1GB 128-Bit DDR3 PCI Express 2.1 Video Card
https://www.newegg.com/Product/Product.aspx?Item=N82E16814150684

Hey @nsgr!!!

Really great post! can you tell if it's really working and you don't have any more black screens when you wake up?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.