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.

tuesdaytues

macrumors newbie
Sep 4, 2017
11
0
If you are going to want to use that monitor, I would recommend buying a new one, and not fixing this one. The problem will just come back, as it has for many on this forum, and likely many more not on this forum.

Thanks, you are right, it is just I paid $2700 for this MacBook pro in 2/2012 and it seems terrible that it is already time for a new one. I wish I knew when Apple had fixed these last year and got it fixed then but i had no idea there was an issue. I am thinking about getting a mac mini since i have all the pieces; monitor, keyboard, mouse. Thanks again for your help and advice
 

Kjeld Flarup

macrumors newbie
Aug 21, 2017
5
0
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

Gets my MBP working. But after some time it freezes. That is, the screen freezes. I have opened up the sshd daemon on the machine, and I'm able to login remotely and inspect the system. But I cannot really do anything to make it working, and typing reboot just losses my connection to the MBP, and no reboot.

After the reboot I need to enter singeuser and run the nvram command again. Thus I have put the nvram command in /nvram.sh so it is easy to reapply it. I have also put the nvram command in cron, and make it run every 10 seconds. Thus after the freeze the nvram command is executed, because OSX is running. But still the same issue.

What happens can be seen in system.log

Sep 4 14:26:59 Kjelds-MacBook-Pro WindowServer[160]: Received display connect changed for display 0x4272902
Sep 4 14:26:59 Kjelds-MacBook-Pro WindowServer[160]: Found 26 modes for display 0x04272902 [26, 0]
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: [1:0:0] GPU HangState 0x00000000, HangFlags 0x00000006: IndividualEngineHang 0, NonEngineBlockHang 1, FenceNotRetired 1, PerEngineReset 0, FullAsicReset 1
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log Start **
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00006760 : 0x00000092 : 0x00000001 : 0x00000018 : 0x0000b080 : 0x00000001 : 0x00000001 : 0x00006760
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000001 : 0x00000015 : 0x00000000 : 0x00000001 : 0x00000047 : 0x00000000 : 0x00000001 : 0x00000058
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000012 : 0x00000001 : 0x00000055 : 0x00000000 : 0x00000001 : 0x0000004a : 0x00000000 : 0x00000001
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x0000004d : 0x00000000 : 0x00000000 : 0x00000010 : 0x00e30800 : 0x00000000 : 0x00000021 : 0x00000080
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000000 : 0x00000011 : 0x00000007 : 0x00000002 : 0x00002254 : 0xfffcf001 : 0x00000002 : 0x0000263d
.......
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: : 0xd07c8d52 : 0x2bddd09f : 0x28116c12 : 0x71c8c7df : 0x012ec0f3 : 0x22fc042d : 0x6a704063 : 0x2af8aa45
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: : 0x80e70d81 : 0xf40075e1
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log End **
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: x80000000 0x80000000 0x80000000
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000
Sep 4 14:27:06 --- last message repeated 144 times ---
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: HWRingDumpEnd
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: ------------------------
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: GPURestartReportEnd
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: Trying to restart GPU (AMD Radeon HD 6490M)...
Sep 4 14:27:06 Kjelds-MacBook-Pro DumpGPURestart[2929]: Saved gpuRestart report for kernel to /Library/Logs/DiagnosticReports/Kernel_2017-09-04-142706_Kjelds-MacBook-Pro.gpuRestart
Sep 4 14:27:06 Kjelds-MacBook-Pro DumpGPURestart[2929]: Removing excessive log: file:///Library/Logs/DiagnosticReports/Kernel_2017-09-03-025825_Kjelds-MacBook-Pro.gpuRestart
Sep 4 14:27:07 Kjelds-MacBook-Pro watchdogd[221]: [watchdog_daemon] @(_wd_daemon_service_thread) - service (com.apple.WindowServer) reported as unresponsive
Sep 4 14:27:07 Kjelds-MacBook-Pro SubmitDiagInfo[1579]: Couldn't load config file from on-disk location. Falling back to default location. Reason: Won't serialize in _readDictionaryFromJSONData due to nil object
Sep 4 14:27:07 --- last message repeated 1 time ---
Sep 4 14:27:07 Kjelds-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.DumpGPURestart): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: [1:0:0] GPU HangState 0x00000000, HangFlags 0x00000006: IndividualEngineHang 0, NonEngineBlockHang 1, FenceNotRetired 1, PerEngineReset 0, FullAsicReset 1
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log Start **
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00006760 : 0x00000092 : 0x00000001 : 0x00000018 : 0x0000b080 : 0x00000001 : 0x00000001 : 0x00006760
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00000001 : 0x00000015 : 0x00000000 : 0x00000001 : 0x00000047 : 0x00000000 : 0x00000001 : 0x00000058
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00000012 : 0x00000001 : 0x00000055 : 0x00000000 : 0x00000001 : 0x0000004a : 0x00000000 : 0x00000001


ETC....

It seems that something is trying to activate the GPU
Trying to restart GPU (AMD Radeon HD 6490M)

So I don't seem to be finished yet.
Anybody known which of the AMD kext files contains the code for AMD Radeon HD 6490M?

Kjeld
 

MikeyN

macrumors regular
Jul 26, 2017
129
75
Mikey, I did a clean installation of El Capitan 10.11.6, security update and went through the whole procedure. Now, I'm basically in the same situation as I was before the "new start"...this machine is booting as before, in verbose mode and I when I try to do the rest of the procedure ("LoginHook part"), it fails. I entered your "test commands" in terminal and AMDRadeonX3000.kext was not found. And actually now this thing is getting really hot; 88-90c, 6200 rpm using only Safari. In finder, I didn't see that AMDRadeonX3000.kext was in either System/Library/Extensions or System/Library/Extensions-off folders. Is it possible that AMDRadeonX3000.kext did not exist in basic El capitan installation?


There is something odd here.
A full, clean install of any OS X version will give you the kext in /System/Library/Extensions.

##(If you only cloned the BaseSystem to another drive then X3000.kext could go missing, along with quite a bit of other stuff.)##

[Regarding the hots right now: One thing you should keep in mind with a fresh install is that Spotlight and cache population processes run amok for quite some time. (Either wait that out or drag your root partition to the "Privacy" Tab in Spotlight (System Preferences) to at least quickly calm mds running wild as observed in Activity Viewer.)]

Expected prognosis: Then you should have stumbled over the hanged boot process, started the procedure, find the kext in the Extensions folder, move it, reboot, found dropped temps, then moved it back (because of the security update that wants to rewrite the kext), experience another hang, move the now updated kext again to extensions-off and be set.

Likely diagnosis: The part: "clean installation of El Capitan 10.11.6, security update" sounds very odd.
Did you really, actually start with an application called "Install OS X El Capitan.app"?
And followed through everything this Apple installer offered you or required from you?
You didn't mention the Apple Setup Procedure. Did you setup timezone, user account, password etc?
It looks to me you found somehow 'a shortcut'.

Recommended treatment: Please try this ElCap Installer.app with diskmakerx.com.
[doublepost=1504563928][/doublepost]
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

Gets my MBP working. But after some time it freezes. That is, the screen freezes. I have opened up the sshd daemon on the machine, and I'm able to login remotely and inspect the system. But I cannot really do anything to make it working, and typing reboot just losses my connection to the MBP, and no reboot.

After the reboot I need to enter singeuser and run the nvram command again. Thus I have put the nvram command in /nvram.sh so it is easy to reapply it. I have also put the nvram command in cron, and make it run every 10 seconds. Thus after the freeze the nvram command is executed, because OSX is running. But still the same issue.

What happens can be seen in system.log

