2013 15" MacBook Pro (GT750M) [4th,4C,H] + GTX 1050 Ti @ 16Gbps-TB2 (AKiTiO Thunder2) + Win10 [nickadance]
Hi, everyone. I've just assembled this build yesterday and there are still some issues to iron out, so this is a work in progress. I will be coming back here in the following days with updates, but I'm glad to say it works!
Late 2013 15 " Retina MacBook Pro
i7-4850HQ @ 2.30MHz; 16GB RAM
Intel Iris Pro 5200 + NVIDIA GeForce GT 750M
Windows 10 Pro (initially installed with Bootcamp drivers in Legacy mode)
- AKiTiO Thunder2 enclosure with included TB2 cable -- eBay, $160 + P&P + import = £197.78
- Gigabyte GeForce GTX 1050 Ti D5 (rev 1.0/rev 1.1) 4GB -- zippytom.com, £193.37
- LEICKE 120W Power Supply PSU Charger | 12V 10A -- Amazon UK, £23.99
Total damage: £415.14
My first choice was actually the Zotac Geforce GTX 1050 TI OC, small enough to fit in the enclosure yet packing two fans, unfortunately the shop (pcupgradeUK) "sold" it to me despite not having it in stock. Couldn't get it anywhere else for a reasonable price. The Gigabyte model I got instead is also a great fit for the enclosure, at H=30 L=172 W=113 mm. It is powered entirely from the bus (only 75W), so no mods or tools were required.
Coming up soon.
My primary guides were https://egpu.io/forums/builds/late-2013-15-macbook-pro-gt750m-gtx106016gbps-tb2-akitio-thunder2-win10-offline /" target="true">this thread and this guide to "convert" to an UEFI boot. The one drawback is that, due to all the repartitioning, I ended up with a total of ~10GB of unallocated space. I may get round to fixing this at some point.
I installed rEFInd from OS X, and cloned a custom minimal theme onto the boot partition. After changing the config to spoof, I can now boot into Windows in two ways:
- Power on, rEFInd menu comes up. Select Windows - now the iGPU is visible by the system. Brightness control may or may not work.
- Power on by holding option (alt). Select Windows from the familiar menu. This is the good, old mode, where only the dGPU is visible.
Neat! Also, OS X can be launched from either boot menu.
I downloaded gpu-switch and placed the key files on my desktop for quick access. I also made a shortcut to the device manager.
Slotting the card into the enclosure was scary. Even getting inside the enclosure requires a fair amount of force. When putting in the card, at first, nothing clicked, the metal brace was sticking out a bit too far for me to secure it with the included screws, and the gold pins were half exposed. I had to use an unreasonable amount of force until the card went all the way in. Before I committed to it, for extra safety, I wedged one of the rubber-plasticky covers that came with the card in the small space between the PCIE slot and the metal of the enclosure. I felt that this would prevent me from snapping the slot off the enclosure's board. Fortunately, after enough force the card went in.
After that, I simply followed the guides linked before. Run integrated.bat, reboot, plug in enclosure at boot screen, install drivers, disable dGPU from device manager, reboot. It worked like a charm, and I went straight to benchmarking.
Using the Superposition test - everything driven by the internal display [imgur gallery here]
|GT750M dGPU||GTX1050Ti eGPU|
|dGPU - GT 750M||eGPU - GTX 1050 Ti (internal LCD)|
FPS: min 8.89, avg 10.44, max 13.00
FPS: min 30.02 (x 3.37), avg 37.30 (x 3.61), max 47.83 (x 3.67)
|1080p extreme (note: severely bottlenecked by memory)
FPS: min 1.97, avg 2.20, max 2.38
FPS: min 8.12 (x 4.12), avg 9.52 (x 4.32), max 10.97 (x 4.60)
FPS: min 21.43, avg 29.61, max 40.91
FPS: min 62.27 (x 2.90), avg 98.49 (x 3.32), max 141.51 (x 3.45)
The 1080p medium is probably the most fair comparison, and from it we can reasonably expect a 3.5x boost in FPS. Not bad, and using external monitors would likely see further improvement.
Judging by the leaderboards for this benchmark, we're running at no less than 81% efficiency when compared to a regular PC setup. That's pretty good!
As I mentioned, this is a work in progress, with plenty of issues to iron out.
- I wrote my own batch scripts with the intention to automate the enabling/disabling of GPU, but somehow unless I explicitly use the device manager GUI, I stumble across the dreaded error 12.
- Inconsistent boot - following my initial experience, I had to time plugging in the enclosure with the startup chime, and even then it's a gamble. Black screens can occur during shutdown, too.
- the GT750M is not recognised in OS X now, no matter how I boot it. Can't decide how important this issue is for me, but I'll try to fix it nonetheless.
- I don't know how stable the temps will be, considering I haven't done any modifications to the case.
Thanks to everyone in the community for your sharing your experiences and answering questions - couldn't manage the build without you.
Nice guide - quick question about one of your points that raised an eyebrow for me:
GT750M is not recognized in macOS now - do you not see it in the Graphics/Displays at all or its just that it never switches to discrete GPU?
Indeed, the GT750M is actually listed in System Information at all times – my bad. I noticed though that sometimes the system wouldn't switch to it, causing Chrome and dGPU-dependent apps like games to crash. I haven't been able to consistently replicate this issue until today. I am running 10.11.6, by the way.
Here are the steps I use to replicate the issue on my system:
1. In Win10 booted via rEFInd, enable the dGPU in Device Manager (for example, after finishing a session with the eGPU).
2. Shut down.
3. If the eGPU was plugged in, unplug it.
4. Launch Windows 10 through the rEFInd boot menu and use as normal (not sure if this step is necessary).
5. Reboot into OS X through rEFInd.
Now, OS X cannot use the dGPU. I have replicated this procedure in five consecutive tests. Each time, the resolution was the same.
6. Reboot into OS X again and the issue goes away. The dGPU can be used in OS X as normal.
After the five tests, I ran the procedure twice more, with some modifications:
a) In step 5, boot into OS X via the option (alt) key boot menu. This seemed plausible, and I have use this method to solve boot issues with Windows during the test. Alas, doing this did not make a difference.
b) After step 1, but before step 2, run dedicated.bat (included with gpu-switch). Now, when booting into OS X through rEFInd, I didn't have to go through an extra reboot – the dGPU worked straight away. I'd have to ran this a few more times to see if it's consistent though.