Original Author: tranj10
After two weeks of fiddling around with my eGPU setup I have finally found a method that works well with my hardware. There are many suggested modifications on this forum (Evo*'s modified boot files, DSDT overrides*see note bottom of post, DIY eGPU setup), but it seems that these modifications are not necessary for the 2015 13" MBP. The setup includes easy plug-and-play hardware setup, fairly easy software setup (little bit of command line), and installation of Windows 8 on an external drive.
Many users with 2015 MacBook Pros seem to have trouble booting up consistently with the eGPU on 2015 MacBooks, so hopefully the power up process I've found works on other MacBooks.
AKiTiO Thunder2 PCIe Box
ASUS DC MINI NVIDIA GTX970 (fits in AKiTiO case without physical modification, but unable to close the case)
Dell DA-2 AC Adapter
Samsung T1 Portable SSD
Cables: These cables from ebay are what make the hardware just plug and play
- Do not use the PSU that came with the AKiTiO enclosure
- Really simple installation, just plug everything in (there aren't many cables and ports to figure out). Just make sure none of the 6-pin and 8-pin plugs are upside down, but it should be easy to tell.
Note that for my software installation below, everything was done right after I reset the MBP to factory settings.
eGPU and OS X:
Goalque's automate-eGPU.sh script makes OS X very easy to setup for eGPU use. (http://forum.techinferno.com/mac-os-x-discussion/10289-script-automating-installation-egpu-os-x-inc-display-output.html)
1) Boot into OS X without eGPU connected
2) Download automate-eGPU.sh and then move it to desktop
3) Press command + space and type in terminal to open up a terminal instance
4) Run the following commands in the terminal
- cd ~/Desktop
- chmod +x ./automate-eGPU.sh
- sudo ./automate-eGPU.sh
5) Go through the commands with "y" and then shut down
6) Go through the Power up process described below
Bootable Windows 8 on external SSD:
Follow this detailed guide (BleepToBleep: Mac: Install Windows 7 or 8 on an external USB3 or Thunderbolt drive without using bootcamp)
- In step 3 part 1, enter the command 'cd C:\imagex' (or wherever you put the imagex.exe file)
eGPU and Windows 8:
1) Boot into Windows 8 without eGPU connected
1a) Install Boot camp drivers if not done so already.
2) Perform Windows Update ignoring the suggested intel graphics update (not sure if ignoring intel graphics update is neccesary)
3) Download latest NVIDIA drivers
4) Power on eGPU and connect the thunderbolt cable to the MacBook
5) Check Control Panel > Administrative Tools > Device Manager > Display Adapters for a new display adapter entry
6) If nothing is there or you got a BSOD just restart MacBook and try again
7) Install NVIDIA drivers, selecting custom installation, and include all the options
8) Shut down
9) Go through Power up process described below
I sometimes run into a Windows 8 boot up hang, but they don't seem to happen often so just power off and try again.
Power up process:
This is the power up process I always use to consistently have a successful boot without any black screen issues.
1) Have everything powered off
2) Connect thunderbolt cable to eGPU and MacBook
3) Power on the eGPU power supply (use a power strip with on/off switch)
4) Wait ~15 seconds
5) Power on the MacBook while holding option key
6a) Select the boot partition you want
6b) If you run into a blank black screen:
- Force power off for MacBook
- Power off eGPU power supply
- Disconnect thunderbolt cable from MacBook
- Power on the MacBook while holding option key
- Boot into OS X, log in, and shut down
- Go back to step 1 (there will be no black screen issues for at least the next boot up)
- If you still are getting black screens after repeated tries then try a NVRAM clear (https://support.apple.com/en-us/HT204063)
- Note that the NVRAM clear does mess with the changes implemneted by automate-eGPU. So you'll need to run 'sudo ~/Desktop/automate-eGPU.sh -skipdriver' to re-enable the changes
- If the NVRAM clear doesn't help then try enabling -a mode with automate-eGPU by running 'sudo ~/Desktop/automate-eGPU.sh -a'
I have run 3DMark Fire Strike on the internal display and external display for the GTX 970 at stock manufacturer settings.
- There is a 18% difference between internal and external display graphics performance
- There is a 16% difference between external display eGPU and desktop GPU graphics performance
- The external display eGPU (stock settings) performance is on par with the top overclocked desktop GTX 960s
Here is a link to the comparisons: Results
- They are ordered as: Desktop GTX 970 (stock) | Desktop GTX 960 (overclocked) | external display eGPU GTX 970 (stock) | internal display eGPU (stock)
- The cpu is definately a bottle neck
Thanks to @goalque for all his help in getting my setup for the 2015 MBP up and running!
I would be interested in knowing if my power up process works for others out there, or if it's just a fluke. I am not sure if every step in the process is necessary (booting in OS X versus just waiting with everything off)
edit: I went through this procedure a second time for a clean install, and it still works mostly fine. For some reason now only the thunderbolt port closest to the MagSafe port works for eGPU recognition in Windows 8. Both ports are usable for eGPU in OS X though.
edit2: I am using the dsdt override as suggested here (http://forum.techinferno.com/diy-e-gpu-projects/7476-%5Bguide%5D-dsdt-override-fix-error-12-a-2.html). It doesn't seem to hurt or help, but I am just noting what I am using now.