2014 15" MacBook Pro (GT750M) [4th,4C,H] + RX 580 @ 16Gbps-TB2>TB3 (Sonnet Breakaway 550) + macOS 10.15.2 [Abrown]
System specs (model inc screen size, CPU, iGPU, dGPU, operating system which eGPU is being used)
- MacBook Pro 15" (Mid-2014)
- CPU: 2.5 GHz Intel Core i7 (i7-4870HQ)
- GPU(s): Intel Iris Pro 5200, NVIDIA GeForce GT750M
- macOS 10.15
eGPU hardware (eGPU enclosure, video card, any third-party TB3 cable, any custom mods)
None at this time.
Installation steps (what did you do to get it all going?)
- Use purge-wrangler.sh
- Use purge-nvda.sh
- Using an external display. Chose option #1.
- On restart Make sure external display is unplugged or purge-nvda.sh will cause boot issues.
- boot issues were fixed using the ⌘-S boot recovery text listed in the purge-nvda.sh gitub page.
- run purge-nvda.sh and check with option #4 to verify that the patch to disable nvdia cards is activy
- Verify that when an external display is plugged in that nvidia card is not active (use iStats Menu 14 day free trial)
- verify that when eGPU is plugged in (iStats Menu) that external monitor is running the eGPU
Hot plugging/ unplugging works great!
If using an external display on Mac OS on an external display see below.
Have not run benchmarks at this time
Comments / External Display
Unplug external display / eGPU if restarting the Mac. Plug back in after the mac has started up all necessary apps. Boot issues have occurred for me, but are resolved when the monitor (powered by the eGPU) is disconnected.
If using this configuration on MacOS internal display will stay on even in clamshell mode when external display is main display.
This is annoying to me, and also slows the graphics down.
I fixed this using a combination of apps and scripts. Required Apps:
- Fast scripts
- Launch SwitcherResX which eGPU powered monitor.
- launch SwitcherResX deamon, and set to launch at login
- record an automator application (watch me do) and Click the menu bar switcherResX deamon
- Color LCD display --> Disable Display
- stop recording
- change the playback speed of the Automater workflow to 10x and save as an application in /Library/Scripts
- Save as Kill Retina Display
- Repeat the Automater recording task to enable color LCD display
- Save as an application file as "Wake Retina Display" in /Library/Scripts
- Launch Fast Scripts and set as automatically launching in the menubar at login
- load the two automater apps and test in fastscripts
- Last step here is to automate the disable of the retina display when a specific display is recognized, via Control Plane
- in my case I am only able to automate "Kill Retina Display", the control plane mediated "Wake Retina Display" fails when I disconnect the eGPU. I think this is because for the workflows to run they need an active screen. Since the Laptop screen is disabled and when the eGPU is attempted to be disconnected the command fails because there is not an active display open long enough to get the command to turn back on the laptop display.
- In control plane set up a context within Automatic called "Kill Retina Display"
- Evidence Source "Attached Monitor"
- Rule -- Type: Monitor, Description: External Monitor Detected, Context: Automatic/Kill Retina Display, Confidence: 78%
- Actions -- Type: Open File, Discription: Kill Retina Display, When: On arrival, Context: Automatic/Kill Retina Display, Delay: None.
- result should be that when the eGPU box is connected the internal LCD Retina display is on until the external monitor is connected then 5 seconds later the Kill Retina Display script is triggered through ControlPlane and the Retina display is disabled automatically!
- Works 90% of the time for me sometimes it gets confused and I have to trigger the command from the fastscripts panel, but that is pretty quick too. So it's not a perfect solution, but it does save me time.
If you are confused and cannot get scripting to setup properly PM me and maybe I can update this with images / a video at a later date.
With the internal NVIDIA GeForce GT750M card disabled I did see that there are persistent issues with the computer shutting down when the screen is asleep. Meaning if you close the screen for 5min or more or let the computer fall asleep on its own the computer will need to be turned back on. Reseting PRAM and NVRAM won't fix this. However uninstalling the NVIDIA script using single user mode brings everything back to normal.
Not sure if I can answer that as I don't have a windows partition on this computer. There are a few other people who report with the same or similar conformations of hardware that have run bootcamp and I believe they say it works:
Hi, thanks for posting this as I'm considering a similar build for my 2014 macbook.
Can you confirm whether the eGPU can be used just with the laptop internal screen - eg without using an external monitor?
Almost all the builds I've seen mention using purge-nvda.sh _if_ an external monitor is being used, which suggests it's optional (if presumably preferred by most). As I only would get any use from an eGPU if no external monitor is required so I'd quite like to know this _before_ buying all the hardware
I see no reason why it would be a problem, but would appreciate the confirmation.
eGPU works with the laptop internal screen. So i think the purge-nvda.sh script is optional for you. I seem to remember that once purge wrangler.sh detects the eGPU you should be good to use the eGPU as the primary graphics card using just the laptop screen without purge-nvda.sh. If you don't plan on using an external monitor I believe purge-nvda.sh is not required. After you install purge-wrangler.sh you can test if the eGPU is working using Activity monitor or bette yet the Stats Menu (7 day free trial). Regardless the eGPU will work fine without an external monitor.
You might still want to use set-egpu.sh to set your preference to use eGPU if it is available. Just have to run it once and it will run what looks like an automater script to set this preference to all your applications