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.

pvllo

macrumors newbie
Jul 12, 2017
7
2
Yes, you can reenable SIP, but you will have to disable it every time your macOS updates, to bless grub again.

Pretty much like the plain EFI fix without the hooks and scripts then (fine by me :D)

It can do low level stuff like port output (outb). The outb commands on the menu entry switches to the integrated graphics and disables the AMD gpu.

So does GRUB outb permanently disable the AMD GPU? I mean, definitively, in a way the MBP won't even know it's there?
Cause AFAIK sleep/ wake-up hangs are related to loading/ reloading attempts of the now infamous X3000 kext.

I haven't upgrade to High Sierra yet. I have heard that APFS is backyards compatible with HFS+, but I'm not sure. If you already updated, you can try with the rescue thumb drive and then if it works, you can proceed to the permanent solution

Same here, Sierra 10.12.6 running fine with all the hooks, bells and whistles.
Curious to know how it goes on High Sierra too so I can fresh start with the GRUB method!
 

brainshutdown

macrumors regular
Jul 16, 2012
124
110
So does GRUB outb permanently disable the AMD GPU? I mean, definitively, in a way the MBP won't even know it's there?
Cause AFAIK sleep/ wake-up hangs are related to loading/ reloading attempts of the now infamous X3000 kext.
Yes, it's completely invisible to macOS. The AMD gpu doesn't appear on the System Report as you can see in the screenshot of the post #1033 and doesn't even load de AMD kexts.
 
Last edited:

Pracatan

macrumors newbie
Oct 31, 2017
1
0
AppleMacFinder......I have to Praise you like i should!
....Thank You for reviving my 2011 Macbook Pro 8,3. running el capitan...
I did your EFI fix first...and.. with great relief ...it allowed me to get back to the desktop..but only in safe mode...with no access to sound...
so after disabling sips... i applied your method for removing the AMDs
...and then Happy Daze!...a fully functioning laptop..(also works with Sierra which i run from an external drive)
Many Thanks for your hard work...Cheers!
 
Last edited:

pvllo

macrumors newbie
Jul 12, 2017
7
2
Yes, it's completely invisible to macOS. The AMD gpu doesn't appear on the System Report as you can see in the screenshot of the post #1033 and doesn't even load de AMD kexts.

Missed that pic somehow, but definitely looks promising! Thanks for sharing!
Can you run an external display through Thunderbolt with this?
Would like to hear from @rubyme8 or anyone running the GRUB hack on High Sierra before giving it a shot though.
I mean, everything here runs fine with the nvram + login hook + AMD kexts combo (and pmset granting full lid ops).
Right now I've got 50+ safari tabs on 4 windows, plus all cloud services, avast, malwarebytes, mac fan, disk drill and outlook open at the same time and my GPU's diode is happy at 22℃/ 71℉ :)
 

brainshutdown

macrumors regular
Jul 16, 2012
124
110
Can you run an external display through Thunderbolt with this?
Unfortunately no. But you can use one of these USB adapters: http://www.displaylink.com/products
Would like to hear from @rubyme8 or anyone running the GRUB hack on High Sierra before giving it a shot though.
It should be possible. I was playing with the grub menu entry and found out that if you replace the chainloader line with exit it defaults to booting macOS and the hack still works.
 

tmanx

macrumors newbie
Nov 1, 2017
22
3
For everyone interested I've created a github gist with the instructions for booting with grub without installing linux:

https://gist.github.com/blackgate/17ac402e35d2f7e0f1c9708db3dc7a44



The grub solution doesn't have any of the problems you described. It can boot, sleep, shutdown and restart normally. It even works without removing the AMD kexts and doesn't need the login hook. I've been using it for about a year now, and haven't had a single crash.

Hi - I'm really keen to either use this or the other version that requires Ubuntu installation - but like others, I'm no expert.

I'd probably prefer to just get it sorted without installing another OS - but I'm having trouble getting the non-install method to work - the mac just isn't booting?

Issues for me are - step 3.4 of the gist on github suggest that you overwrite (change) the grub with

menuentry "macOS" {
insmod hfsplus
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
search --no-floppy --fs-uuid --set=root <YOUR UUID>
chainloader /System/Library/CoreServices/boot.efi
}

Is that correct - or do you add it at the end of the grub file content as you've said in post #1052? (I know that YOUR UUID should be the MacOS UUID)

If I change it out completely - then the behaviour in 3.5 doesn't happen when I hit ESC and e (e.g. can't edit) - but if I leave the rest of the grub file contents and just add it - then the behaviour to edit the UUID happens - I can't see where I'm supposed to edit the UUID? I have another mac so can and have edited the UUID on that in advance - but have also followed the instructions in order. But the mac still isn't booting (hangs on boot screen)?

