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

Queen6

macrumors G4
I didn't get it clearly. Are you able to adjust screen brightness as you want? I downloaded the kext utility from GitHub but it didn't work.
I use gSwitch 1.9.7 which works with High Sierra or there's gfxCardStatus which is for earlier versions of macOS. So my 2011 boots up same as a stock unit, however once I log in gSwitch will force the Intel GPU. If any application calls for the Radeon dGPU gSwitch will immediately revert back to the Intel GPU.

You could revert everything and then run gSwitch. Yes when the MBP boots up the graphics will be corrupted, however once you login the app will switch to the Intel GPU with full functionality barring an external display.

As my 2011's Radeon dGPU is still working without issue this is more of a preventative measure. As for the NVRAM commands it will take a lot of digging and likely a lot of trial and error to get the right solution where everything works. It clearly does for some as they have stated it here.

Q-6
 

Brian33

macrumors 65816
Apr 30, 2008
1,427
354
USA (Virginia)
Regarding the screen brightness question, I think this is true:
a lot may depend on which version of macOS is installed, firmware revisions and the exact HW model.

My Early 2011 15-inch MBP seems to have failed completely about a month ago (see above). But before that, I had been running for years on High Sierra with only the NVRAM setting and moving the kernel extension (AMDRadeon3000.kext I think) out of its home. My screen brightness worked fine, as did wake and sleep. The only issue I had was that the discrete graphics card was still being powered all the time, and so battery time suffered somewhat.

So it is possible. However, I don’t think we have a good handle on all the variables that affect whether the screen brightness controls work or not.
 
  • Like
Reactions: Queen6

Queen6

macrumors G4
Regarding the screen brightness question, I think this is true:


My Early 2011 15-inch MBP seems to have failed completely about a month ago (see above). But before that, I had been running for years on High Sierra with only the NVRAM setting and moving the kernel extension (AMDRadeon3000.kext I think) out of its home. My screen brightness worked fine, as did wake and sleep. The only issue I had was that the discrete graphics card was still being powered all the time, and so battery time suffered somewhat.

So it is possible. However, I don’t think we have a good handle on all the variables that affect whether the screen brightness controls work or not.
As said once you see artefacts/banding on boot up the damage is done and the notebook will likely fail in time due to the dGPU remaining to be powered up in a failed state at the HW level. If you can catch one before the dGPU suffers damage I believe it will be far more robust over time.

A good deal of time & work spent by many to iron out the process to isolate the dGPU via SW, however there are gaps and a lot of variables to consider. Even down to the component level as manufactures do not rely on a single source where possible, nor are all components equal. There is also the possibility of binned down CPU/dGPU dependant on demand which can be more efficient and run cooler under a given load. More you think on it the more variables...

My own late 2011 15" remains fully functional with no indication of degradation to the Radeon dGPU? I choose to restrict it's usage via gSwitch 1.9.7 as a preventative measure given it's age and history of the model. I bought it new in 2011 and it's been in my possession or a family members and now back with me so I know it's history in entirety. Clearly something is different, nor has it been lightly used, very much the opposite...

You could have the dGPU replaced with a rational alternative or physically disconnected, equally one has to question spending out on such an old notebook...

Q-6
 
Last edited:
  • Like
Reactions: Brian33

FullBlooded

macrumors newbie
Aug 5, 2022
5
0
Ukraine
hahaha thanks, one thing though, isn't it possible to change screen brightness without DeMux?

edit: okay, just found this but afraid of doing something wrong now and the readme file doesn't explain how to install this. I'll just double click and run it, right? :D



edit2: Alright, I run the kext utility at first it says repairing permissions and makes me wait for about a minute then gives me this screen;

View attachment 2046615
Then I drag and drop AppleGraphicsConrol.kext file but it gives me an error saying like this;

View attachment 2046634
Lastly, after running this program the cpu temp has increased and found this process on activity monitor;
Okay turns out that's the website I opened while looking for kext editor and somehow it makes the cpu run at 97 Celsius degree.


View attachment 2046638
Do I need to run csrutil disable first and then run this?

Thanks

one last thing; Can I move this kext file to the extensions-off folder and copy and paste the new kext file I downloaded to the extensions folder?
Okay I saw that was a super silly question :D

View attachment 2046659
I have tried this kext method, brightness buttons begin to work - but no changes for brightness at all on my early 2011 MacBook Pro 15 inch. My Radeon 6490 was disabled by wire method.
This kext seems working the same as a Demux patch.
 

RoughDivide

macrumors newbie
Aug 29, 2022
3
4
Greetings, I have an early 2011 17 inch Macbook Pro that, like many of them, had its dGPU die a few years ago.

I did the stuff mentioned back in 2017 in this thread ( https://forums.macrumors.com/thread...efi-variable-fix.2037591/page-5#post-24511780 ) and it all worked great, my laptop had new life and all that.

Last year, the battery finally died, and after that, every time my laptop lost power, it would not boot at all unless I overheated it. I stumbled upon this link: https://luispuerto.net/blog/2017/12/11/disconnecting-the-dgpu-in-a-late-2011-macbook-pro-third-way/ and that did the trick for me.

I got a replacement battery about two weeks ago, and updated to High Sierra, however, now I have an issue where if I try to restart or shutdown the laptop through the top menu, it will freeze, and then it's back to having a hard time to get it to boot.

Trying to restart or shutdown via terminal doesn't seem to solve this either.

Anything I can do to try and get shutdown/sleep working again properly? If it's of any help, my brightness buttons work, but waking up from sleep is hit or miss. Getting a new Mac is def the ultimate solution to this old one, but that's not in the cards for me at least for a few months until I can travel out of my country.

Thanks in advance.
 

Queen6

macrumors G4
Greetings, I have an early 2011 17 inch Macbook Pro that, like many of them, had its dGPU die a few years ago.

I did the stuff mentioned back in 2017 in this thread ( https://forums.macrumors.com/thread...efi-variable-fix.2037591/page-5#post-24511780 ) and it all worked great, my laptop had new life and all that.

Last year, the battery finally died, and after that, every time my laptop lost power, it would not boot at all unless I overheated it. I stumbled upon this link: https://luispuerto.net/blog/2017/12/11/disconnecting-the-dgpu-in-a-late-2011-macbook-pro-third-way/ and that did the trick for me.

I got a replacement battery about two weeks ago, and updated to High Sierra, however, now I have an issue where if I try to restart or shutdown the laptop through the top menu, it will freeze, and then it's back to having a hard time to get it to boot.

Trying to restart or shutdown via terminal doesn't seem to solve this either.

Anything I can do to try and get shutdown/sleep working again properly? If it's of any help, my brightness buttons work, but waking up from sleep is hit or miss. Getting a new Mac is def the ultimate solution to this old one, but that's not in the cards for me at least for a few months until I can travel out of my country.

Thanks in advance.
I don't think there's an easy option. I'd look to get the Mac's EFI back to a stock configuration, run Titanium Software's Onyx as that should clear any issue with the OS. Then reapply the patches to isolate the Radeon dGPU.

As it was working with Sierra I'd also consider downgrading the OS. Bottom line they are aging. My own Late 2011 15" Radeon dGPU on High Sierra is still good, however restricted in use by gSwitch. That said last few days it's become rather intermittent recognising USB disks. I just ran Onyx and somewhat reluctantly reset the SMC & NVRAM which I know this Mac can be problematic with...

Q-6
 
Last edited:

Queen6

macrumors G4
Regarding the screen brightness question, I think this is true:


My Early 2011 15-inch MBP seems to have failed completely about a month ago (see above). But before that, I had been running for years on High Sierra with only the NVRAM setting and moving the kernel extension (AMDRadeon3000.kext I think) out of its home. My screen brightness worked fine, as did wake and sleep. The only issue I had was that the discrete graphics card was still being powered all the time, and so battery time suffered somewhat.

So it is possible. However, I don’t think we have a good handle on all the variables that affect whether the screen brightness controls work or not.
For some it might be worth looking for a pattern across the forums to get brightness and or sleep/wake fully functional; Starting to feel that you'll have more luck with an Early 2011 on High Sierra than a late 2011.

Problem being not all posts mention all relevant spec (HW model, Early/Late, OS and FW). Another factor it's an ever diminishing pool. It wouldn't be difficult to generate a matrix to illustrate known workarounds versus the model number, however it would take a lot of time given the sheer number of posts. One would need to drift through multiple threads across multiple sites to acquire useful data.

My stance is if I can repair the 2011 myself I will. It's stock so still has a spinning HDD as primary which I've a good few spares to replace with. Battery concerns and any replacement wont likely offer much in the way of longevity. Unless you can source someone to rebuild the original battery pack with quality cells. Radeon dGPU fails I'd likely roll back to Sierra and apply the EFI/NVRAM workarounds.

If DOA and requiring spending out think it would go for recycling. Done the same before with Mac's & PC's that have failed. Be interested to see if you revive your Early 2011 :)
 
  • Like
Reactions: Brian33

trifero

macrumors 68030
May 21, 2009
2,746
2,613
Really, guys, my Macbook Pro 17 early 2011, dGPU disabled by demux, works great in macos Monterey 12.5.1

I think it´s few bucks to have a really nice machine working.
 
  • Like
Reactions: tomcatrr and Queen6

Queen6

macrumors G4
Really, guys, my Macbook Pro 17 early 2011, dGPU disabled by demux, works great in macos Monterey 12.5.1

I think it´s few bucks to have a really nice machine working.
TBH is a matter of perspective. For me my Late 2011 15" I'd need to replace both battery & drive and given it's usage not worth it just to run Monterey. I'd also need to take the demux route as after 2011 Apple depreciated the API to control the dGPU.

For serous workloads I've got an M1 MBP. The 2011 MBP sits at the end of the desk, mostly serves up media and the occasional heavy job. I'm all for preservation as it has a purpose, equally not planning to put money into it as it could "blink out" in a matter of minutes due to it's age & usage.

Don't get me wrong some 15"/17" 2011's run very well, with my own seeing off several Retina Mac's, equally at 11 years old it's rather on borrowed time...

Q-6
 
  • Like
Reactions: trifero

kocoman

macrumors 6502
Dec 26, 2007
309
38
does anyone want to try coreboot/tianocore method to disable the dgpu? (and still run osx montenry with HD4000 etc?) for macbook8 is not as good because the spi is at the keyboard side.. while macbookpro10 is on the side easily accessible without disassembly
 

Artik-ice

macrumors newbie
Oct 3, 2020
3
1
hello everybody! I just install os 12.6 monterey(opencore patcher) on my macbook pro 2011.Everthink works fine, but i dont have a brightness control. On high sierra it natively works
I have hardware disabled video chip
any solutions?
 

Queen6

macrumors G4
hello everybody! I just install os 12.6 monterey(opencore patcher) on my macbook pro 2011.Everthink works fine, but i dont have a brightness control. On high sierra it natively works
I have hardware disabled video chip
any solutions?
Believe you will need to mod the HW to get full control of brightness, Sleep & wake functions. just how it is with some models.

What's your HW version? If can remember the site with instruction will post here...

Q-6
 
Last edited:

lmjiang1

macrumors newbie
Apr 15, 2020
1
0
Hi, does anyone have experience bypassing the dGPU on a system running Mountain Lion (10.8.5)? The AMD/ATIRadeonX3000.kext is not in the extensions folder. I checked the OS installer using Pacifist and indeed it is not included in the original installer. Any insight is greatly appreciated!
 

FullBlooded

macrumors newbie
Aug 5, 2022
5
0
Ukraine
I am using patched MacOS Catalina on my MacBook Pro 2011 17 inch with GPU disabled by software method (nvram command).
Everything feels ok, except slow boot. I was thinking that problem was in forcing trim on non-apple ssd, but when i have disabled it - nothing changed. Loading takes like 2 minutes from 240Gb SSD.
Anyway i have another question, patcher update gives me ability to install Legacy Video Card Patch. Is it safe to install that patch if i have a dead radeon gpu?
 

Bmju

macrumors 6502a
Dec 16, 2013
669
751
Does anybody by any chance know about using gpu-power-prefs on an MBP10,1?

The MBP10,1 has an iGPU and a dGPU, and has the normal, corresponding option in power settings to automatically switch graphics cards or not.

My dGPU has not failed, but I was playing around with disabling it to try to work out if it's possible to develop some fix for this issue https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522 .

However my experience of manually setting the value using Linux efivars so far is ... that setting it to %01%00%00%00 has resulted immediately (on reboot) in a chiming brick. To recover this, I have so far tried NVRAM reset (no response to the key combo, there's only ever one chime), SMC reset (no change), battery disconnect leave for a while and reconnect (no change).

Any info welcome, if anyone here knows what to do!
 

Queen6

macrumors G4
Does anybody by any chance know about using gpu-power-prefs on an MBP10,1?

The MBP10,1 has an iGPU and a dGPU, and has the normal, corresponding option in power settings to automatically switch graphics cards or not.

My dGPU has not failed, but I was playing around with disabling it to try to work out if it's possible to develop some fix for this issue https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522 .

However my experience of manually setting the value using Linux efivars so far is ... that setting it to %01%00%00%00 has resulted immediately (on reboot) in a chiming brick. To recover this, I have so far tried NVRAM reset (no response to the key combo, there's only ever one chime), SMC reset (no change), battery disconnect leave for a while and reconnect (no change).

Any info welcome, if anyone here knows what to do!
Early or Late 2011 and OS as this very much counts. My own 2011 15" is a late model with fully functional dGPU on High Sierra.

SW can limit the switching of the dGPU and can save the day but is very much tied to the HW & OS. Kind of think after 11 years of use more than had my money's worth. As for the NVRAM code got to page 1 and follow explicitly or just limit the dGPU as I do vis SW. We're 4052 days in on a stock 15" 2011 MBP

Q-6
 

josuenm

macrumors newbie
Oct 30, 2022
1
0
My macbook pro 2011 15 inches has that common problem on the amd board. I tried to enter the terminal by pressing "Command + S" when turning on, but I couldn't because the system is probably corrupted, if I turn on it shows a folder with a question mark. I was able to reset the PRAM but the NVRAM reset does not work. I entered recovery mode but when I get to the last part where it shows macOS Utilities it turns white.

I can install systems using a bootable flash drive, so I thought, is there any system to install (in dmg format) with the amd graphics card disabled?
 

kambala

macrumors newbie
Jun 15, 2021
16
10
Moscow, Russia
any idea what could be blocking setting the nvram variable on my mbp? I've tried all the methods I could find: macOS recovery, linux, windows, efi shell, special efi program - but all of them either report an error or the variable is not there after reboot, and Mac boots with dGPU enabled as seen in rEFInd's efi shell with dh 112 (112 is iGPU, 110 - dGPU). Only once I somehow got the Mac to boot with iGPU active (made photos to save some info), but I don't remember what I did before that...

currently I have the following installed on the Mac: OCLP 11.7.1, 10.13.6, windows 10, windows 8.1 (both windows boot in UEFI mode), Endeavour OS. Also previously had 10.10.x (then moved it to SD card, but its recovery partition is still on the mac's disk) and Linux Mint on an external drive.

My main concern is how to run Windows reliably on iGPU (macOS and Linux work fine with it): running Windows with fully disabled dGPU on an old MBP

P.S. the Mac has DVD drive replaced with optibay, if it matters.
 

kambala

macrumors newbie
Jun 15, 2021
16
10
Moscow, Russia
any idea what could be blocking setting the nvram variable on my mbp? I've tried all the methods I could find: macOS recovery, linux, windows, efi shell, special efi program - but all of them either report an error or the variable is not there after reboot, and Mac boots with dGPU enabled as seen in rEFInd's efi shell with dh 112 (112 is iGPU, 110 - dGPU). Only once I somehow got the Mac to boot with iGPU active (made photos to save some info), but I don't remember what I did before that...

currently I have the following installed on the Mac: OCLP 11.7.1, 10.13.6, windows 10, windows 8.1 (both windows boot in UEFI mode), Endeavour OS. Also previously had 10.10.x (then moved it to SD card, but its recovery partition is still on the mac's disk) and Linux Mint on an external drive.

My main concern is how to run Windows reliably on iGPU (macOS and Linux work fine with it): running Windows with fully disabled dGPU on an old MBP

P.S. the Mac has DVD drive replaced with optibay, if it matters.
seems I cracked the riddle! Managed to do so by extracting AppleGraphicsPolicy EFI driver from my firmware (scap file named after mac's model located at <EFI volume>/EFI/APPLE/FIRMWARE directory) and reverse-engineering it (I used Ghidra, but other tools like Hopper demo and IDA Home are also able to do it, although I found Ghidra's decompiled code the most comprehensible). Extracted the driver using wonderful UEFITool.

The driver code revealed that there's one more NVRAM variable that's checked even before gpu-power-prefs: named GfxMode, and it's located under standard Apple's GUID (7C436110-AB2A-4BBB-A880-FE41995C9F82, its variables are displayed with nvram -p). To disable dGPU at boot time, this variable must be set either to 0 or 4 (can be plain character or 4-byte hex value):
  • 0 value only makes iGPU drive the screen - 2/1/2 values are written to respective gmux ports
  • 4 value in addition powers down dGPU - 0 value to 0x750 port
Other values that the driver checks are: 1-3, 5 (both hex and as character) and characters 'A' (3 value - automatic?), 'D' (2 value - discrete?), 'E' (1 value - external?), 'I' (0 value - integrated?). In the 3/A case code makes an additional check (don't understand what it does under the hood, I believe it decides which GPU to use). All the other values (i.e. except 0/I and 4) make dGPU drive the screen.

Example how to change the variable in macOS (you still need to do it either in Recovery mode or with SIP's NVRAM protection off / SIP completely off):
Bash:
nvram GfxMode=4
# or
nvram GfxMode=%04%00%00%00

Under 10.13 this still traditionally kills brightness controls as well as screen stays black after waking up from sleep, I'm yet to test how it behaves under 10.10 (have it on SD card for testing, should be fine I believe) and OCLP Big Sur. At least under Windows I can change brightness by using RW Everything program and adjusting the 4-byte value at gmux I/O port 0x774, I believe in macOS the same would work as well (or I could try AppleMuxControl driver from 10.12). Writing a program for that shouldn't be a big deal (for macOS AMDGPUWakeHandler code can be adapted).

The effect of the NVRAM variable is basically identical to what you can achieve with mm commands in EFI shell/script before booting macOS (or Linux), but it's very important if you want to boot Windows in UEFI mode (as my machine doesn't officially support it, dunno about newer models): now Windows finally uses iGPU only, although installing iGPU driver still causes Windows to reboot immediately and then never boot again (spinning wheel never appears, boot is stuck at windows logo) until I delete the driver in safe mode.

P.S. I noticed that EFI Shell renders text way faster with iGPU than with dGPU, especially noticeable on "big" commands like pci.
 

Queen6

macrumors G4
seems I cracked the riddle! Managed to do so by extracting AppleGraphicsPolicy EFI driver from my firmware (scap file named after mac's model located at <EFI volume>/EFI/APPLE/FIRMWARE directory) and reverse-engineering it (I used Ghidra, but other tools like Hopper demo and IDA Home are also able to do it, although I found Ghidra's decompiled code the most comprehensible). Extracted the driver using wonderful UEFITool.

The driver code revealed that there's one more NVRAM variable that's checked even before gpu-power-prefs: named GfxMode, and it's located under standard Apple's GUID (7C436110-AB2A-4BBB-A880-FE41995C9F82, its variables are displayed with nvram -p). To disable dGPU at boot time, this variable must be set either to 0 or 4 (can be plain character or 4-byte hex value):
  • 0 value only makes iGPU drive the screen - 2/1/2 values are written to respective gmux ports
  • 4 value in addition powers down dGPU - 0 value to 0x750 port
Other values that the driver checks are: 1-3, 5 (both hex and as character) and characters 'A' (3 value - automatic?), 'D' (2 value - discrete?), 'E' (1 value - external?), 'I' (0 value - integrated?). In the 3/A case code makes an additional check (don't understand what it does under the hood, I believe it decides which GPU to use). All the other values (i.e. except 0/I and 4) make dGPU drive the screen.

Example how to change the variable in macOS (you still need to do it either in Recovery mode or with SIP's NVRAM protection off / SIP completely off):
Bash:
nvram GfxMode=4
# or
nvram GfxMode=%04%00%00%00

Under 10.13 this still traditionally kills brightness controls as well as screen stays black after waking up from sleep, I'm yet to test how it behaves under 10.10 (have it on SD card for testing, should be fine I believe) and OCLP Big Sur. At least under Windows I can change brightness by using RW Everything program and adjusting the 4-byte value at gmux I/O port 0x774, I believe in macOS the same would work as well (or I could try AppleMuxControl driver from 10.12). Writing a program for that shouldn't be a big deal (for macOS AMDGPUWakeHandler code can be adapted).

The effect of the NVRAM variable is basically identical to what you can achieve with mm commands in EFI shell/script before booting macOS (or Linux), but it's very important if you want to boot Windows in UEFI mode (as my machine doesn't officially support it, dunno about newer models): now Windows finally uses iGPU only, although installing iGPU driver still causes Windows to reboot immediately and then never boot again (spinning wheel never appears, boot is stuck at windows logo) until I delete the driver in safe mode.

P.S. I noticed that EFI Shell renders text way faster with iGPU than with dGPU, especially noticeable on "big" commands like pci.
Very interesting, especially if can power down the dGPU.

Q-6
 

kambala

macrumors newbie
Jun 15, 2021
16
10
Moscow, Russia
Very interesting, especially if can power down the dGPU.

Q-6
well, you can power down GPU on your own in EFI Shell with
Code:
mm -io 750 0
just switch gmux to iGPU with mm as well. That's why I said
The effect of the NVRAM variable is basically identical to what you can achieve with mm commands in EFI shell/script before booting macOS (or Linux)

tested other macOS, results as expected:
  • 10.10: brightness can be changed normally
  • OCLP Big Sur: brightness can't be changed (same behavior as 10.13)
 

Queen6

macrumors G4
well, you can power down GPU on your own in EFI Shell with
Code:
mm -io 750 0
just switch gmux to iGPU with mm as well. That's why I said


tested other macOS, results as expected:
  • 10.10: brightness can be changed normally
  • OCLP Big Sur: brightness can't be changed (same behavior as 10.13)
Mine is a late 2011 on 10.13.6 and dGPU has always been solid, I just restrict it these days to be on the safe side given it's passing 11 years old.

I use gSwitch 1.9.7 basically once in the OS the app forces the iGPU, if any call for the dGPU it will immediately switch back to the iGPU. This very much eliminates the heating/cooling cycles that are a primary factor of the failure mechanism (thermal fatigue). Late 2011 15" need to mod the HW to get the brightness & sleep to work.

As its rarely hard restarted the dGPU is barely utilised and TBH at this age anything else in the chain could let go...

Q-6
 
Last edited:

startergo

macrumors 601
Sep 20, 2018
4,828
2,200
now Windows finally uses iGPU only, although installing iGPU driver still causes Windows to reboot immediately and then never boot again (spinning wheel never appears, boot is stuck at windows logo) until I delete the driver in safe mode.
So that this means there is no HWA without the driver?
well, you can power down GPU on your own in EFI Shell with
You can write to registers with chipseq driver:
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.