Below a guidance for eGPU's on Mac, because I've already done the work.
Pics below in post #12
A) Software
From the software point of view, it's easy. It's the same procedure and working with all OS X versions since Mountain Lion. However, I recommend to make a backup of your OS X before, if you are not used to do things like this. In Yosemite you have to disable KEXT signing before. And of course in El Capitan disable 'Rootless' too.
1) Choose the right NVidia web driver:
http://www.macvidcards.com/which-driver-should-i-install-for-my-new-gpu.html and edit Nvidia web driver installer to pass system checks:
https://forums.macrumors.com/thread...k-nvidia-drivers.1853748/page-5#post-20878271
2) Edit three KEXT's for tunneling Nvidia drivers PCI Express functionality to Thunderbolt:
/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext
Look for sections beginning with
<key>CFBundleIdentifier</key> and add just before </dict>, the two following lines :
<key>IOPCITunnelCompatible</key>
<true/>
Details for these three KEXT's attached below with this post.
Save the changes. I recommend TextWrangler for doing this the easiest way (the Internet-version,
not the AppStore Version!).
After editing the three KEXT's you have to rebuild cache:
Terminal: sudo nvram boot-args="kext-dev-mode=1 nvda_drv=1"
than restart and if not working yet, see the system log and try
Terminal:
sudo touch /Extensions
sudo kextcache -system-caches
Install the Nvidia CUDA driver, then shut down the Mac. Attach now the eGPU case via Thunderbolt to the Mac and start the Mac.
* You will see the screen once Nvidia drivers are loaded, no boot screen. You should now see the graphics card in the system profiler with correct name, e.g. 'Nvidia GeForce GTX 680', and all is fine.
**
* As eGPU are not hot pluggable you have always to completely shut down the Mac for connecting or disconnecting the eGPU. Once disconnected the Mac behaves like you never changed anything, for example takes the old monitor preferences. Connect the eGPU again and main monitor will be the one connected to the eGPU. It's like connect and disconnect an external display to the Mac.
** The above procedures work instantly for all Thunderbolt 1 Mac's if done right, for some Thunderbolt 2 Mac's I refer to Netcas:
http://forum.netkas.org/index.php/board,8.0.html
B) Hardware (needs more work)
Graphics card
All Nvidia GPU's supported from OS X or Nvidia web drivers. As you don't see the boot screen till Nvidia drivers are loaded you can use a vanilla PC Nvidia card, doesn't matter. AFAIK MVC has developed but not yet released a special eGPU EFI which can deliver boot screens.
Thunderbolt to PCI Express adapter
- When I began my first eGPU the only affordable adapter was the
PE4L (PCIE-expresscard):
http://www.hwtools.net/Adapter/PE4L V2.1.html together with Sonnet Echo ExpressCard Pro
http://www.sonnettech.com/product/echoexpresscard34thunderbolt.html You get an i/o speed around 400 MiB/s because of the restraints of PCIE expresscard. Enough for Desktop/2D, playing HD-movies via iTunes @1440p, and games @1'080p, maybe also 1440p (never tried).
This is possible because Nvidia drivers enable PCI-e compression.
At least with only PCI-E 2.0 x1 you can get 65% - 80% of the performance of PCI-E 2.0 x16:
http://www.computerbase.de/2011-08/test-grafikkarten-mit-pcie/4/
- My second adapter was the board of the
ThunderTek/PX (Thunderbolt 1):
http://www.firmtek.com/seritek/thundertek/chassis.php As it delivers only 25 Watt to the graphics card you have to connect a powered riser between graphics card and Thundertek/PX:
http://www.ebay.com/itm/24cm-PCI-E-...512?pt=LH_DefaultDomain_0&hash=item2a385e3908 You get an i/o speed around 800 MiB/s. Enough for all applications, even at 4K displays.
- Best solution now is the board of the
Akitio Thunder2 PCIe Box (Thunderbolt 2, compatible to Thunderbolt 1):
http://www.akitio.com/accessories/thunder2-pcie-box You get around 1'400 MiB/s, and lose ~3% of the performance compared to same graphics card connected to internal PCIE x16 in cMP.
PSU
An ATX-PSU appropriate for the graphics card (with PCI E 6 and 8 pin connectors)
Powered riser
A powered riser
with capacitor provides 75W to the GPU and also enough power to the Thundertek/PX or AKiTiO board, you don't need the Thundertek/PX or AKiTiO's power adapter at all.
http://www.ebay.com/itm/24cm-PCI-E-...512?pt=LH_DefaultDomain_0&hash=item2a385e3908
SWEX
To put the ATX PSU into operation:
http://www.hwtools.net/Accessory/SWEX.html
Case
I recommend an Elite 130 ATX case. You have all parts in one enclosure which is under the table and no one see's it. The Mac Mini on the table is connected to the eGPU via a 2m Thunderbolt cable.
If you use a PCI-E riser cable you eventually have to drill an opening into the ground of the case:
http://lab501.net/egpu-connecting-external-video-card-notebook-diy-implementation/all/1/
Some pics:
https://forums.macrumors.com/attachments/img_0386-jpg.537343/ and
https://forums.macrumors.com/attachments/box-1-png.530866/ and
https://forums.macrumors.com/attachments/gtx-770-mac-mini-png.530868/
This is not a complete and conclusive guidance. I am open to suggestions and ideas.
My opinion
Macs with iGPU HD 4000 or other weak GPU's benefit the most from eGPU. For example with my GTX 770 OpenGL (Unigine Heaven, setting extreme) performance is around 1250% faster than the internal Intel HD 4000 of the Mac Mini 2012. And this was with my first weaker PE4L adapter. Also having CUDA. Smooth like an internal graphics card:
https://forums.macrumors.com/threads/diy-egpu-for-mac-mini-2012-osx.1772495/page-2#post-20735233
View attachment 569453
An other benefit: You can connect a 4K monitor with a Kepler card or 5K monitor with a Maxwell card.
Further useful links:
https://www.techinferno.com/index.php?/forums/forum/83-diy-e-gpu-projects/
---------------------------------------------------------------------------------------------------