2013 13" MacBook Air [4th,2C,U] + GTX 950 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.10 & Win10 [sdedalus1] // Clover DSDT override
Quick look at my successful GTX 950 installation, with 100% boot success.
13-inch Macbook Air (mid-2013; MacbookAir6,2)
1.7 ghz i7 CPU (Haswell i7-4650U; boost to 3.1 ghz), 8GB RAM
Intel HD 5000 iGPU
Dell U2412M monitor
1. The card fits perfectly in the enclosure with no modifications. I'm just running with the Akitio open, no cover. Front panel is removed so the Akitio sits level on my desk. I didn't want to mod the case and the card runs very cool this way. Although I was fixated on closing the case before buying all the stuff, it's not a big deal to have it open: it still looks discreet/not messy if you turn the card toward the wall and you're just looking at the back of the Akitio. Just don't put it where you might bump the fans with something. And blow out the dust every now and then.
2. I followed the standard DA-2 wiring procedure.
3. The Akitio fan was rather loud, so I just unplugged it from the board.
1. Boot into OSX (with lid open and no monitor connected)
2. Hotplug firewire cable of egpu with all power cables connected and on; external monitor is also turned on and connected to Thunder2.
3. Download automate-egpu script, run it per instructions, restart, everything is up and running. Perfect! Thanks @Goalque !!
—Note that since I'm running 10.10.5, the GTX950 appeared as a generic Nvidia device in System Profiler. This doesn't seem to affect performance.
—Don't forget to move the menu bar to the external display in System Preferences > Display in order to use the egpu.
—I only use the external display at my desk, so I haven't tried accelerating the internal display. External display works fine in clamshell mode.
—Unplugging the egpu will crash macOS.
—Unfortunately, neither Adobe Lightroom nor Photoshop use the egpu; they automatically choose the igpu for hardware acceleration and I haven't found a way to force them to use something else.
Windows 10 setup
1. Did a clean UEFI install of Windows 10 Home 64-bit using Apple Bootcamp. Booted into Windows, installed Apple drivers, etc.
a. I have hibernation (and therefore fast boot) turned off (to save space; I've only allocated 25GB to the Windows partition, keep most of Windows data on external drives).
b. I'm at Windows version 1511 (before the Anniversary Update). The Anniversary update never installed because there wasn't enough space on my partition, and I've read it caused problems with some egpu installations. I've since turned off Windows Update in the Services application to avoid it, and prevent big downloads in the background while gaming, etc.
2. Downloaded Nvidia drivers.
3. Hotplugged egpu with monitor on and connected, egpu was recognized in Device Manager.
4. Installed Nvidia drivers, restart
5. I only use the external monitor, so I went into Display settings and turned off Mirror, made the external monitor the main display, and turned off the internal display. Now when I boot Windows with the egpu connected, it automatically turns off the internal display once Windows is loaded, and I close the lid to use clamshell mode. (Actually, I close the lid only partway, leaving it open a crack to help with cooling, although it doesn't seem to make a big difference.)
6. Works perfectly when following the boot procedure below.
Win 10 boot procedure
1. I work in macOS and only game in Windows, so I leave macOS as my default boot partition and always use the boot manager to boot into Windows.
2. To boot into Windows, restart and hold option to bring up boot manager.
3. After both macOS and Windows partitions appear in boot manager, plug in firewire cable with egpu on and connected to the external monitor, also powered on. Select Windows partition and continue booting.
4. If you need to restart Windows, you can leave the egpu plugged in and powered on, as long as you always boot Windows via the boot manager.
—I have 100% reliability with this method.
—When using macOS, I usually plug the monitor via displayport directly into MBA, without eGPU, since I don't use the egpu in macOS. I have a separate DVI cable running from the card in the egpu to the monitor. This means I just need to switch from the display port cable to the firewire cable when booting to change from macOS w/igpu to Win10 w/egpu.
—Note that the boot manager screen does NOT show on an external monitor connected to the egpu. You can keep the MBA lid open to see the boot manager until you boot Windows and switch to external monitor via egpu. But now that I'm familiar enough with the timing of the procedure, I just leave the lid closed in clamshell mode and boot "blind": after the chime, wait a few seconds until I know the boot manager has loaded, hit right arrow to select Windows, then return/enter to boot. I don't need to open the lid.
Will follow up with some benchmarks in another post ...
Some benchmarks below. The OC settings for the second Firestrike score weren't stable for hours of gaming at a time, so they were lowered slightly; my final stable overclock was +148 core, topping out around ~ 1400 mhz boost and +347 memory (probably could have gone higher on the memory but didn't push it).
Firestrike 1.1, 1920 x 1200
Stock clocks (1076 core / 1253 boost; but FS reports 1329 boost): graphics 5868, total 4526
Overclocked (around +150 to +175 mhz?): graphics 6504, total 4988
Unigine Heaven 4.0 (1920x1200, 8x AA, extreme tes)
Stock settings in OSX (OpenGL): 614 score; 24.4 fps, min 16.1, max 47.1
Overclocked +148 mhz core in Windows 10 (DX11): 697 score; 27.7 fps, min 14.1, max 55.7
Was pretty happy with the performance on high to medium in Skyrim, Far Cry 3, older games. Company of Heroes 2 did have some problems with fps drops. Then I got into Battlefield 1, which is heavily CPU bound, and framerates really suffer. The GTX950 can run medium settings at 60 fps on BF1 single player, but on multiplayer the CPU is at 100% and limiting framerates to 35–45 fps on average, with spikes to 55–60 fps and drops to 22–25 fps on crowded areas on 64-person maps, even on low settings. This is pretty similar to console performance, although the visuals may be a bit better. I don't need a solid 60, but wish I could get a solid 30 fps ...
The CPU would only take an undervolt around -47 mV; when undervolted, at 100% cpu usage, it settles in at ~2.3 ghz on 4 threads instead of ~2.2 and has only occasional thermal throttling (it is usually TDP limited). All of this has me thinking I'll wait to see what Ryzen does to Intel i5/i7 desktop prices and maybe build a hackintosh with Power Mac G5 case mod. Not sure there are any Mac notebooks that can handle BF1 multiplayer with steady fps, since it's hard even on desktop i5s.
Thanks sdedalus1 for your implementation. I have the same Mac computer and thinking about the same setup. Could you post some benchmarks of games you actually play?
Hi, sorry, I recently upgraded to a used Zotac GTX 970 and so don't have the 950 installed anymore. On the 950 over TB1, I saw about a -20 to -30% reduction compared to using the 950 in a desktop, so you can use that to estimate FPS based on benchmarks for games that aren't heavily cpu bound. I'm happier with the 970 and recommend a slightly beefier card like that instead, since I can push graphics settings to high on 1080p (well, 1200) instead of the low to medium settings I used with the 950.
However, now that Pascal web drivers are available on macOS, I'd recommend a 1060 3GB over a 970. Not only is it newer and should be able to do most any game at 1080p/high, it will run better with the DA-2: I've had to underclock and underpower the 970 slightly (90% power, -75 mhz core) to make it stable enough not to trip the circuit protection on the DA-2.
@sdedalus1 - Thanks for sharing your implementation!
Your references/statements: Win 10 boot procedure & "I have 100% reliability with this method." may convince me to order a AKITiO device 🙂
And it will probably be loaded with a 1060 to give my MBP2013 a gaming life ...
Yes, consider it, but keep in mind boot reliability is really dependent on the specific model so it's helpful to research your exact configuration in advance (you mentioned an MBP). On this MBA, I had the black screen on windows boot issue with the GTX 970 that I didn't have with the 950. Running goalque's script with -a fixed it, though he recommends apple_set_os.efi for older macs instead. Now that Pascal drivers are out, I'm considering upgrading to a 1060 3GB and 2014 13" MBP ... Thinking the MBP should throttle CPU a good bit less under load, but not sure what kind of fps improvement I might see.
Thanks for the warning & suggestions! 😉
I hope also to be able to use it together with my 2012 27" iMac. Looking at some test results & benchmarks using the internal screen, makes me hesitate in the FPS improvements that are possible. The i7 is a +++ CPU and should be able to keep up with the GPU, but the bottleneck might be the TB1 interface. Especially if the native resolution of 1440p is used (which also requires the 6GB version of the 1060).
I know this thread is dead but I'm a bit confused by how you got it working with an external monitor. I'm a bit of a noob at eGPUs but I thought that this Macbook Air only has one thunderbolt port and two USB ports. How did you connect it to the external monitor? Did you hook the monitor directly to the eGPU enclosure or did you hook it up to the laptop through one of the USB ports? Sorry if I'm being an idiot and missing something.
Once you’ve installed the GPU in to the eGPU box, the GPU monitor ports are accessible the same as in a desktop. You would connect a monitor to the ports.