I then had a look at the install method - but the video linked to for the Linux installation method is for a full overwrite installation to run on Ubuntu - which is confusing as I thought the intention was to get it installed alongside an operational Mac OS X - but just without the dedicated GPU? The description just says '7. Follow the installation procedure of Ubuntu Manager'. I am not confident to follow the video as is because the install process wants to format and overwrite OS X and it skips the partitioning part and other elements I've seen of dual boot installs?

Sorry for all of the questions - hope you can help

cheers
 

brainshutdown

macrumors regular
Jul 16, 2012
124
110
Hi - I'm really keen to either use this or the other version that requires Ubuntu installation - but like others, I'm no expert.

I'd probably prefer to just get it sorted without installing another OS - but I'm having trouble getting the non-install method to work - the mac just isn't booting?

Issues for me are - step 3.4 of the gist on github suggest that you overwrite (change) the grub with

menuentry "macOS" {
insmod hfsplus
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
search --no-floppy --fs-uuid --set=root <YOUR UUID>
chainloader /System/Library/CoreServices/boot.efi
}

Is that correct - or do you add it at the end of the grub file content as you've said in post #1052? (I know that YOUR UUID should be the MacOS UUID)

If I change it out completely - then the behaviour in 3.5 doesn't happen when I hit ESC and e (e.g. can't edit) - but if I leave the rest of the grub file contents and just add it - then the behaviour to edit the UUID happens - I can't see where I'm supposed to edit the UUID? I have another mac so can and have edited the UUID on that in advance - but have also followed the instructions in order. But the mac still isn't booting (hangs on boot screen)?

I then had a look at the install method - but the video linked to for the Linux installation method is for a full overwrite installation to run on Ubuntu - which is confusing as I thought the intention was to get it installed alongside an operational Mac OS X - but just without the dedicated GPU? The description just says '7. Follow the installation procedure of Ubuntu Manager'. I am not confident to follow the video as is because the install process wants to format and overwrite OS X and it skips the partitioning part and other elements I've seen of dual boot installs?

Sorry for all of the questions - hope you can help

cheers

Sorry, I found out that grub doesn't like the <YOUR UUID>.
I changed the guide to use YOUR_UUID instead. If you already have the uuid you can go straight step 3.6 and change <YOUR UUID> with yours.
You can replace everything(the other menu entries are for ubuntu, and they aren't necessary for this).
 
Last edited:

brainshutdown

macrumors regular
Jul 16, 2012
124
110
Dumb question: in step 5 after an OS update, why is it not necessary to copy the EFI and boot folders from the RESCUE thumb drive to the newly created /Volumes/efi folder?
Because it only affects the grub blessing. The files stay in the same place.
The efi folder is only created to mount the EFI partition which already contains the files.
 

tmanx

macrumors newbie
Nov 1, 2017
22
3
Fix for 17 inch dGPU switch issue

(Tested successfully in both “early” and “late” 2011 17 inch MacBook Pro)


1) diskutil cs list (find UUID for drive)

2) diskutil coreStorage unlockVolume UUID


3) cd /Volumes/Macintosh\ HD

4) mkdir AMD_Kexts

5) mv System/Library/Extensions/AMD*.* AMD_Kexts/

6) reboot

1) and 2) didn't work for me - as I got a message saying "No coreStorage logical volume groups found" at 1). I already had the MacOS volume UUID - so tried that - and was told that the string entered was not a UUID?

I proceeded with 3) - 6) without any errors showing. Has it worked - I assumed because there were no errors (e.g. saying that the volume was locked) it has created the directory and moved the Kexts? The Mac has rebooted and is showing a clear working screen. Is there something I can do to check that it has got the AMD Kexts out of the picture?

cheers
 

brainshutdown

macrumors regular
Jul 16, 2012
124
110
@tmanx have you tried the updated guide with YOUR_UUID instead of <YOUR UUID>? If you try it, make sure you replace the contents of grub.cfg entirely on the step 3.4, otherwise you will probably edit the wrong menu entry on the step 3.5, and thats probably why you said earlier you didn't find where you supposed to edit the uuid and macOS didn't boot properly.
 

tmanx

macrumors newbie
Nov 1, 2017
22
3
@tmanx have you tried the updated guide with YOUR_UUID instead of <YOUR UUID>? If you try it, make sure you replace the contents of grub.cfg entirely on the step 3.4, otherwise you will probably edit the wrong menu entry on the step 3.5, and thats probably why you said earlier you didn't find where you supposed to edit the uuid and macOS didn't boot properly.

Hi, thanks for the reply. No not tried that yet - although have a USB all set up now with the grub.cfg file edited as you've advised (i.e. with my identified UUID minus < >).

Question is - now that I've had a go at the solution in post #106 - would using the Ubuntu fix as well be a problem?

cheers
 

robertosh

