This is an instruction for OS X 10.8 Mountain Lion and OS X 10.9 Mavericks
Additional instructions for OS X 10.10 - 10.12 in post -> https://forums.macrumors.com/threads/building-external-gpus-on-mac-egpu.1893792/page-2#post-22013272
Thanks @ hkoster1 !
---------------------------
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
2a) Up to OS X 10.9: 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
2b) OS X 10.10 and newer: Disable SIP and edit six KEXT's for tunneling Nvidia drivers PCI Express functionality to Thunderbolt:
/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/NVDAStartupWeb.kext
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/NVDAResman.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext
/System/Library/Extensions/GeForce.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/topic,11122.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/
PCI-Express Scaling: https://www.techpowerup.com/reviews/NVIDIA/GTX_980_PCI-Express_Scaling/
- 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 cable with capacitor between graphics card and Thundertek/PX:

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
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/
----------------------------------
Update December 2016:
In the meantime more eGPU enclosures are available or in prospect:
- Akitio Node: https://www.akitio.com/expansion/node
Note: only working with Thunderbolt 3 enabler: http://forum.netkas.org/index.php/topic,11654.msg34210.html#msg34210 and http://forum.netkas.org/index.php/topic,11654.msg36297.html#msg36297
January 2017: Afaik the Akitio Node is supported by OS X, but OS X won't detect any GPUs. No workaround yet.
- Razer Core http://www.razerzone.com/gaming-systems/razer-blade-stealth (only working with Thunderbolt 3 enabler)
- Aktion Thunder 3: https://www.akitio.com/expansion/thunder3-pcie-box (only working with Thunderbolt 3 enabler)
- Bison Box 2s: https://bizon-tech.com/us/bizonbox2s-egpu.html/
- Bizon Box 3: https://bizon-tech.com/us/bizonbox3-egpu.html/ (presumably only working with some sort of Thunderbolt 3 enabler)
PE4C v4.1: http://www.hwtools.net/Adapter/PE4C V4.1.html (will be released in February 2017, prices are excessive at the moment because of warehouse relocation)
Note: All Thunderbolt 3 solutions are not plug and play, they have to be enabled and there are issues with Maxwell cards. Native Thunderbolt 2 enclosures seem to be better so far.
---------------------------------------------------------------------------------------------------
Update June 2017: In macOS High Sierra eGPU natively supported. No kext editing, no hacks, just plug and play.
https://forums.macrumors.com/thread...cially-announced.2048480/page-3#post-24658446
https://forums.macrumors.com/thread...cially-announced.2048480/page-4#post-24660316
New case: http://www.sonnettech.com/product/egfx-breakaway-box.html
Update November 2017:
New eGPU's from Sonnet: http://sonnettech.com/product/egfx-breakaway-puck.html
- Sonnet Radeon RX 560 eGFX Breakaway Puck
- Sonnet Radeon RX 570 eGFX Breakaway Puck
Additional instructions for OS X 10.10 - 10.12 in post -> https://forums.macrumors.com/threads/building-external-gpus-on-mac-egpu.1893792/page-2#post-22013272
Thanks @ hkoster1 !
---------------------------
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
2a) Up to OS X 10.9: 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
2b) OS X 10.10 and newer: Disable SIP and edit six KEXT's for tunneling Nvidia drivers PCI Express functionality to Thunderbolt:
/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/NVDAStartupWeb.kext
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/NVDAResman.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext
/System/Library/Extensions/GeForce.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/topic,11122.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/
PCI-Express Scaling: https://www.techpowerup.com/reviews/NVIDIA/GTX_980_PCI-Express_Scaling/
- 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 cable with capacitor between graphics card and Thundertek/PX:

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
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/
----------------------------------
Update December 2016:
In the meantime more eGPU enclosures are available or in prospect:
- Akitio Node: https://www.akitio.com/expansion/node
Note: only working with Thunderbolt 3 enabler: http://forum.netkas.org/index.php/topic,11654.msg34210.html#msg34210 and http://forum.netkas.org/index.php/topic,11654.msg36297.html#msg36297
January 2017: Afaik the Akitio Node is supported by OS X, but OS X won't detect any GPUs. No workaround yet.
- Razer Core http://www.razerzone.com/gaming-systems/razer-blade-stealth (only working with Thunderbolt 3 enabler)
- Aktion Thunder 3: https://www.akitio.com/expansion/thunder3-pcie-box (only working with Thunderbolt 3 enabler)
- Bison Box 2s: https://bizon-tech.com/us/bizonbox2s-egpu.html/
- Bizon Box 3: https://bizon-tech.com/us/bizonbox3-egpu.html/ (presumably only working with some sort of Thunderbolt 3 enabler)
PE4C v4.1: http://www.hwtools.net/Adapter/PE4C V4.1.html (will be released in February 2017, prices are excessive at the moment because of warehouse relocation)
Note: All Thunderbolt 3 solutions are not plug and play, they have to be enabled and there are issues with Maxwell cards. Native Thunderbolt 2 enclosures seem to be better so far.
---------------------------------------------------------------------------------------------------
Update June 2017: In macOS High Sierra eGPU natively supported. No kext editing, no hacks, just plug and play.
https://forums.macrumors.com/thread...cially-announced.2048480/page-3#post-24658446
https://forums.macrumors.com/thread...cially-announced.2048480/page-4#post-24660316
New case: http://www.sonnettech.com/product/egfx-breakaway-box.html
Update November 2017:
New eGPU's from Sonnet: http://sonnettech.com/product/egfx-breakaway-puck.html
- Sonnet Radeon RX 560 eGFX Breakaway Puck
- Sonnet Radeon RX 570 eGFX Breakaway Puck
Attachments
Last edited: