Archive

Archive for June, 2020

Ditching MacBook Pro Graphics

June 2nd, 2020 No comments

I recently dumped my 7 year old MacBook Pro for a latest 16inch i9 MacBook Pro. A Mid-2012 Retina 15inch model, which was hailing my 24×7 needs with a charm. I am not advertising, but MacBooks are a true long term value for money considering their life span and efficiency.

Even after using it for so long, I had no intentions to dump it. But, I was running into a very unusual issue, where my Macbook was suddenly turning off the screen in middle of operation. The only option left with me was to hard reboot it (pressing the power button for 5 seconds). And this was happening almost after every hour.

I got really frustrated, but after googling online I came to know the real reason behind it. The culprit was a faulty GPU. Now just as a background a high end computer comes usually with two GPUs. One is the low power consuming and low performance integrated GPU (called iGPU) and another high performance power hungry discrete GPU (called dGPU). MacBooks have an inherent OS level method of switching between the two GPUs as and when required. Like if you are doing some simple browsing or listening to music, then it will turn off dGPU and work only with iGPU. Saving a ton of battery and giving you a the same experience. But as soon as you start a graphic performance app like games, or photo/video editing, it will switch to dGPU. All this happens in milliseconds and user will not even notice this change.

In my case, iGPU was fine, but dGPU became faulty. So, as soon as something pops up that is graphic demanding the Macbook will run into an error. And even sometime the Macbook will run into the same error just during booting making everything more troublesome. It became almost unusable as it will run only for 15min to 1 hour max.

This is really frustrating, as I cannot MacOS does not give option to restrict only iGPU usage (it gives option to work on dGPU only). So, how to correct this error? Although, I have another Macbook now, but still I am curious on how to troubleshoot this once for all.

So after careful research (googling) I found that I was not alone and this is a very common issue. And thankfully there are dudes like dosdude1, who have listed a way to stop this. The troubleshoot was simple, “make you Macbook to believe that it doesn’t have a dGPU”. Sounds promising, but how it should be done? And the answer is re-programming NVRAM (MasOS fast boot software) so that it will not boot dGPU only.

This will obviously restrict the power of Macbook (power which is causing trouble) and will become a bulky MacBook Air with i7 + 16GB + much better processing speed.

I don’t game on my Macbook so its not a bad deal. At least I will extract something out of it (and make it usable).

The workaround is very simple and kind of permanent. So here it goes:

Important Notes:

  • After performing the steps below, sleep mode and brightness control will NOT work properly at all on your system.

– First, ensure your machine is completely shut down.

– Reset the SMC by pressing Control + Option + Shift + Power key.

– Now, we have to boot the machine into single user mode. This can be done by pressing the Command + S key. As the system boots, it should display white text on a black screen (just like a DOS or Terminal Window), and should eventually stop at a prompt.

– At this prompt, enter the following command and press Return:  

– This command is a crux of everything, it is telling the NVRAM not to use dGPU. Make sure that the weirdly written text is correct. You may try to write this code twice to ensure that it is written correctly. (Your Mac will not give any error if there is any writing mistake)

– Next, type  reboot,  and press Return. 

– Immediately after running the reboot command, hold down Command + R to boot into Recovery Mode. If you don’t have a Recovery Partition, you can boot from a Mac OS installer USB drive. (Google “create MacOS USB recovery drive” if you have to)

– Once booted in Recovery Mode, open Terminal, and run the following command:  csrutil disable

– Reboot the system.

– Once the system reboots, it should now successfully run MacOS. Now, you’ll need to download the program found here.

– Run the program, follow the prompts, and enter your password if prompted.

– Once the tool finishes running, your system should now run without the dedicated graphics (dGPU), and should work completely normally.

I hope this work around would have helped you. Do let me know your experience in the comments.

It worked perfectly in my case, but needless to mention, I am not responsible for your laptop. Try this at your own risk.

Categories: Uncategorized Tags: