Firstly I just want to thank everyone in this community. It's thanks to this site with it's information provided by the community that has made this possible.Update #1 - Now working with OS X 10.10.4Update #2 - Internal display working (no need for external display) - No performance loss, no paid software and still have sound
Update #3 (27th September 2016) - No longer using Windows 8.1 on EFI, now using Windows 10 on Bootcamp (BIOS)So here is my guide!I have a Mid 2012 15" Macbook Pro Retina with Intel HD4000 + GT650M inside.I am running Windows 8.1 Pro which was installed via EFI (Not Bootcamp).This guide requires no extra software (you get plug and play eGPU) and no soldering.Parts list:1x Akitio Thunder21x MSI GTX970 4G Gaming1x Dell DA-2 220w power supply2x PCI-e 6-pin Male to Dual 6-pin Female Power Y cable splitter1x 5.5mm x 2.5mm DC barrel screw terminal adapter1x Electrical tape
1x Hair Clip
1x 6pin to 8pin PCI cable (provided with graphics card as mine is 6+8pin)
Cost: £429.02 ($668.03 / €601.07)First off, the software:I used bootcamp to create a USB stick with Windows 8.1 Pro on it. Do not get the bootcamp software! (This caused the first problem for me later).I then installed Windows on my Mac via the EFI boot option. I followed this excellent guide right here: https://www.reddit.com/r/mac/comment...bootcamp_guideThis was a long process as it meant making an up to date Time Machine backup of my OSX, wiping the whole drive, installing Windows and then reinstating OSX from my backup, so this took some time.The next step is getting the drivers in Windows. If you have the same Mac as me, remember this! Usually if you install Windows via bootcamp for this model, you would use the 5.1.5621 bootcamp software. Do not do this. To get my drivers working in Windows I had to use bootcamp drivers from version 5.0.5033 instead of version 5.1.5621.Also before you install those, go ahead and remove the Nvidia folder. Go into the bootcamp folder, into drivers and delete Nvidia. Now you can proceed to install the 5.0.5033 drivers.A known issue with this model when installing Windows in EFI mode is you will not have sound on the internal speakers. I am 99% that there is no way to fix this issue. However due to the fact that also with this model Optimus does not work, meaning you must use an external display, this problem is then solved as you get sound via the sound device built into the graphics card.So that's it for software. The benefit to installing Windows in EFI mode is that it makes the eGPU plug and play!Update #1 - I now have my eGPU successfully running in OS X 10.10.4 too. Thanks to @goalque and his excellent script which automates the whole install process.The eGPU will only work with an external screen connected however. You must connect from the eGPU to the display (not from the Macbook to the display).The only thing to note here is that under 'Displays' in the system preferences, my Mac told me that the GT650M was powering the external display but it certainly was not. Also under system information you should see you eGPU and your display will be listed within that.Hardware: First thing is to connect up the power cables. It's pretty simple and requires no soldering at all.You can see my photo below and a shitty diagram I made too. Feel free to reply if you need help explaining this.If you have the paperclip/hairclip in the right place you will get a green light when switching it on like in the picture.Then it's was as simple as plugging the graphics card into the Thunder2 enclosure, and connecting it all up.Next I switched on the power for the eGPU, plugged the Thunderbolt cable in and switched on my Mac, proceeding to boot in to Windows.First off it was not being recognised at all in Device Manager. (It should show up under display adapters).The solution after much frustration was to simply plug it into the other Thunderbolt port on my laptop and plug it into the other Thunderbolt port on the Thunder2.Then upon bootup I was greeted with 3 devices under display adapters. Happy times!The final step was to install the drivers.I downloaded the Nvidia drivers for the card from the Nvidia website and proceeded to install them. Half way through instillation - black screen - followed by system crash and reboot. Bad times.I booted back into Windows again, went into Device Manager and under the display adapters I disabled the GT650M, then tried to install the drivers again and it worked. Upon reboot the Device Manger showed all three graphics cards (named correctly) as well as GeForce Experience showing the GTX970.So that's about it!I installed MSI Afterburner and 3DMark and played around with the clocks. I managed 8923 in Fire Strike 1.1 before overclocking and 9677 after. But oddly the results show up as from my GT650M. The card does show up on the results page as a secondary card though, and of course there is no way my GT650M would get that score! Also the clock speeds in the results for the GT650M are my clock speeds for the GT970. A little weird but I don't really care about that.Update #2 - Internal display working (no need for external display)So the two main limitations with this model of Macbook are the fact that you need an external display, and that you have no sound with an EFI Windows instillation. So I got around those limitations with this little device and three resistors:It's a HDMI to VGA adapter with audio out. You can see the audio out here:All you need to do is put 3x 75ohm resistors inside the VGA port to create a fake external display. You can see where the resistors need to go with this image:So the deal with this is, any program started on the 'external screen' (being powered by the eGPU) will use the eGPU. So what you'll want to do is set the fake display as your main display. Then anything started on that display will be running from the eGPU. Now there is a little limitation here; only games that run in windowed mode will work (which is most). You'll want to start the game on the fake screen in windowed mode and then drag it over to your internal display.So how do you grab from a display you can't see? Well, I found this free program called Dual Monitor Tools (it's free right here: Dual Monitor Tools - Home )and what you can do in this program is set a keyboard shortcut to move the selected window over to the other display. So you click on the game in the task bar, and hit the shortcut you assigned and it'll pop over to the internal screen, but because it was launched on the fake screen, it'll be powered by the eGPU.Simple as that, there's no performance hit either as you're just dragging the game to the other screen.A good tip is to have the internal display set as default first, launch the game, go to options and set the game to windowed mode now, then quit and relaunch after you've changed the fake screen as your primary. Otherwise you might not be able to switch it with the shortcut while it's in full screen.An issue I have: I don't know if this will apply to others but I simply cannot boot in to Windows with my GT650M activated. My startup process is very odd, so I'll document it incase others have to do this.To make my Windows even boot, I must have my GT650M disabled in device manger. But when I do this I cannot boot without the eGPU plugged in at all.So what I have to do is make sure my GT650M is down (boot in safe mode to do this the first time, no need for eGPU attached when doing this).Then with the eGPU plugged in, start up my laptop and chose the Windows boot option. The only way I know that Windows has successfully booted is the spinning white dots under the Windows logo on bootup will freeze. When my internal display freezes, I know Windows has loaded (this is when the desktop would appear on the external display) but of course we can't see that because it's a fake display.So once the bootup freezes, I wait until my keyboard backlights come on, then I know the desktop has loaded on the fake display. (Or just wait about 10 seconds after the freeze). Now the next step is to activate the GT650M in device manger so that my internal screen works. Now for this I did the process on a proper external display to learn the key combination to do it blind. For me it as follows:(Press START - cmd key)type: device manENTERTABDown arrow x8ENTERTABENTERENTERAfter I have done that, the frozen Windows logo will disappear and the screen will flicker for about 5 - 10 seconds before displaying my desktop. Success! I can now control Windows from my internal display. Opening up the resolution tool will show 2 displays, the internal, and the fake external.The only thing to remember is when I'm done, I must deactivate the GT650M in device manager again before shutting down. Deactivating it will not shut off the internal display, so it's not a problem to do that and shut down.So that's it. I hope you don't have to do that process, but for me, that's the only way to do it. it's a slight pain but not too much bother, and it's certainly great not to have to use an external screen!
Update 3 (Removed EFI Win8.1, now using Win10 BIOS):
So I decided I want to use Windows 10 now for DirectX 12 gaming. This was a pretty simple process to setup. Hardware-wise it's all the same as above, software-wise is as follows.
Get yourself a copy eGPU Setup 1.2 (not 1.3). Big shout out to @Tech Inferno Fan for making it.
If you don't have EFI Windows on your Macbook, continue to the next paragraph.
I had to wipe my whole mac hard drive clean as the EFI partition of Win8.1 gets installed before OSX. So I made a Time Machine backup. Now to wipe the whole hard drive you must boot from a USB otherwise you can't wipe the drive you're using with the recovery on it. But I really didn't want to download 4GB or whatever size the latest OSX is just so I can use the recovery option (I don't need OSX as I'm using a Time Machine backup with it already). What I did was downloaded a piece of software called Carbon Copy Cloner (you can get a 30-day free trial), on here you have an option to clone the Recovery HD partition from you MacHD to another drive (in this case a USB). So I did this saving me the time of downloading the whole OSX just for it's recovery.
So all there was to do next is boot the recovery from the USB, wipe the entire drive and restore from my Time Machine backup.
Once in OSX load up the Bootcamp Assistant, plug in a USB (8GB or bigger), burn on Windows 10, download the drivers and create a Windows 10 installation. It's pretty straight forward with Bootcamp, just follow it all until you're in Windows 10 on your desktop. Once on the desktop I installed the Bootcamp software and shut down the system. I then plugged in the eGPU (not sure if you have to but I felt I should while installing the drivers for it), booted back up and installed the latest Nvidia drivers for my eGPU then shut the system down again. For the next steps I basically followed @w4vz's guide. Particularly just this part (I made some slight changes to parts that didn't quite translate to what I was seeing on my screen, I underlined the ones I have modified):
Unzip eGPU Setup 1.2 to c:\eGPU
run setup-disk-image (as admin user)
Restart and load eGPU Setup 1.2, select option 2
Do PCI compaction all exept sata etc etc. After it's all done make sure you have PCI WRITE and ALL ALLOC showing yes on the right side panel
Optional: If freeze at the bootloader: edit PCI.BAT replacing a:x.x and b:x.x with 0a:x.x and 0b:x.x (I only found A occurences in mine) (in the editor alt/option+F to access the file menu)
Optional: If the settings are not kept after reboot: edit Startup.bat by adding REM in front of all "call vidinit" like so: REM call vidinit... (in the editor alt/option+F to access the file menu)
Run startup.bat, then Test
Run Chainloader, then Test. After this you should be taken back to the main menu
Select eGPU Setup 1.2 again and now select (default) option 1
From now on all you need to do to get your eGPU working is boot Windows, select eGPU Setup 1.2 and press 1
Any questions just ask and I'll help in any way I can.