Mid-2014 15-inch MacBook Pro 750M Master Thread
The 2014 15-inch MacBook Pro 750M
Full system specifications: https://support.apple.com/kb/SP704
The 2014 15-inch MacBook Pro with the NVIDIA GeForce GT750M can be one of the most troublesome eGPU hosts and plays well in only certain scenarios. This master thread is an encapsulation of all my discoveries regarding this Mac.
As of writing, the latest version of macOS publicly available is Catalina, 10.15.2. The recommended eGPU configuration for this is to use an AMD eGPU with a Thunderbolt 3 enclosure (see Buyer's Guide), and Apple Thunderbolt 3 to Thunderbolt 2 adapter. You will require purge-wrangler to ensure that the eGPU is set up correctly. If you are intending to use an external monitor connected to the eGPU, then you will also require purge-nvda. The use of purge-nvda causes multiple anomalies, including but not limited to:
- Loss of sleep and brightness controls on the internal display.
- Loss of clamshell mode and deep sleep, which may require force shutdown.
- Loss of video output from the Thunderbolt and HDMI ports of the Mac.
- Loss of discrete GPU, which needs to be deactivated for the external monitor to work over an AMD eGPU.
- Power draw from the discrete GPU, even if inactive.
You may choose to combat these issues by following a build meant for a similar Mac that makes use of more complicated procedures to ensure that the aforementioned issues do not occur on disabling the discrete GPU: https://egpu.io/forums/builds/MacBook-pro-15-retina-mid-2012-razer-core-x-with-rx-580-and-functional-sleeping-waking-up-and-brightness-control/
It is possible to entirely automate and probably simplify the procedure used in the linked build. However, I have not investigated further due to lack of time, incentive, and the Mac itself, as I switched in 2018.
One other option is to compromise on performance by connecting your external monitor directly to your Mac, and avoid having to use purge-nvda and thus avoid those anomalies.
If instead of an AMD GPU, you happen to have a Kepler-class NVIDIA GPU which you would want to use, then you are in luck because you will only need purge-wrangler or automate-eGPU EFI and can get by without any of the complications above.
If you want to use a newer NVIDIA GPU, such as Maxwell or newer, then you must adhere to three important constraints:
- Use macOS High Sierra or older.
- Use a special boot procedure every time you wish to use the eGPU.
- Be subject to some or all of the above complications mentioned above as purge-nvda will be required.
I recommend avoiding this configuration as much as possible. Note that the boot procedure can possibly be avoided if you use a Thunderbolt 2 enclosure instead. This configuration is also basically impossible to use with bootcamp, unless you use a Thunderbolt 2 enclosure.
With Bootcamp, the situation is simple: As long as you are not using a Maxwell or newer NVIDIA GPU, any eGPU will work normally as long as you boot with the eGPU plugged in. All you need to do is install the correct drivers for the eGPU, unless Windows hasn't already done so within minutes - though you may still want to update them. This Mac does not support hot-plugging thunderbolt devices in Windows. One exception where a Maxwell or newer GPU may work is with a Thunderbolt 2 enclosure such as the Akitio Thunder2.
To conclude, this Mac can be a pain depending on your eGPU. The no-pain setup for this Mac is to use a Kepler GPU such as the NVIDIA GTX 780, which still supported as of Catalina. But those cards may not be powerful enough, in which case, the next best scenario is to use an AMD eGPU. Explore more in the builds table.
Thank you for sharing! I have this setup and have just been dealing with the issues caused by purge-nvda. Didn't know there was anything you could do to try to resolve them. I'll have to give it a try.
I'm using this particular MBP and eGPU with AMD cards (even with Navi) works right off the bat for Win 10 (1803). I'm not brave enough to try Catalina.
The first card I tried with my eGPU box (Sonnet Breakaway 350) is Sapphire RX 580 and it worked perfectly with High Sierra, Mojave and Win 10 (1803). For Mac OS I had to deploy @mac_editor's purge-wrangler and purge-nvda, but these are two very straightforward procedures given all the detailed tutorials. For Win 10 it's just plug'n'play, no nasty error 12 encountered.
As I'm using a 4K screen, I purchased a RX 5700 during Black Friday. At first I was skeptical and not sure if it could be used as Sonnet's official support document explicitly mentioned at least Win 10 (1809) is needed. However, it also ran without any problem, still a plug'n'play under my Win 10 (1803).
Since I'm gaming under Win 10, I didn't really need my RX5700 under Mac OS but still I wanna know if anyone having this particular MBP has upgraded to Catalina and your experiences about it. Did Catalina break your bootcamp?
I believe you should be okay on Catalina, but since I do not have this machine anymore, I cannot provide evidence myself. Last update was here: https://egpu.io/forums/mac-setup/nvidia-workaround-for-high-sierra-egpu-acceleration/paged/9/#post-66460
Although the Mac isn't exactly the same, they behave similarly. I don't anticipate Catalina causing issues with bootcamp on this Mac (but again cannot provide the evidence).
How is gaming with this laptop and egpu? I mean, CPU is pretty old for current times, and at least for me, on summer with the hot the laptop is throttling (I think this is because 750m on windows but not sure).
Anyway, do you know if the "Razer Core X" is working with this laptop?
Hi mate! I know u have done a lot of great work here! Thank you, this is my first post and i wanna ask if u could undervolt your mac's 750m gpu? I know about volta and made nice undervolting via -75 + power limit to 40w. What about gpu? Any tricks?
Hi, I am not familiar with any undervolting methods for NVIDIA GPUs on macOS. Perhaps searching on Hackintosh forums might provide more insight.
The only thing I’ve made relating to the 750M is a way to disable it (not undervolt).
I think i missed the point that i cant use normally any eGPU + External monitor cuz of my 750m...Crap...
So under mac os i need to go with loop connection with EGPU + normally connects my monitors?
Just an update. I accidentally upgrade my 2014 MBP from Mojave to Catalina and my Bootcamp Win 10 still works without any problem while connecting with an eGPU. No hotplug is needed.
After researching various build posts (linked from the "builds" table), I went ahead and picked up a Razer Core X to use with my 2014 MBP. My main goal is to use it with Boot Camp. The GPU I'm currently using is a GTX 660Ti, and I may soon be upgrading to a used GTX 770, thanks to a friend. These are both Kepler cards.
In any case, it seems to work reasonably well in Boot Camp without too much effort. All I had to do was:
- install boot camp - I wanted a fresh re-install of Win10 without disrupting my Mac partition, so I used the EFI boot that was available in my alt-key boot menu when my Windows 10 thumb drive was plugged in; this got around the "this disk cannot be used" error for my Boot Camp partition
- Unlike my original Boot Camp install (several years old at this point), I set a System Restore point
- Installed the Boot Camp drivers
- Ran Windows update until it wouldn't run anymore
- Plugged the Razer Core X into the Macbook via the TB3->TB2 cable
- Installed the Geforce drivers (442, I think; whatever was current as of Feb 20,2020 ....aka yyyymmdd: 20200220)
- Rebooted; stuff seemed to work. However, while my external display (plugged into the Razer) is clearly running on the 660Ti, the internal display is using "Windows Basic Display" -- I can't set the resolution, I can't use the dimming keys, I can't turn the backlight off. It's rather annoying. Performance seems to noticeably improve when I set my Display Settings to "Display only on Display 2" (the external). I'm not sure if the performance hit is coming from the eGPU driving the internal display? Or just the additional overhead of the internal GPU (not sure if it's picking up the GT750M or the intel chipset).
- I downloaded DDU and booted into safe mode to run it; set it to uninstall nVidia GPU drivers; then rebooted and reinstalled the Geforce drivers; same result
Last night, I tried playing Elite: Dangerous for about 20 minutes, and after I quit and left the room, and came back, suddenly my external display was no longer working. Device Manager showed a problem with the 660 Ti. A number of reboots and power-down/power-ups (of the laptop, of the enclosure) and re-plugging of cables did not fix anything. It was ultimately fixed by booting into safe-mode, running DDU again, and reinstalling the Geforce drivers. This brought me back to where I was.
So right now, my main outstanding issue is that:
- I'd really like to turn off the backlight of my internal display - it's just displaying a black screen
- alternatively, I'd like to enable either the GT750M or the intel chipset with the correct drivers and see if that helps retain performance and the internal LCD controls while netting me an additional display (the internal one)
Since I want to use this for gaming, getting the internal display to work as a screen isn't critical. I'd be just as happy to see it properly "off". I don't like the idea of just running it like a curtained nightlight. My plan is to try getting one of the EFI boot loader solutions that can be used to boot into boot camp, which (presumably?) disables the GT750M. Hopefully Windows can do a better job using the GT660Ti alongside the intel chipset, since the Geforce drivers don't seem do it correctly.
Does anyone know how to disable the internal display backlighting while in boot camp?
edit: Happy to say that I've solved my main problem, but in the process created another question. I was able to get both the 660Ti and the 750M to behave by installing an older Geforce driver (v325, the one recommended by nvidia.com for the 750M). Now I can finally fully adjust my internal LCD, including having it fully shut off!
My only question now is whether or not it's worth it to investigate an apple_set_efi type solution to disable the GT750M in favor of the iGPU, and use that in conjunction with the 660Ti on current drivers? I doubt the more recent drivers would provide any benefit to such an old card (the 660Ti), but...maybe?