Sep 4 14:26:59 Kjelds-MacBook-Pro WindowServer[160]: Received display connect changed for display 0x4272902
Sep 4 14:26:59 Kjelds-MacBook-Pro WindowServer[160]: Found 26 modes for display 0x04272902 [26, 0]
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: [1:0:0] GPU HangState 0x00000000, HangFlags 0x00000006: IndividualEngineHang 0, NonEngineBlockHang 1, FenceNotRetired 1, PerEngineReset 0, FullAsicReset 1
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log Start **
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00006760 : 0x00000092 : 0x00000001 : 0x00000018 : 0x0000b080 : 0x00000001 : 0x00000001 : 0x00006760
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000001 : 0x00000015 : 0x00000000 : 0x00000001 : 0x00000047 : 0x00000000 : 0x00000001 : 0x00000058
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000012 : 0x00000001 : 0x00000055 : 0x00000000 : 0x00000001 : 0x0000004a : 0x00000000 : 0x00000001
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x0000004d : 0x00000000 : 0x00000000 : 0x00000010 : 0x00e30800 : 0x00000000 : 0x00000021 : 0x00000080
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000000 : 0x00000011 : 0x00000007 : 0x00000002 : 0x00002254 : 0xfffcf001 : 0x00000002 : 0x0000263d
.......
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: : 0xd07c8d52 : 0x2bddd09f : 0x28116c12 : 0x71c8c7df : 0x012ec0f3 : 0x22fc042d : 0x6a704063 : 0x2af8aa45
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: : 0x80e70d81 : 0xf40075e1
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log End **
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: x80000000 0x80000000 0x80000000
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000
Sep 4 14:27:06 --- last message repeated 144 times ---
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: HWRingDumpEnd
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: ------------------------
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: GPURestartReportEnd
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: Trying to restart GPU (AMD Radeon HD 6490M)...
Sep 4 14:27:06 Kjelds-MacBook-Pro DumpGPURestart[2929]: Saved gpuRestart report for kernel to /Library/Logs/DiagnosticReports/Kernel_2017-09-04-142706_Kjelds-MacBook-Pro.gpuRestart
Sep 4 14:27:06 Kjelds-MacBook-Pro DumpGPURestart[2929]: Removing excessive log: file:///Library/Logs/DiagnosticReports/Kernel_2017-09-03-025825_Kjelds-MacBook-Pro.gpuRestart
Sep 4 14:27:07 Kjelds-MacBook-Pro watchdogd[221]: [watchdog_daemon] @(_wd_daemon_service_thread) - service (com.apple.WindowServer) reported as unresponsive
Sep 4 14:27:07 Kjelds-MacBook-Pro SubmitDiagInfo[1579]: Couldn't load config file from on-disk location. Falling back to default location. Reason: Won't serialize in _readDictionaryFromJSONData due to nil object
Sep 4 14:27:07 --- last message repeated 1 time ---
Sep 4 14:27:07 Kjelds-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.DumpGPURestart): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: [1:0:0] GPU HangState 0x00000000, HangFlags 0x00000006: IndividualEngineHang 0, NonEngineBlockHang 1, FenceNotRetired 1, PerEngineReset 0, FullAsicReset 1
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log Start **
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00006760 : 0x00000092 : 0x00000001 : 0x00000018 : 0x0000b080 : 0x00000001 : 0x00000001 : 0x00006760
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00000001 : 0x00000015 : 0x00000000 : 0x00000001 : 0x00000047 : 0x00000000 : 0x00000001 : 0x00000058
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00000012 : 0x00000001 : 0x00000055 : 0x00000000 : 0x00000001 : 0x0000004a : 0x00000000 : 0x00000001


ETC....

It seems that something is trying to activate the GPU
Trying to restart GPU (AMD Radeon HD 6490M)

So I don't seem to be finished yet.
Anybody known which of the AMD kext files contains the code for AMD Radeon HD 6490M?
Please state again:
On what OS version?
Was the chip or logic board replaced by Apple/someone else before?
Which guide did you follow?
Since you have an nvram script: you already did another NVRAM/SMC reset, then run your script again?
Where is AMDRadeonX3000.kext located on your system?
 

Kjeld Flarup

macrumors newbie
Aug 21, 2017
5
0
Please state again:
On what OS version?
Was the chip or logic board replaced by Apple/someone else before?
Which guide did you follow?
Since you have an nvram script: you already did another NVRAM/SMC reset, then run your script again?
Where is AMDRadeonX3000.kext located on your system?


$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G31


I tried all the initial guides in this thread, but ended up in just using the nvram command when it fails, which happens maybe once every two hours runtime.
I don't do any NVRAM/SMC reset, just enter single user and runs the nvram command.
Neither chip or logic board has been replaced.

$ ls -ld /System/Library/Extensions/AMDRadeonX3000.kext
drwxr-xr-x@ 3 root wheel 102 Jun 30 2016 /System/Library/Extensions/AMDRadeonX3000.kext


Do You suggest removing this kext file?

Kjeld
 

MikeyN

macrumors regular
Jul 26, 2017
129
75
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G31


I tried all the initial guides in this thread, but ended up in just using the nvram command when it fails, which happens maybe once every two hours runtime.
I don't do any NVRAM/SMC reset, just enter single user and runs the nvram command.
Neither chip or logic board has been replaced.

$ ls -ld /System/Library/Extensions/AMDRadeonX3000.kext
drwxr-xr-x@ 3 root wheel 102 Jun 30 2016 /System/Library/Extensions/AMDRadeonX3000.kext


Do You suggest removing this kext file?

Ah.
Not exactly.
I suggest only moving this file. Do not delete.

My 2$ on this:
sudo mkdir -p /System/Library/Extensions-off/
sudo mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/
sudo touch /System/Library/Extensions & sleep 128 & reboot


After just reading this: #875. (Also to compare your nvram script).


Try this: #858.
 

nsgr

macrumors 6502
May 22, 2017
317
117
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

Gets my MBP working. But after some time it freezes. That is, the screen freezes. I have opened up the sshd daemon on the machine, and I'm able to login remotely and inspect the system. But I cannot really do anything to make it working, and typing reboot just losses my connection to the MBP, and no reboot.

After the reboot I need to enter singeuser and run the nvram command again. Thus I have put the nvram command in /nvram.sh so it is easy to reapply it. I have also put the nvram command in cron, and make it run every 10 seconds. Thus after the freeze the nvram command is executed, because OSX is running. But still the same issue.

What happens can be seen in system.log

Sep 4 14:26:59 Kjelds-MacBook-Pro WindowServer[160]: Received display connect changed for display 0x4272902
Sep 4 14:26:59 Kjelds-MacBook-Pro WindowServer[160]: Found 26 modes for display 0x04272902 [26, 0]
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: [1:0:0] GPU HangState 0x00000000, HangFlags 0x00000006: IndividualEngineHang 0, NonEngineBlockHang 1, FenceNotRetired 1, PerEngineReset 0, FullAsicReset 1
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log Start **
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00006760 : 0x00000092 : 0x00000001 : 0x00000018 : 0x0000b080 : 0x00000001 : 0x00000001 : 0x00006760
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000001 : 0x00000015 : 0x00000000 : 0x00000001 : 0x00000047 : 0x00000000 : 0x00000001 : 0x00000058
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000012 : 0x00000001 : 0x00000055 : 0x00000000 : 0x00000001 : 0x0000004a : 0x00000000 : 0x00000001
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x0000004d : 0x00000000 : 0x00000000 : 0x00000010 : 0x00e30800 : 0x00000000 : 0x00000021 : 0x00000080
Sep 4 14:27:05 Kjelds-MacBook-Pro kernel[0]: : 0x00000000 : 0x00000011 : 0x00000007 : 0x00000002 : 0x00002254 : 0xfffcf001 : 0x00000002 : 0x0000263d
.......
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: : 0xd07c8d52 : 0x2bddd09f : 0x28116c12 : 0x71c8c7df : 0x012ec0f3 : 0x22fc042d : 0x6a704063 : 0x2af8aa45
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: : 0x80e70d81 : 0xf40075e1
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log End **
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: x80000000 0x80000000 0x80000000
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000 0x80000000
Sep 4 14:27:06 --- last message repeated 144 times ---
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: HWRingDumpEnd
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: ------------------------
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: GPURestartReportEnd
Sep 4 14:27:06 Kjelds-MacBook-Pro kernel[0]: Trying to restart GPU (AMD Radeon HD 6490M)...
Sep 4 14:27:06 Kjelds-MacBook-Pro DumpGPURestart[2929]: Saved gpuRestart report for kernel to /Library/Logs/DiagnosticReports/Kernel_2017-09-04-142706_Kjelds-MacBook-Pro.gpuRestart
Sep 4 14:27:06 Kjelds-MacBook-Pro DumpGPURestart[2929]: Removing excessive log: file:///Library/Logs/DiagnosticReports/Kernel_2017-09-03-025825_Kjelds-MacBook-Pro.gpuRestart
Sep 4 14:27:07 Kjelds-MacBook-Pro watchdogd[221]: [watchdog_daemon] @(_wd_daemon_service_thread) - service (com.apple.WindowServer) reported as unresponsive
Sep 4 14:27:07 Kjelds-MacBook-Pro SubmitDiagInfo[1579]: Couldn't load config file from on-disk location. Falling back to default location. Reason: Won't serialize in _readDictionaryFromJSONData due to nil object
Sep 4 14:27:07 --- last message repeated 1 time ---
Sep 4 14:27:07 Kjelds-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.DumpGPURestart): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: [1:0:0] GPU HangState 0x00000000, HangFlags 0x00000006: IndividualEngineHang 0, NonEngineBlockHang 1, FenceNotRetired 1, PerEngineReset 0, FullAsicReset 1
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: ** GPU ASIC Log Start **
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00006760 : 0x00000092 : 0x00000001 : 0x00000018 : 0x0000b080 : 0x00000001 : 0x00000001 : 0x00006760
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00000001 : 0x00000015 : 0x00000000 : 0x00000001 : 0x00000047 : 0x00000000 : 0x00000001 : 0x00000058
Sep 4 14:27:12 Kjelds-MacBook-Pro kernel[0]: : 0x00000012 : 0x00000001 : 0x00000055 : 0x00000000 : 0x00000001 : 0x0000004a : 0x00000000 : 0x00000001