macrumors 65816
Mar 2, 2011
1,141
962
Switzerland
I tried everything and finally I paid to a company in eBay to solve the problem replacing the gpu and solder it again. At the end was near 200€ but my MacBook is back to life and working with the dedicated card without any problem since three months. If you need more details please send me an PM.
 

brainshutdown

macrumors regular
Jul 16, 2012
124
110
Hi, thanks for the reply. No not tried that yet - although have a USB all set up now with the grub.cfg file edited as you've advised (i.e. with my identified UUID minus < >).

Question is - now that I've had a go at the solution in post #106 - would using the Ubuntu fix as well be a problem?

cheers

It's not a problem. It should work, and with the grub solution you can even put the kexts back in the extensions folder.
By the way... which version of macOS are you using?
 

tmanx

macrumors newbie
Nov 1, 2017
22
3
Currently on 10.9.5 No massive desire to upgrade - would rather it was just working.

I'm assuming the previous fix has worked as I have found the AMD Kexts that I moved out of Library/Extensions (so that did happen at least), I have a good quality screen - and whilst I can select 'Discrete Only' in gfxCardstatus, I only ever have GPU: Intel HD Graphics 3000 listed (and the screen doesn't go crazy).

My concern is that by removing the AMD Kexts the reported over-heating and power management (battery drain) issues might crop up? That was what attracted me to the Ubuntu grub solution - but I am happy to deal with it if there's an easy way to ensure that the right Kext(s) are available / loaded without bringing the AMD GPU back on line.

If not, it sounds like I could just run the grub solution - and I assume just the Kexts back in finder? Or do I need to do that in Terminal for any reason?

cheers
 
Last edited:

alembic

macrumors regular
Oct 13, 2005
183
40
Because it only affects the grub blessing. The files stay in the same place.
The efi folder is only created to mount the EFI partition which already contains the files.
I've made it to step 4 but when I execute:

sudo bless --folder=/Volumes/efi --file=/Volumes/efi/EFI/grub/grubx64.efi --setBoot

I get an error:

Could not set boot device property: 0xe00002bc

Note: USB ports on my MBP are toast so I'm using a spare partition on the SSD for the GRUB files.
 

Swapnilsagarwal

macrumors newbie
Jul 13, 2010
11
2
@tmanx have you tried the updated guide with YOUR_UUID instead of <YOUR UUID>? If you try it, make sure you replace the contents of grub.cfg entirely on the step 3.4, otherwise you will probably edit the wrong menu entry on the step 3.5, and thats probably why you said earlier you didn't find where you supposed to edit the uuid and macOS didn't boot properly.


So I tried it on High Sierra 10.13.1....
Results -
NVRAM disable DGPU
removed kext file
This config works, no sleep, close lid issues.

GRUB -
it is unable to detect APFS volumes at boot. hence cannot read UUID of the boot volume.
Hence I think it currently is unable to work on APFS volumes.

@brainshutdown - I had moved those files permanently to EFI from thumb drive.
What is the process to completely remove Grub from machine? and disable bless
 

brainshutdown

macrumors regular
Jul 16, 2012
124
110
I've made it to step 4 but when I execute:

sudo bless --folder=/Volumes/efi --file=/Volumes/efi/EFI/grub/grubx64.efi --setBoot

I get an error:

Could not set boot device property: 0xe00002bc

Note: USB ports on my MBP are toast so I'm using a spare partition on the SSD for the GRUB files.

Thats a common error if SIP is enabled. Did you disable SIP(first step)?


So I tried it on High Sierra 10.13.1....
Results -
NVRAM disable DGPU
removed kext file
This config works, no sleep, close lid issues.

GRUB -
it is unable to detect APFS volumes at boot. hence cannot read UUID of the boot volume.
Hence I think it currently is unable to work on APFS volumes.

@brainshutdown - I had moved those files permanently to EFI from thumb drive.
What is the process to completely remove Grub from machine? and disable bless

For High Sierra, I believe this menu entry will work:

Code:
menuentry "macOS" {
   outb 0x728 1
   outb 0x710 2
   outb 0x740 2
   outb 0x750 0
   exit
}

This defaults back to booting macOS on my machine, and the hack still works.
If you you want to remove from the EFI partition, then try this:

Code:
cd /Volumes
sudo mkdir efi
sudo mount -t msdos /dev/disk0s1 /Volumes/efi
sudo rm -rf /Volumes/efi/boot/
sudo rm -rf /Volumes/efi/EFI/grub/
[doublepost=1509615046][/doublepost]
Currently on 10.9.5 No massive desire to upgrade - would rather it was just working.

I'm assuming the previous fix has worked as I have found the AMD Kexts that I moved out of Library/Extensions (so that did happen at least), I have a good quality screen - and whilst I can select 'Discrete Only' in gfxCardstatus, I only ever have GPU: Intel HD Graphics 3000 listed (and the screen doesn't go crazy).

My concern is that by removing the AMD Kexts the reported over-heating and power management (battery drain) issues might crop up? That was what attracted me to the Ubuntu grub solution - but I am happy to deal with it if there's an easy way to ensure that the right Kext(s) are available / loaded without bringing the AMD GPU back on line.

If not, it sounds like I could just run the grub solution - and I assume just the Kexts back in finder? Or do I need to do that in Terminal for any reason?

cheers
Yes, you can use finder to put the kexts back if you want.
 

nasmai

macrumors newbie
Nov 2, 2017
7
1
For everyone interested I've created a github gist with the instructions for booting with grub without installing linux:

https://gist.github.com/blackgate/17ac402e35d2f7e0f1c9708db3dc7a44



The grub solution doesn't have any of the problems you described. It can boot, sleep, shutdown and restart normally. It even works without removing the AMD kexts and doesn't need the login hook. I've been using it for about a year now, and haven't had a single crash.


Hi, i'm using my MacBook Pro 2011 without any serious problems as your solution.
Thank you. But there are some questions to ask.

It takes quite a long time to power up and boot into Grub.
I wait almost 20 seconds on a white screen and then enter the Grub Menu.
Is there any way to shorten boot time?

And after returning from Sleep, the overall temperature rises,
Is there any solution for this?

If these are solved, I think I can use MacBook Pro 2011 almost perfectly.
 
Last edited:

tmanx

macrumors newbie
Nov 1, 2017
22
3
Yes, you can use finder to put the kexts back if you want.

Cheers for that. I've seen so much good and bad written about the loading and issues related to AMDRadeonX3000.kext for temp and power management I'm likely to give grub a go. This is mainly as the faulty mac is used by my daughter - and if the kext is causing sleep or issues - or needs to be loaded after shutdown - she won't be able to handle the tasks that need to be done etc.

I'll probably move the kexts back after the successful implementation of grub in single user mode. This is both because I've read about permissions and cache issues using finder - and I want to make sure they end up back in the right place! - I think the code below will do this:

mv /AMD_Kexts/AMD*.* /System/Library/Extensions/
touch /System/Library/Extensions/
reboot

Could I just do that in terminal instead (minus sudo)?
[doublepost=1509628485][/doublepost]
It takes quite a long time to power up and boot into Grub.
I wait almost 20 seconds for a white screen and then enter the Grub Menu.
Is there any way to shorten boot time?

And after returning from Sleep, the overall temperature rises,
Is there any solution for this?

@brainshutdown What is the expected behaviour with grub? Should this affect boot times / temps? Are we booting MacOS or something else - i.e. what is the user experience? As noted - this is for my daughter so I need the process to be as seamless as possible to ensure it's user friendly for a kid.

Cheers
 
Last edited:

alembic

macrumors regular
Oct 13, 2005
183
40
Thats a common error if SIP is enabled. Did you disable SIP(first step)?
D'oh! I did not. Thanks! I'll be re-enabling SIP after installing grub, so I just have to remember to disable it again before re-blessing grub after an upgrade to High Sierra.
 

Schmye Bubbula

macrumors member
Jul 24, 2009
40
1
...after returning from Sleep, the overall temperature rises...

nasmai, after waking from sleep and you observe it running hotter, would you please enter into Terminal:
Code:
kextstat | grep AMD
...and list any kexts? (It may show nothing.)

I want to see whether the AMDRadeonX3000.kext somehow got loaded upon wake from sleep. If not, then I wonder what accounts for the temperature rise, and its connection with sleep.
 

Schmye Bubbula

macrumors member
Jul 24, 2009
40
1
^ Thanks; that rules that out. I hope somebody will be able to get to the bottom of this.... Maybe wake from sleep somehow starts the discrete GPU chip, and it runs at full blast, as with the other procedures in this thread when the AMDRadeonX3000.kext is removed (even though the GPU is otherwise is "unseen" by the Mac OS with this grub procedure).

Meanwhile, you might want to run Macs Fan Control.
 

nasmai

macrumors newbie
Nov 2, 2017
7
1
^ Thanks; that rules that out. I hope somebody will be able to get to the bottom of this.... Maybe wake from sleep somehow starts the discrete GPU chip, and it runs at full blast, as with the other procedures in this thread when the AMDRadeonX3000.kext is removed (even though the GPU is otherwise is "unseen" by the Mac OS with this grub procedure).

Meanwhile, you might want to run Macs Fan Control.

Thank you for your advice... and perhaps it seems to be a reasonable analysis.
After waking from sleep, the temperature of the 'GPU Diode' on the macs fan control gets hot again, and the overall temperature also seems to rise.
I also hope that someone will solve the final problem of this.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.