Add UI to perma-switch via EFI params #184
(Actually it seems like activating Integrated Only mode might already cause AppleGraphicsControl to set the necessary EFI variable. But we could provide an interface to manipulate this without going through AGC, which would be useful in single user mode, etc.)
I think this might be pretty simple to control: "sudo nvram gpu-power-prefs=%01%00%00%00". Reboot and see if it boots up reliably in Integrated mode. If not, try it from single user mode too.
I'm seeing lots of Nvidia references regarding gpu-power-prefs, so this might not work with ATI GPUs.
My MacBook Pro 2011 (ATI/AMD) is in for Apple "Depot Repair", so I can't test this until I get it back.
This sounds like a perfect feature!
A couple questions if you both may:
Regarding the command in prev comment, is it reversible? What would be the command to "reset" the state / undo this command?
Would doing this from EFI allow running multiple displays with the integrated GPU?
For example the Iris Pro in Mid 2014 15" MBPr can do it, but something in the MBPr doesn't allow it
For the record, I think this feature is very valuable even if it doesn't work with multiple displays
Thanks a lot.
Hi, Sorry for my poor english.
My Macbook pro dGpu is dead. I had to move ATI6000.kext to another folder then I can boot my mac,but every thing is very slow.
I have tried eEFInd shell script as this:
echo -off
cls
mm 7C2 1 ;IO :1
mm 7D4 1 ;IO :28
stall 100000
mm 7C2 1 ;IO :2
mm 7D4 1 ;IO :10
stall 100000
mm 7C2 1 ;IO :2
mm 7D4 1 ;IO :40
stall 100000
mm 7C2 1 ;IO :1
mm 7D4 1 ;IO :50
stall 100000
mm 7C2 1 ;IO :0
mm 7D4 1 ;IO :50
mm 750 1 ;IO :2
mm 710 1 ;IO :2
mm 740 1 ;IO :2
mm 0001013E 1 ;PCI :8
mm 00020004 1 ;PCI :7
mm 00020050 1 ;PCI :2
mm 00020054 1 ;PCI :1
echo "Starting HD3000"
fs1:\System\Library\CoreServices\boot.efi
I got a black screen.
But everyting woks fine,my macbook pro 2011 can sleep well. (I use the teamviewer to access my mac , the ati (amd4960) graphics card disappeared in the SystemInfo . There is only the iGPU. )
How can I make the monitor works?
I hope the newest version GfxCardStatus coming soon. Thanks.
Normal boot:
System Report
GfxCardStatus
Boot with rEFInd script:
Black Screen
Use the TeamViewer I can see the System Report and GfxCardStatus
@codykrieger, have you made any headway on those EFI parameters? I've tried messing with gpu-power-prefs and gpu-policy to no avail. It might help me avoid the current (software/firmware) solution for the early 2011 MBP discrete graphics card issue, which is to bake it and apparently trigger a thermal check that brings it up using integrated graphics.
I doubt there will ever be a non-hardware solution to any of these issues. Better to just have the afflicted machine repaired or replaced at this point, especially seeing as a repair program exists.
Unfortunately some people (or at least me) have been denied repairs under that program if our machines don't pass some kind of test they run at the Apple store even though it clearly exhibits the symptoms. But the machine has been great in conjunction with gfxCardStatus 1.8.1. Maybe I'll have to try again one day but so far I've just been frustrated.
Do you think with this reverse engineering code secondary/external monitors can be used while using integrated only graphics?
Hello, I recently tried gfxCardStatus for a slightly different reason than has been discussed in this thread: I have two MacBook Pros that are from mid-2010 era (yes, 2010 not 2011: MacBookPro6,2) and over the last six months both of them have started having kernel panics that I finally identified as being caused by some design problem related to graphics card switching, for which the repair program has not been active for a while. In my case, I want to pin the graphics mode to 'Discrete' because I want to run the MacBooks with external monitors, and one of the MacBooks is bad enough that during booting it often won't even get to the login prompt before panicking and rebooting. So it would be wonderful if the desired graphics card mode (in my case Discrete) could be retained between reboots. Is it possible for gfxCardStatus to do this? Or does this need a modified EFI (aka flash boot loader)?
@gliderjs I'm in the exactly same case. Did you find out some solution ?




Per some clever reverse-engineering of the EFI, someone figured out a way to forcibly enable/disable a particular GPU across boots: https://github.com/0xbb/gpu-switch
This could make gfxCardStatus more useful yet for prolonging the life of troublesome machines.