ETC....

It seems that something is trying to activate the GPU
Trying to restart GPU (AMD Radeon HD 6490M)

So I don't seem to be finished yet.
Anybody known which of the AMD kext files contains the code for AMD Radeon HD 6490M?

Kjeld

Anybody known which of the AMD kext files contains the code for AMD Radeon HD 6490M?


1 - View your AMD device id:

About this Mac -> System Report (System Information) -> Graphics/Displays -> AMD video card ->
Device ID.

My case:

AMD Radeon HD 6750M -> Device ID: 0x6741


If all kexts are in /System/Library/Extensions:


grep -Ril 6741 /System/Library/Extensions/

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

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

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

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


AMD Radeon HD 6750M -> AMD6000Controller.kext and AMDRadeonX3000.kext


In my case the AMDRadeonX3000.kext has to be moved to another folder to avoid freezing the screen in IOScreen Lock State 3 (Sierra).
 

nonlen

macrumors member
Mar 29, 2014
49
1
There is something odd here.
A full, clean install of any OS X version will give you the kext in /System/Library/Extensions.

##(If you only cloned the BaseSystem to another drive then X3000.kext could go missing, along with quite a bit of other stuff.)##

[Regarding the hots right now: One thing you should keep in mind with a fresh install is that Spotlight and cache population processes run amok for quite some time. (Either wait that out or drag your root partition to the "Privacy" Tab in Spotlight (System Preferences) to at least quickly calm mds running wild as observed in Activity Viewer.)]

Expected prognosis: Then you should have stumbled over the hanged boot process, started the procedure, find the kext in the Extensions folder, move it, reboot, found dropped temps, then moved it back (because of the security update that wants to rewrite the kext), experience another hang, move the now updated kext again to extensions-off and be set.

Likely diagnosis: The part: "clean installation of El Capitan 10.11.6, security update" sounds very odd.
Did you really, actually start with an application called "Install OS X El Capitan.app"?
And followed through everything this Apple installer offered you or required from you?
You didn't mention the Apple Setup Procedure. Did you setup timezone, user account, password etc?
It looks to me you found somehow 'a shortcut'.

Recommended treatment: Please try this ElCap Installer.app with diskmakerx.com.
Mikey, installation shouldn't be a problem...I removed SSD from this MBP and connected it to my Mac Pro as a external drive. Then format SSD > used ElCap installer.app > did all setups... timezone, user account, password, iCloud etc. as usual > after the installation was completed I did security update+ some other updates through Applestore (still connected to MP) > then shut down > disconnect SSD from MacPro > SSD back to MBP > boot.
Weird thing is that at the first boot in MBP it looked like it opened "again" in verbose mode, didn't hang, instead opened OS and login window. After reboot > hang / grey screen.

I can't find AMDRadeonX3000.kext in this machine. I remember reading somewhere (this thread) that all the OS installations don't replace the AMDRadeonX3000.kext????? and in addition one should use combo update????

Right now, this doesn't get hot anymore. So, should I try this one more time?

Nonlen
 

MikeyN

macrumors regular
Jul 26, 2017
129
75
Mikey, installation shouldn't be a problem...I removed SSD from this MBP and connected it to my Mac Pro as a external drive. Then format SSD > used ElCap installer.app > did all setups... timezone, user account, password, iCloud etc. as usual > after the installation was completed I did security update+ some other updates through Applestore (still connected to MP) > then shut down > disconnect SSD from MacPro > SSD back to MBP > boot.
Weird thing is that at the first boot in MBP it looked like it opened "again" in verbose mode, didn't hang, instead opened OS and login window. After reboot > hang / grey screen.

I can't find AMDRadeonX3000.kext in this machine. I remember reading somewhere (this thread) that all the OS installations don't replace the AMDRadeonX3000.kext????? and in addition one should use combo update????

Right now, this doesn't get hot anymore. So, should I try this one more time?

Unfortunately, the ComboUpdater and the Security updates seem to be a bit sloppily put together. They do contain AMD kexts in some form. But sometimes missing important bits.

#

This is so weird. Something went wrong here.

Let me understand: you connected your MBP drive to the MacPro, booted the MacPro from that drive, installed ElCap, booted with the newly installed ElCap, then you put the drive back into MBP?

On both machines, in Terminal:
ls -la /System/Library/Extensions/AMD*

You should really see two instances of AMDRadeonX3000.kext

Then I suggest you locate AMDRadeonX3000.kext on the MacPro.
It has to be there. Transfer the kext from your MacPro:

Boot the MacPro normally, connect your MBP-SSD.
Open Terminal, type:
sudo cp -a /System/Library/Extensions/AMDRadeonX3* /Volumes/_MBP_SSD_NAME_/System/Library/Extensions-off/

Ensure the spelling of your MBP-SSD is correct. (e.g. "Macintosh HD" = Macintosh\ HD)

If that fails: use it as is, or try again.
But this time: use a USB-stick, prepare that drive with diskmakerx.com on MacPro. Then boot MBP from stick.
 

yukari

macrumors 65816
Jun 29, 2010
1,020
687
If you disable your discrete graphics ( the one that is messing up your computer) , then you have pretty much disabled that ability. Sorry for the bad news.
I am curious as whether one can use eGPU through thunder bolt after disabling dGPU.
Or does disabling dGPU basically makes the thunder bolt useless?
 

mrzo

macrumors newbie
Sep 5, 2017
4
1
Hello !

AppleMacFinder, thanks a lot it works for me !!!

it could be good to know which command can delete this fix accidentally ?
you said : NVRAM and PRAM : deletes the fix
Reset SMC : deletes the fix

About : Onyx , Yasu, Applejack ? no risk ?

And if I need to completely remove this EFI fix ( I mean intentionnaly, after a GPU replacement )
what is best solution, update EFI and clean install ?

+++
 
Last edited:
  • Like
Reactions: AppleMacFinder

nonlen

macrumors member
Mar 29, 2014
49
1
Unfortunately, the ComboUpdater and the Security updates seem to be a bit sloppily put together. They do contain AMD kexts in some form. But sometimes missing important bits.

#

This is so weird. Something went wrong here.

Let me understand: you connected your MBP drive to the MacPro, booted the MacPro from that drive, installed ElCap, booted with the newly installed ElCap, then you put the drive back into MBP?

On both machines, in Terminal:
ls -la /System/Library/Extensions/AMD*

You should really see two instances of AMDRadeonX3000.kext

Then I suggest you locate AMDRadeonX3000.kext on the MacPro.
It has to be there. Transfer the kext from your MacPro:

Boot the MacPro normally, connect your MBP-SSD.
Open Terminal, type:
sudo cp -a /System/Library/Extensions/AMDRadeonX3* /Volumes/_MBP_SSD_NAME_/System/Library/Extensions-off/

Ensure the spelling of your MBP-SSD is correct. (e.g. "Macintosh HD" = Macintosh\ HD)

If that fails: use it as is, or try again.
But this time: use a USB-stick, prepare that drive with diskmakerx.com on MacPro. Then boot MBP from stick.
Mikey,

"Let me understand: you connected your MBP drive to the MacPro, booted the MacPro from that drive, installed ElCap, booted with the newly installed ElCap, then you put the drive back into MBP?"


Actually I booted the MacPro from it's own system drive; after that I connected MBP drive and formatted it and then installed ElCap from the install OS X ElCapitan.app that I already had downloaded to MacPro. Then updates and back to MBP....

"On both machines, in Terminal:
ls -la /System/Library/Extensions/AMD*"

MBP: no AMDRadeonX3000.kext; only the one I copied on the desktop
MacPro: yes under /System/Library/Extensions/

Did you mean that I boot my MacPro from the MBP SSD or MacPro's internal system drive and connect MBP SSD after that?
Is there a way to connect MBP to MP somehow without having to remove the SSD from the machine (MBP)?
I assume that there is no need for that AMDRadeonX3000.kext in MP? (if I transfer the kext)

 

MikeyN

macrumors regular
Jul 26, 2017
129
75

"Let me understand: you connected your MBP drive to the MacPro, booted the MacPro from that drive, installed ElCap, booted with the newly installed ElCap, then you put the drive back into MBP?"


Actually I booted the MacPro from it's own system drive; after that I connected MBP drive and formatted it and then installed ElCap from the install OS X ElCapitan.app that I already had downloaded to MacPro. Then updates and back to MBP....

"On both machines, in Terminal:
ls -la /System/Library/Extensions/AMD*"

MBP: no AMDRadeonX3000.kext; only the one I copied on the desktop
MacPro: yes under /System/Library/Extensions/

Did you mean that I boot my MacPro from the MBP SSD or MacPro's internal system drive and connect MBP SSD after that?
Is there a way to connect MBP to MP somehow without having to remove the SSD from the machine (MBP)?
I assume that there is no need for that AMDRadeonX3000.kext in MP? (if I transfer the kext)

How exactly did you install ElCap to MBP SSD while booted normally on the MacPro?
That part got messed up. How many reboots while the SSD was connected to the MacPro? How often was the SSD the boot drive?

Further: You formatted it and "MBP: no AMDRadeonX3000.kext; only the one I copied on the desktop"???

That cannot be right.

##


The kext transferred from the MacPro should be enough; but only if that is the only part missing.

One option: Use the MacPro to boot normally. You can then use a FireWire or Thunderbolt cable to connect both machines. But hold CMd-T while starting the MBP (TargetDiskMode). MBP is then a big external drive enclosure.

Second option: You may also opt to clone the MacPro boot drive to the MBP. (CarbonCopyCloner from bombich.com; exclude /Users/YOU if SSD is too small)

But really.
Third but still best option:
That install on the MBP is somehow pretty messed up.
Go with diskmakerx. Make a stick, make a clean install. Use only the stick, the MBP and a powercord.
 

nonlen

macrumors member
Mar 29, 2014
49
1
How exactly did you install ElCap to MBP SSD while booted normally on the MacPro?
That part got messed up. How many reboots while the SSD was connected to the MacPro? How often was the SSD the boot drive?

Further: You formatted it and "MBP: no AMDRadeonX3000.kext; only the one I copied on the desktop"???

That cannot be right.

##


The kext transferred from the MacPro should be enough; but only if that is the only part missing.

One option: Use the MacPro to boot normally. You can then use a FireWire or Thunderbolt cable to connect both machines. But hold CMd-T while starting the MBP (TargetDiskMode). MBP is then a big external drive enclosure.

Second option: You may also opt to clone the MacPro boot drive to the MBP. (CarbonCopyCloner from bombich.com; exclude /Users/YOU if SSD is too small)

But really.
Third but still best option:
That install on the MBP is somehow pretty messed up.
Go with diskmakerx. Make a stick, make a clean install. Use only the stick, the MBP and a powercord.
How exactly did you install ElCap to MBP SSD while booted normally on the MacPro?
As I wrote earlier...I booted the MacPro from it's own system drive; after that I connected MBP drive to MacPro using USB and formatted it and then installed ElCap from the "install OS X ElCapitan.app" that I had already downloaded to MacPro earlier. When I opened "install OS X ElCapitan.app" in MacPro, I chose external MBP SSD (from the drive icon list) as a target drive.

How many reboots while the SSD was connected to the MacPro?
I'm not sure, maybe 3-5. Why?

How often was the SSD the boot drive?
?? When connected to MacPro after ElCap installation? Same 3-5 times...

You formatted it and "MBP: no AMDRadeonX3000.kext; only the one I copied on the desktop"??? That cannot be right.

It's correct; there are a lot AMDRadeon**.kexts but not X3000. Unless there are some hidden folders that can not be seen in finder or terminal (using your command).

I'll try option #1 first. If I manage to connect both machines, how should I move kext from MacPro to MBP; drag, copy...?


 

MikeyN

macrumors regular
Jul 26, 2017
129
75
How exactly did you install ElCap to MBP SSD while booted normally on the MacPro?
As I wrote earlier...I booted the MacPro from it's own system drive; after that I connected MBP drive to MacPro using USB and formatted it and then installed ElCap from the "install OS X ElCapitan.app" that I had already downloaded to MacPro earlier. When I opened "install OS X ElCapitan.app" in MacPro, I chose external MBP SSD (from the drive icon list) as a target drive.

How many reboots while the SSD was connected to the MacPro?
I'm not sure, maybe 3-5. Why?

How often was the SSD the boot drive?
?? When connected to MacPro after ElCap installation? Same 3-5 times...

Just trying to diagnose how it could be possible that X3000 kext is present on the desktop of a freshly formatted installation. You didn't mention rebooting and also not placing the kext on the desktop. So that remains a mystery.

You formatted it and "MBP: no AMDRadeonX3000.kext; only the one I copied on the desktop"??? That cannot be right.
It's correct; there are a lot AMDRadeon**.kexts but not X3000. Unless there are some hidden folders that can not be seen in finder or terminal (using your command).

I'll try option #1 first. If I manage to connect both machines, how should I move kext from MacPro to MBP; drag, copy...?
Do not use Finder. That will screw your permissions and ownerships up again.

Boot MacPro normally, boot MBP with <cmd><t> pressed (strange symbol appears on screen), connect the two.
On your MacPro the MBP appears as an external drive,
open Terminal and type:
sudo cp -av /System/Library/Extensions/AMDRadeonX3* /Volumes/_MBP_SSD_NAME_/System/Library/Extensions-off/

An output consisting of a line with " -> " in it signals success.

Ensure the spelling of your "_MBP_SSD_NAME" is correct. (e.g. "Macintosh HD" = Macintosh\ HD)
The -a option ensures that all attributes of the kext remain (unlike most Finder actions).
/System/Library/Extensions/ is your boot drive path to the system folder.
/Volumes/_MBP_SSD_NAME_/System/Library/Extensions-off/ is your now external MBP drives path.
Remember to fill in "/_MBP_SSD_NAME_/" with whatever you called your drive/how it is displayed.

I am curious as whether one can use eGPU through thunder bolt after disabling dGPU.
Or does disabling dGPU basically makes the thunder bolt useless?

dGPU output to thunderbolt is disabled, because dGPU is disabled and iGPU would have to go through dGPU to get to TB.
All other functionality of TB is unaffected. (Have a loaded Dock connected)
eGPU has to be supported though.
 

nonlen

macrumors member
Mar 29, 2014
49
1
Just trying to diagnose how it could be possible that X3000 kext is present on the desktop of a freshly formatted installation. You didn't mention rebooting and also not placing the kext on the desktop. So that remains a mystery.
Ah...you misunderstood. That kext was in my email (that I send earlier to myself from MacPro to be able to try it in MBP) and I place it to the desktop after the installation when I tried to follow your instruction how to put it in the right folder using terminal....

Option 1. It looks like I don't have a single firewire cable anymore, haven't used firewire in my audio setup for a several years.....so can't try this, at least this evening....

Option 2. I have an old Carbon Copy Cloner-copy, if it still works, I could try that. If this work, it means that I have to start the "hack procedure from the scratch?

Option 3. My biggest usb stick seems to be 8 gb; I guess that not enough? Maybe use ext. HD?

Another option. Why not redo the same procedure as last time but just to make sure that the x3000 kext exist before placing SSD back to MBP and start the hack?

UPDATE 1. I tried to do option #3 using external HD and disk maker x6. The installation seemed to running fine until MBP booted itself 2 times after 20-25 minutes and opened OS / login window; and before that it was still in Verbose mode. After I rebooted it, the result was hang / grey window.
So, once again I repeated the whole procedure but in the end when I wanted to check if the last "LoginHook part" worked using "sudo kextstat | grep -i and" in terminal, the result was same as before.
UPDATE 2. I found the AMDRadeonX3000.kext now. It's in a subfolder "off" below System/Library/Extensions, not in System/Library/Extensions-off folder. https://www.dropbox.com/s/jsu3ioubsegmo3s/Näyttökuva 2017-09-06 kello 1.53.23.png?dl=0
 
Last edited:

scottydo338

macrumors newbie
Sep 5, 2017
1
0
If you don't have time to read my story (which also describes some interesting technical approaches) just scroll down this thread until a "100% WORKING SOLUTION" text

Discrete AMD GPU of my 2011 MacBook Pro 8,2 has finally failed because of the reasons mentioned here ( http://logicboardmac.blogspot.ru/ ) and there ( https://www.macrumors.com/2015/02/19/2011-macbook-pro-repair-program-apple/ ) . It has been working perfectly for 6 years under quite a high load, even tried SETI@HOME mining at background! So I was confident that my MBP is not affected by bad solder / bad soldering quality and didn't want to bring it to Apple for a free repair program - partially because couldn't find the time to pause my important software projects, partially because I was afraid that Apple might give me a less reliable logic board or refuse a free repair because of the several unrelated repairs that I did manually by myself earlier to save money: changed thermal paste a few times, replaced the internal battery 2 times, replaced a keyboard with broken buttons, etc. But it finally broke down last week: laptop's screen image became distorted, it refused to boot OS X (always freezing half-way), and - Apple free repair program has already ended! I know there are affordable solutions like $50 BGA resoldering at unofficial local repair shop and that its possible to get a new replacement HD 6750M chip from AliExpress for $35 or cheaper ( http://www.aliexpress.com/item/DC-2...0028-216-0810028-BGA-Chipset/32764872143.html or https://www.aliexpress.com/item/DC-2015-New-216-0810001-216-0810001-Graphic-Chipset/32718112928.html , because don't know if this is true - https://www.rossmanngroup.com/board...0604-replace-216-0810005-gpu-with-216-0810028 ) to guarantee a successful repair, so the total price of repair would be either $50 or $50+$35=$85 - less than $100 in any case. But I don't like investing money to the old computers, so I have thought - what if there is some hack to force MBP to use integrated graphics ALL THE TIME, even while booting ? And then started to explore the possible solutions...

===

First of all, it is possible to successfully boot a MBP to OS X while still using the failed GPU, after you remove the AMD drivers by booting in command line mode (CMD+S) and entering these commands:
1) fsck -fy (to check a disk)
2) mount -uw / (mount a root filesystem with read/write permissions)
3) sudo mkdir /AMD_Kexts/ (make a directory to store the AMD drivers in case you'll need them in future)
4) sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/ (move the AMD drivers)
5) sudo rm -rf /System/Library/Caches/com.apple.kext.caches/ (remove the AMD drivers cache)
6) sudo mkdir /System/Library/Caches/com.apple.kext.caches/ (just in case OS X will be dumb and will not recreate this directory, I am creating it for OS X)
7) sudo touch /System/Library/Extensions/ (to update the timestamps so that new driver caches - without AMD drivers - will be definitely rebuilt)
8) sudo umount / (umount a partition to guarantee that your changes are flushed to it)
9) sudo reboot

The degree of your inconvenience while doing these steps - strongly depends on how heavily a screen's image is distorted in your case. In my case it was even more difficult because the OS X partition became a "read-only" partition (because of too many emergency shutdowns I did while desperately trying to boot OS X with a failed GPU) so I had to remove a hard drive from MacBook Pro and (using a USB to SATA 2.5" adapter taken from my portable HDD) attached it to a computer with Linux, then followed these instructions:

https://superuser.com/questions/961401/mounting-hfs-partition-on-arch-linux (1st answer) - carefully executed a number of commands, calculated a sizelimit for my parition layout, and finally ran sudo mount -t hfsplus -o force,rw,sizelimit=YOURNUMBER /dev/sdb2 /mnt to mount this HFS+ partition to /mnt directory in read-write mode. Then I performed these "1)-7)" steps you see above, and also repaired a filesystem by running sudo fsck.hfsplus -f /dev/sdb2 before unmounting a partition with sudo umount /mnt and putting a hard drive back to MBP...

===

This gave me a MBP which could boot to OS X although STILL using a broken AMD GPU: so it screen's image is very distorted (could browse the Internet but quite inconvenient to read a text), Launchpad is super laggy, and you can't switch to Integrated GPU using gfxCardStatus because: without AMD drivers (which we had to remove to successfully boot to OS X) Macbook Pro thinks its' internal screen is External Display and gfxCardStatus tells it is impossible to switch because External Display is using AMD GPU. Somewhere I found a suggestion that it is possible to rebuild a gfxCardStatus from the source code - https://github.com/codykrieger/gfxCardStatus - with removed or commented out 156-166 lines in the ./gfxCardStatus/Classes/GSProcess.m to make it to ignore the external display:

// find out if an external monitor is forcing the discrete gpu on
CGDirectDisplayID displays[8];
CGDisplayCount displayCount = 0;
if (CGGetOnlineDisplayList(8, displays, &displayCount) == noErr) {
for (int i = 0; i < displayCount; i++) {
if ( ! CGDisplayIsBuiltin(displays))
[list addObject:[NSDictionary dictionaryWithObjectsAndKeys:
Str(@"External Display"), kTaskItemName,
@"", kTaskItemPID, nil]];
}
}


So I rebuilt a gfxCardStatus using the instructions from the last reply of this issue -
https://github.com/codykrieger/gfxCardStatus/issues/229
(also had to download a MacOSX10.11.sdk from here - https://github.com/phracker/MacOSX-SDKs/releases - unpack and copy it to XCode's /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk - because of the Apple's stupidity the latest XCode for El Capitan does not include SDK for El Capitan!) However, it still didn't work - gfxCardStatus only pretended that it has switched to Integrated GPU, while in reality OS X did not let it switch! Even after I edited ./gfxCardStatus/Classes/GSGPU.m file to enable the mysterious "Nuke it from orbit switching" option, it still couldn't switch...

===

Then I discovered this interesting repository - https://github.com/0xbb/gpu-switch - which is partially similar by its' source code to gfxCardStatus but also has the "Login Hooks" (install_hooks.sh) to "automate the switching process for login/logout". Sadly it didn't work for me... However, there is a very interesting gpu-switch text file right at the root of this repository, which describes the EFI variables!

https://github.com/0xbb/gpu-switch/blob/master/gpu-switch

After studying it and also reading this issue's comments - https://github.com/0xbb/gpu-switch/issues/11 - I became confident to try this solution, but found out that my MacBook Pro 2011 8,2 with OS X El Capitan 10.11.6 is in a VERY problematic situation:

1) rEFInd is not installed, and to install it - must disable SIP protection. But I cannot boot to Recovery mode (Command+Option+R) or to OS X Installation DVD/USB (hold Option), (to disable SIP), because they freeze while booting! - although I removed AMD kexts from my system, of course these recovery tools are using AMD kexts integrated to their design. Also cannot use Rootfool hack ( https://github.com/gdbinit/rootfool ) to disable SIP during runtime, because it works only at OS X version older than 10.11.4

2) Tried overheating my Macbook Pro on purpose (forcing CPU usage to 100% and putting it to a tightly closed bag) to force it to shutdown from overheating and then quickly reboot so that Integrated graphics will be enabled during the boot time - making it possible to boot to Recovery. But because of the wonderful high end thermal paste I have applied not so long ago - cannot overheat it even after waiting for a long time! At this point I thought that could either: a) remove AMD kexts from Installation media, or b) to connect MBP's hard drive to a Linux machine again and run a bunch of chmods to remove the SIP flags from the directories mentioned here ( http://apple.stackexchange.com/questions/193368/what-is-the-rootless-feature-in-el-capitan-really ) which could potentially make a system unbootable, or c) to try installing rEFInd to HFS+ partition directly from a Linux machine with root rights because it will bypass SIP --- but have not explored these options, although some of them might have worked...

3) Wanted to boot a Linux LiveCD to edit the EFI variables from there, but no matter what I did: tried booting straight without GRUB option modifications, tried editing GRUB boot options (with "e" key) to add nomodeset / remove quiet splash / or both in every combination , or like suggested in this article ( https://wiki.archlinux.org/index.php/MacBookPro8,1/8,2/8,3_(2011) ) also add i915.modeset=0 radeon.modeset=0 or radeon.modeset=0 i915.modeset=1 i915.lvds_channel_mode=2 ; and then pressed Fn+F10 or Shift+Ctrl+Fn+F10 to boot with these options: but the Linux boot process always failed at different boot stages, no matter what popular user-friendly Linux distribution or what version of it I am trying: tried many releases of Ubuntu / Lubuntu / Fedora , even the old "AMD64 Mac" and "Alternate AMD64 Mac" images, but they always failed - either at the very beginning of boot process (black screen, or a black screen with a blinking or stuck _ character at the left upper corner) or failed at the very end of it - right before it is supposed to show a graphical desktop environment...

Later, totoe_84 wrote that he was able to boot Ubuntu in graphical mode using the following setup for GRUB:
  • To disable the AMD graphics card I added the following lines after set gfxpayload=keep
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
  • Next I added the following after quiet splash
    i915.lvds_channel_mode=2 i915.modeset=1 i915.lvds_use_ssc=0
(based on https://ubuntuforums.org/showthread.php?t=2157775 )

===

Then I remembered that there are not-mainstream Linux distributions for advanced users, which have a LiveCD without any graphical interface: you are dropped to a pure console and you are supposed to install the system along with only those graphical interfaces and software packages / groups of packages which you explicitly select. For example: Arch Linux (https://www.archlinux.org/) and Gentoo Linux (https://gentoo.org/) . Because their LiveCD does not have a graphical interface, they could be booted without a problem to a pure Linux console and there you could edit the EFI variables ! So here is a...

===
=== 100% WORKING SOLUTION
===
=== Force your MBP to ALWAYS use Intel integrated GPU (EFI variable fix)
===
=== to make it great again ! ;)
===


1) Create the Arch Linux LiveCD/LiveUSB :

You need a working computer for that and a spare CD/DVD/USB drive. Download the latest Arch Linux ISO image from this page - https://www.archlinux.org/download/ , at the time of writing it is archlinux-2017.03.01-dual.iso . Then you could either simply burn this ISO to CD/DVD (which later could be either inserted to MBP's SuperDrive or External DVD Drive connected to MBP by two USB cables) or create a bootable USB: use the great detailed instructions from this page, https://wiki.archlinux.org/index.php/USB_flash_installation_media

2) Boot to it: insert this CD/DVD/USB to Macbook Pro, hold Option key while booting, choose "EFI boot" (that is your bootable installation media), press "e" key to edit the GRUB options of the Arch Linux archiso x86_64 UEFI CD menu entry while it is selected at the main screen, add nomodeset to the end of this line and press Enter. If everything is done correctly, you will find yourself at the Linux console!

3) Edit EFI vars: looks like efivarfs filesystem is mounted by default! So you can already cd /sys/firmware/efi/efivars and ls to explore this directory and see if there is a "gpu-power-prefs-..." variable (where ... is UUID of this variable). If there is such a variable, its better to remove it with rm. In my case the efivarfs has been mounted by default with read/write permissions, but if you are getting the "operation not permitted" message while attempting to rm, it means that in your case efivarfs has been mounted as read-only and you need to remount it with read-write permissions and try again (credits to totoe_84 for this valuable addition) :
*) cd /
*) umount /sys/firmware/efi/efivars/
*) mount -t efivarfs rw /sys/firmware/efi/efivars/
*) cd /sys/firmware/efi/efivars/

If your screen is so distorted that it is difficult to see the letters, just start typing the rm gpu-power-pre and then press TAB key for autocompletion. In my case there were not such a EFI variable, only "gpu-active-..." and maybe somehow related "gfx-saved-config-restore-status-..." . Then I looked again at that gpu-switch text file (mentioned above, https://github.com/0xbb/gpu-switch/blob/master/gpu-switch),
and entered THESE COMMANDS:

*) chattr -i "/sys/firmware/efi/efivars/" <----- skip this command

Actually a gpu-switch script had "${sysfs_efi_vars}/${efi_gpu}" but I didnt have a "gpu-power-prefs-..." variable - so, partially by mistake, I didn't add that efi_gpu suffix and entered this incomplete path accidentally

*)
printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9

Did not have a EFI "gpu-power-prefs-" variable so I thought that it will be OK to create a new one with a random UUID - in this case, taken directly from a gpu-switch script

*) chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"

http://www.tecmint.com/chattr-command-examples/ - chattr (Change Attribute) is a command line Linux utility that is used to set/unset certain attributes to a file in Linux system to secure accidental deletion or modification of important files and folders, even though you are logged in as a root user.
...
Syntax of chattr ---> chattr [operator] [flags] [filename]
...
A file is set with ‘i‘ attribute (+i as you see in this command) ---> cannot be modified (immutable). Means no renaming, no symbolic link creation, no execution, no writable, only superuser can unset the attribute.
...
Operator
  1. + : Adds the attribute to the existing attribute of the files.
  2. : Removes the attribute to the existing attribute of the files.
  3. = : Keep the existing attributes that the files have.
This chattr command is supposed to lock a file to make it accessible only by "superuser" - and so that, while booting, your EFI will have no chance to screw up your gpu-power-prefs-... variable under any circumstances

*) cd /

Could not unmount efivars if you are inside this directory, so change to the root directory

*) umount /sys/firmware/efi/efivars/

Guarantees that your EFI variables are flushed to efivarfs filesystem, please unmount it safely before rebooting)

*) reboot

===> IF YOU DID EVERYTHING CORRECTLY, MOST LIKELY THAT YOUR MACBOOK PRO IS NOW USING INTEGRATED GRAPHICS WHILE BOOTING, AFTER BOOTING, AND IS WORKING GREAT AGAIN ! ;)

In the future maybe you could need to re-apply this solution if you would have to reset your PRAM / NVRAM / SMC because of some other problems, so remember this solution somewhere... Funny thing: now you can't switch to Discrete GPU even using gfxCardStatus, it is forever stuck at Integrated


I spent two working days to discover this solution, and really hope that it will work flawlessly for every MBP owner with a broken discrete GPU. Good luck!


Hey so my Macbook Pro has just done precisely what you've detailed yours did. I've followed your "100% working" guide to get to the Linux console, however, I know nothing of Linux. My computer shows the following lines once I've gotten to the Linux console:

Arch Linux 4.12.8-2-ARCH (tty1)

archiso login: root (automatic login)
root@archiso ~ #



I assume that all this is well and good, but I see nothing to do with efivars or anything. Does this mean that the efivars system is not mounted? If not, how do I mount it so that I can access the files needed to finish the rest of this solution?

Thanks
 

mikecwest

macrumors 65816
Jul 7, 2013
1,193
496
Hey so my Macbook Pro has just done precisely what you've detailed yours did. I've followed your "100% working" guide to get to the Linux console, however, I know nothing of Linux. My computer shows the following lines once I've gotten to the Linux console:

Arch Linux 4.12.8-2-ARCH (tty1)

archiso login: root (automatic login)
root@archiso ~ #



I assume that all this is well and good, but I see nothing to do with efivars or anything. Does this mean that the efivars system is not mounted? If not, how do I mount it so that I can access the files needed to finish the rest of this solution?

Thanks

Umm, lets skip all of that ArchLinux and follow the directions in the more recent posts from the more recent posts like this one:

There are so many posts. I can't seem to find the right one....

Just hold down CMD-S, enter " sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 " at the prompt, press enter, then type "reboot" and press enter.
 
Last edited:
  • Like
Reactions: AppleMacFinder

Schmye Bubbula

macrumors member
Jul 24, 2009
40
1
ElCap 10.11.6, MacBook Pro "Early 2011"

If I put my display to sleep first, then I can overall sleep & awake without incident when AMDRadeonX3000.kext is loaded (late).

But not when I sleep display (Shift-Option-⏏) (that's the Eject key), then overall sleep by shutting the laptop lid: it sleeps OK, but upon awake, the screen remains black while the keyboard lights up, and things are frozen.

I do it in AppleScript thusly:

<code>
do shell script "pmset displaysleepnow"
delay 1
tell application "System Events" to sleep -- (or tell "Finder")
</code>

Alas, it doesn't work to sleep display before a tell application "Finder" to restart — it still freezes up.

But this is progress! ... Now all we need is a way to sneak under AMDRadeonX3000.kext to reboot or shutdown. Or a way to cleanly unload it without kernel panic. Methinks one of the more advanced users here (MikeyN, nsgr?) might seek help from the Hackintosh community, tonymacx86 or InsanelyMac.

Woops, I spoke too soon; it's not all we need: Activity Monitor freezes upon launch — doesn't even make it into the GUI — with AMDRadeonX3000.kext loaded (late).

I was getting ready to set-up the aforementioned SleepWatcher to intercept my sleeps & awakes, but I can't get caffeinate to work. During my preliminary testing manually, if I do:

<code>
do shell script "pmset displaysleepnow"
delay 5
do shell script "caffeinate -ut1"
</code>

...it brings the display back after five seconds, but afterwards I can't put the display to sleep again during the session. I thought that my -ut1 argument was telling caffeinate to time-out its prevention of further display sleep after one second. Am I misinterpreting the caffeinate man page?:

<quote>
-u Create an assertion to declare that user is active. If the display is off, this option turns the display on and prevents the display from going into idle sleep. If a timeout is not specified with '-t' option, then this assertion is taken with a default of 5 second timeout.

-t Specifies the timeout value in seconds for which this assertion has to be valid. The assertion is dropped after the specified timeout. Timeout value is not used when an utility is invoked with this command.
</quote>
 
Last edited:

nsgr

macrumors 6502
May 22, 2017
317
117
ElCap 10.11.6, MacBook Pro "Early 2011"

If I put my display to sleep first, then I can overall sleep & awake without incident when AMDRadeonX3000.kext is loaded (late).

But not when I sleep display (Shift-Option-⏏) (that's the Eject key), then overall sleep by shutting the laptop lid: it sleeps OK, but upon awake, the screen remains black while the keyboard lights up, and things are frozen.

I do it in AppleScript thusly:

<code>
do shell script "pmset displaysleepnow"
delay 1
tell application "System Events" to sleep -- (or tell "Finder")
</code>

Alas, it doesn't work to sleep display before a tell application "Finder" to restart — it still freezes up.

But this is progress! ... Now all we need is a way to sneak under AMDRadeonX3000.kext to reboot or shutdown. Or a way to cleanly unload it without kernel panic. Methinks one of the more advanced users here (MikeyN, nsgr?) might seek help from the Hackintosh community, tonymacx86 or InsanelyMac.

Woops, I spoke too soon; it's not all we need: Activity Monitor freezes upon launch — doesn't even make it into the GUI — with AMDRadeonX3000.kext loaded (late).

I was getting ready to set-up the aforementioned SleepWatcher to intercept my sleeps & awakes, but I can't get caffeinate to work. During my preliminary testing manually, if I do:

<code>
do shell script "pmset displaysleepnow"
delay 5
do shell script "caffeinate -ut1"
</code>

...it brings the display back after five seconds, but afterwards I can't put the display to sleep again during the session. I thought that my -ut1 argument was telling caffeinate to time-out its prevention of further display sleep after one second. Am I misinterpreting the caffeinate man page?:

<quote>
-u Create an assertion to declare that user is active. If the display is off, this option turns the display on and prevents the display from going into idle sleep. If a timeout is not specified with '-t' option, then this assertion is taken with a default of 5 second timeout.

-t Specifies the timeout value in seconds for which this assertion has to be valid. The assertion is dropped after the specified timeout. Timeout value is not used when an utility is invoked with this command.
</quote>

ElCap 10.11.6, MacBook Pro "Early 2011"

If I put my display to sleep first, then I can overall sleep & awake without incident when AMDRadeonX3000.kext is loaded (late).

But not when I sleep display (Shift-Option-⏏) (that's the Eject key), then overall sleep by shutting the laptop lid: it sleeps OK, but upon awake, the screen remains black while the keyboard lights up, and things are frozen.

I do it in AppleScript thusly:

<code>
do shell script "pmset displaysleepnow"
delay 1
tell application "System Events" to sleep -- (or tell "Finder")
</code>

Alas, it doesn't work to sleep display before a tell application "Finder" to restart — it still freezes up.

But this is progress! ... Now all we need is a way to sneak under AMDRadeonX3000.kext to reboot or shutdown. Or a way to cleanly unload it without kernel panic. Methinks one of the more advanced users here (MikeyN, nsgr?) might seek help from the Hackintosh community, tonymacx86 or InsanelyMac.

Woops, I spoke too soon; it's not all we need: Activity Monitor freezes upon launch — doesn't even make it into the GUI — with AMDRadeonX3000.kext loaded (late).

I was getting ready to set-up the aforementioned SleepWatcher to intercept my sleeps & awakes, but I can't get caffeinate to work. During my preliminary testing manually, if I do:

<code>
do shell script "pmset displaysleepnow"
delay 5
do shell script "caffeinate -ut1"
</code>

...it brings the display back after five seconds, but afterwards I can't put the display to sleep again during the session. I thought that my -ut1 argument was telling caffeinate to time-out its prevention of further display sleep after one second. Am I misinterpreting the caffeinate man page?:

<quote>
-u Create an assertion to declare that user is active. If the display is off, this option turns the display on and prevents the display from going into idle sleep. If a timeout is not specified with '-t' option, then this assertion is taken with a default of 5 second timeout.

-t Specifies the timeout value in seconds for which this assertion has to be valid. The assertion is dropped after the specified timeout. Timeout value is not used when an utility is invoked with this command.
</quote>

ElCap 10.11.6, MacBook Pro "Early 2011"

If I put my display to sleep first, then I can overall sleep & awake without incident when AMDRadeonX3000.kext is loaded (late).

But not when I sleep display (Shift-Option-⏏) (that's the Eject key), then overall sleep by shutting the laptop lid: it sleeps OK, but upon awake, the screen remains black while the keyboard lights up, and things are frozen.

I do it in AppleScript thusly:

<code>
do shell script "pmset displaysleepnow"
delay 1
tell application "System Events" to sleep -- (or tell "Finder")
</code>

Alas, it doesn't work to sleep display before a tell application "Finder" to restart — it still freezes up.

But this is progress! ... Now all we need is a way to sneak under AMDRadeonX3000.kext to reboot or shutdown. Or a way to cleanly unload it without kernel panic. Methinks one of the more advanced users here (MikeyN, nsgr?) might seek help from the Hackintosh community, tonymacx86 or InsanelyMac.

Woops, I spoke too soon; it's not all we need: Activity Monitor freezes upon launch — doesn't even make it into the GUI — with AMDRadeonX3000.kext loaded (late).

I was getting ready to set-up the aforementioned SleepWatcher to intercept my sleeps & awakes, but I can't get caffeinate to work. During my preliminary testing manually, if I do:

<code>
do shell script "pmset displaysleepnow"
delay 5
do shell script "caffeinate -ut1"
</code>

...it brings the display back after five seconds, but afterwards I can't put the display to sleep again during the session. I thought that my -ut1 argument was telling caffeinate to time-out its prevention of further display sleep after one second. Am I misinterpreting the caffeinate man page?:

<quote>
-u Create an assertion to declare that user is active. If the display is off, this option turns the display on and prevents the display from going into idle sleep. If a timeout is not specified with '-t' option, then this assertion is taken with a default of 5 second timeout.

-t Specifies the timeout value in seconds for which this assertion has to be valid. The assertion is dropped after the specified timeout. Timeout value is not used when an utility is invoked with this command.
</quote>

Have you tried changing the values of gpuswitch? This website says gpuswitch is related to sleep.

gpuswitch sets GPU behaviour during sleep, and appears to be undocumented;

https://eclecticlight.co/2017/01/20/power-management-in-detail-using-pmset/


1 -
Show current pmset gpuswitch.

pmset -g


2 - Change pmset gpuswitch to Integrated video card.

sudo pmset -a gpuswitch 0

sudo shutdown -r now

boot normal

test close and open lid -> sleep


3 - Change pmset gpuswitch to Discrete AMD video Card.

sudo pmset -a gpuswitch 1

sudo shutdown -r now

boot normal

test close and open lid -> sleep


4 -
Change pmset gpuswitch to Dynamic mode.

sudo pmset -a gpuswitch 2

sudo shutdown -r now

boot normal

test close and open lid -> sleep


Some websites say that gpuswitch 0 is Intel and others say it's AMD/Nvidia. The same information applies to gpuswitch 1.

I did not test to see if you have to restart the Macbook to apply the changes. To avoid this doubt, then restart the Macbook.

Source code - look gpus :

https://opensource.apple.com/source...le.SystemPowerProfileDefaults.plist.auto.html

https://opensource.apple.com/source/PowerManagement/PowerManagement-211.14/pmset/pmset.c.auto.html
 
Last edited:

MikeyN

macrumors regular
Jul 26, 2017
129
75

nonlen

macrumors member
Mar 29, 2014
49
1
That is progress. You had a simple typo there.

sudo mv /System/Library/Extensions/off/AMDRadeonX3000.kext /System/Library/Extensions-off/AMDRadeonX3000.kext

should do the trick now.
Thanks Mikey, x3000.kext is now moved but there is still some stuff inside "off" folder

https://www.dropbox.com/s/irudfchi96kvgia/Näyttökuva 2017-09-06 kello 9.50.46.png?dl=0
and
https://www.dropbox.com/s/k0d61atko01rpyp/Näyttökuva 2017-09-06 kello 9.51.28.png?dl=0

and when I try this
To check if it worked: after the next reboot copy and paste into Terminal:
sudo kextstat | grep -i amd

I still get this
112 2 0xffffff7f82e8a000 0x125000 0x125000 com.apple.kext.AMDSupport (1.4.2) B1E391D3-E002-32E9-ACD4-7465DF9CCF7D <111 92 12 11 7 5 4 3 1>

113 0 0xffffff7f82ff2000 0x5f6000 0x5f6000 com.apple.kext.AMD6000Controller (1.4.2) 2F08CA3E-6BEF-344A-A88E-F8A2A83666FB <112 92 12 11 5 4 3 1>

133 0 0xffffff7f82fbd000 0x22000 0x22000 com.apple.kext.AMDFramebuffer (1.4.2) B5E7C9E8-10E9-3757-A18A-23D0FCC1D4B3 <112 92 12 11 7 5 4 3 1>

153 0 0xffffff7f837c2000 0x45b000 0x45b000 com.apple.AMDRadeonX3000 (1.4.2) 76FC78E2-43C3-35D5-8AA6-B7AFE18EE963 <152 92 12 7 5 4 3 1>

UPDATE. This didn't happened earlier...now when I try to reboot or shut down the machine, it freezes. It seems to freeze everytime....

UPDATE 2. Should I remove that "off" content somehow; in terminal? Finder?
 
Last edited:

MikeyN

macrumors regular
Jul 26, 2017
129
75
Thanks Mikey, x3000.kext is now moved but there is still some stuff inside "off" folder

https://www.dropbox.com/s/irudfchi96kvgia/Näyttökuva 2017-09-06 kello 9.50.46.png?dl=0
and
https://www.dropbox.com/s/k0d61atko01rpyp/Näyttökuva 2017-09-06 kello 9.51.28.png?dl=0

and when I try this
To check if it worked: after the next reboot copy and paste into Terminal:
sudo kextstat | grep -i amd

I still get this
112 2 0xffffff7f82e8a000 0x125000 0x125000 com.apple.kext.AMDSupport (1.4.2) B1E391D3-E002-32E9-ACD4-7465DF9CCF7D <111 92 12 11 7 5 4 3 1>

113 0 0xffffff7f82ff2000 0x5f6000 0x5f6000 com.apple.kext.AMD6000Controller (1.4.2) 2F08CA3E-6BEF-344A-A88E-F8A2A83666FB <112 92 12 11 5 4 3 1>

133 0 0xffffff7f82fbd000 0x22000 0x22000 com.apple.kext.AMDFramebuffer (1.4.2) B5E7C9E8-10E9-3757-A18A-23D0FCC1D4B3 <112 92 12 11 7 5 4 3 1>

153 0 0xffffff7f837c2000 0x45b000 0x45b000 com.apple.AMDRadeonX3000 (1.4.2) 76FC78E2-43C3-35D5-8AA6-B7AFE18EE963 <152 92 12 7 5 4 3 1>

UPDATE. This didn't happened earlier...now when I try to reboot or shut down the machine, it freezes. It seems to freeze everytime....

UPDATE 2. Should I remove that "off" content somehow; in terminal? Finder?

Not so fast. Do not delete anything yet.
It is again a bit weird.
But the newly observed behaviour is indicative for an active X3000 kext.

Within "off" are the remnants of the kext.

Please check the contents of the kext-folder in Terminal:

ls -la /System/Library/Extensions-off/AMDRadeonX3000.kext/*

If that comes up empty the contents of "off" have to be moved.

Start wth making a copy of "off":
sudo cp -a /System/Library/Extensions/off ~/Desktop/

Now, if, and only if, ls -la /System/Library/Extensions-off/AMDRadeonX3000.kext/* came up empty:
sudo mv /System/Library/Extensions/off/* /System/Library/Extensions-off/AMDRadeonX3000.kext/
 

nonlen

macrumors member
Mar 29, 2014
49
1
Not so fast. Do not delete anything yet.
It is again a bit weird.
But the newly observed behaviour is indicative for an active X3000 kext.

Within "off" are the remnants of the kext.

Please check the contents of the kext-folder in Terminal:

ls -la /System/Library/Extensions-off/AMDRadeonX3000.kext/*

If that comes up empty the contents of "off" have to be moved.

Start wth making a copy of "off":
sudo cp -a /System/Library/Extensions/off ~/Desktop/

Now, if, and only if, ls -la /System/Library/Extensions-off/AMDRadeonX3000.kext/* came up empty:
sudo mv /System/Library/Extensions/off/* /System/Library/Extensions-off/AMDRadeonX3000.kext/

Content of the Extension-off folder:

SpL-MBP:~ ls -la /System/Library/Extensions-off/AMDRadeonX3000.kext/*

total 40

drwxr-xr-x 7 root wheel 238 1 Hei 2016 .

drwxr-xr-x@ 3 root wheel 102 1 Hei 2016 ..

-rw-r--r-- 1 root wheel 9301 1 Hei 2016 Info.plist

drwxr-xr-x 3 root wheel 102 9 Hei 2016 MacOS

-rwxr-xr-x 1 root wheel 9 1 Hei 2016 PkgInfo

drwxr-xr-x 3 root wheel 102 1 Hei 2016 _CodeSignature

-rw-r--r-- 1 root wheel 464 1 Hei 2016 version.plist

Good thing?
 

MikeyN

macrumors regular
Jul 26, 2017
129
75
Content of the Extension-off folder:

SpL-MBP:~ ls -la /System/Library/Extensions-off/AMDRadeonX3000.kext/*

total 40

drwxr-xr-x 7 root wheel 238 1 Hei 2016 .

drwxr-xr-x@ 3 root wheel 102 1 Hei 2016 ..

-rw-r--r-- 1 root wheel 9301 1 Hei 2016 Info.plist

drwxr-xr-x 3 root wheel 102 9 Hei 2016 MacOS

-rwxr-xr-x 1 root wheel 9 1 Hei 2016 PkgInfo

drwxr-xr-x 3 root wheel 102 1 Hei 2016 _CodeSignature

-rw-r--r-- 1 root wheel 464 1 Hei 2016 version.plist

Good thing?

Good thing.
Since "off" is backed up:
Now: Delete "off" from the regular Extensions-folder. (Finder is OK)
Close all applications.
Open Terminal.
Type:
sudo touch /System/Library/Extensions & sleep 160
Wait a bit more.
sudo reboot

Test what you have to test.
 

nonlen

macrumors member
Mar 29, 2014
49
1
Good thing.
Since "off" is backed up:
Now: Delete "off" from the regular Extensions-folder. (Finder is OK)
Close all applications.
Open Terminal.
Type:
sudo touch /System/Library/Extensions & sleep 160
Wait a bit more.
sudo reboot

Test what you have to test.
Ok, did all of that. Still freezing when rebooting or shut down normally in OS. For some reason AMDRadeonX3000.kext is now in both /System/Library/Extensions and /System/Library/Extensions-off folders? Weird? See the pictures...

https://www.dropbox.com/s/uxhe7cn2xykpi44/Näyttökuva 2017-09-06 kello 15.51.37.png?dl=0
https://www.dropbox.com/s/mfo3aa46iwfdn38/Näyttökuva 2017-09-06 kello 15.52.03.png?dl=0
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.