TL;DR: 2012 Mac Mini w/ GTX970 in AkitioTB2 setup installed smoothly & continues to work reliably. ~300% OpenGL performance increase over built-in Intel graphics.
Thanks to all who came before me, especially [goalque] with the fantastic "automate eGPU" script.
Setup continues to work flawlessly under OS X 10.11.6. eGPU and monitors are recognized shortly after system power-on 100% of the time. Sleep / wake works fine. Same reliability as built-in graphics, just a lot faster. NOTE, after some security updates were applied (through the App Store updater,) it was necessary to connect a display to the HDMI port, then re-run the 0.9.9 version of automate-eGPU. (But I did not have to turn off system integrity protection again.)
Setup continues to work flawlessly under OS X 10.11.5. GPU / monitors are recognized shortly after system boot-up 100% of the time. Sleep / wake works fine. Same reliability as built-in graphics, just a lot faster.
Setup Specs & Parts
**See firmware revisions & other details in footnotes at bottom of this post.
CPU: late-2012 Mac Mini, Core i7/2.6Ghz (macmini6,2) / 16GB RAM / 500GB Samsung EVO 850 SSD (internal SATAIII bus)
OS: OS X 10.11.4 "El Capitan." (Setup initially done & tested under Mac OS X 10.10.5 "Yosemite")
Displays: 2 x DELL U2412M, 1920 x 1200 each panel = 3840 x 1200 total pixels. Each display connected via a DVI cable directly to eGPU card.
Other peripherals: (2) USB 3. drive docks (for SATA drives) from different makers. Fujitsu ScanSnap ix500 (USB3). (3) printers of various kinds. All-in-one USB card reader.
New eGPU hardware (all purchased through Amazon)
eGPU: ZOTAC-brand GeForce GTX 970 [hereafter called "GTX970"] basic edition (2 fans,) part #ZT-90101-10P
eGPU enclosure: Akitio Thunder2 [hereafter called "Akitio"] as described elsewhere on these forums. part #T2PC-TIA-AKTU
eGPU external power supply (hereafter called "PSU") : EVGA "Supernova" 550G2 (550 watts), ATX-style power supply, part #220-G2-0550-Y1
eGPU cabling: good-quality GPU-card power cabling came included with the EVGA 550 G2 PSU above. I also ordered a custom-made 4-pin to 5.5/2.5mm barrel adapter to run the Akitio off the PSU, ~$20 on eBay, and a pair of low-profile, "right-handed" 6 pin cables also from eBay.
Total cost ~$700 w/ tax & ship.
New Software driver (free download)
NVIDIA Web Driver
346.02.03f05 (Originally tested driver, worked fine with OS X 10.10.5 and 10.11.3)
eGPU hardware setup, driver install, testing
3 product cartons shipped in 1 Amazon delivery box. No damage to boxes. Did note a very major rattling sound, metal-on-metal, in the Akitio box. Turned out to be a blank slot cover plate and screw, completely loose & knocking about inside Akitio unit itself (!). With bare circuit boards exposed inside I feared there might be damage but the Akitio unit works normally so far, no worries there.
The EVGA 550-watt PSU comes with a full complement of high quality ATX-spec power cables, and also includes a handy & professional-looking tester block to make "the paper clip test" a no-brainer. But it turns out that on the 24-pin wiring harness itself there must be a bad ground, because the included tester block did not work (!). After a call to EVGA tech support (24/7, American english speaking, highly competent,) they had me do an actual paper-clip test and we verified that the issue was just a bad ground in the wiring harness, no problem with the PSU itself. So I am using a paper clip for now. See more about the paperclip below.
The Enclosure (Akitio Thunder2)
I read elsewhere that this particular ZOTAC GTX970 card (part #ZT-90101-10P) fits inside the Akitio enclosure "without modifications," i.e. completely inside the Akitio, without having to permanently bend open the rear metal flap of the Akitio box. This is a bit misleading for 2 main reasons:
1) In order to get the card to fit at all, even with the Akitio case cover removed, you have to remove both the case fan on the Akitio box, and the metal fan shroud from the GPU card. (These are reversible changes, i.e. you just unscrew the parts.)
2) In order to have the card fit completely inside a closed Akitio case, custom low-clearance GPU-card power connectors (ATX --> 6-pin PCI power) are required. This has been discussed in other posts.
3) Even with the proper low-clearance connectors, if you close the Akitio case completely you must use a fan on the outside of the Akitio to draw air through the box for cooling. In mild climates and with mild usage (i.e. 3d cad modelling where the GPU usage is light) this might be adequate. For continuous / hard use, e.g. 3D gaming, I am sure that the other mods I've seen that involve cutting large air-flow openings in the side and/or top of the Akitio case would be required.
But as far as just testing the basic setup with the Akitio case top not installed, this you can do without any permanent modifications. (This was important to me because I wanted the option to return some or all of the parts if things weren't working.) You will definitely need a screw driver and 30 minutes or so. I had to un-mount the rear case fan on the Akitio Thunder2 to get the GTX970 card to fit inside, and remove the fan shroud on the GTX970 card itself.
The Power Supply
I purposely over-sized the PSU: I wanted it to operate quietly, have a long life, feed the GTX970 all the power it needs, and have headroom for future upgrade to a higher-wattage card. This model also has a 7-year warranty. I have a barrel-connector adapter cable on order from eBay so that I can power the Akitio box off this PSU too, tidying up cabling and eliminating any possibility of ground loop current.
Here's a photo of "the paperclip solution" I am currently using to get the PSU to activate and supply power. I took off the tape that is usually on it to keep the paperclip from slipping out. Note that the "TOP" of the connector in the photo is the part with the clip on it. (Be sure to get the orientation correct.)
The Power Connections
Current setup has everything powered from the PSU: (2) low-profile PCI 6-pin cables for the GPU, and (1) 4-pin molex-to-barrel adapter for the Akitio.
When I first tested the setup I did not have a 4-pin-molex-to-barrel adapter, so at that time I just used the provided 60W power brick for the Akitio, and I had no problems with that. (But YMMV, watch out for ground-loop issues when running w/ separate power supplies.)
The GTX970 Card
As mentioned above I had to remove 4 screws to lift off the metal fan shroud on the GTX970. A completely reversible change in case the card needed to be returned, or if I want to re-sell the card later when I upgrade. The card slotted neatly into the case with some care, it sits square, plumb, and level with the cover off. (Haven't tried putting the Akitio cover on yet.)
Data / Video Connections
Thunderbolt cable from Akitio to Mac Mini's Thunderbolt-1 (10 Gbps) port. 2 DVI cables from the 2 displays to the 2 DVI ports on the GTX970 card.
Software / Driver Install
The Akitio box & GTX970 were fully powered up & connected at time of driver install. Downloaded most-recent version of "automate eGPU.sh", ran it in auto mode. Took about 2 or 3 minutes to complete. No errors or warnings occurred. Rebooted, displays came right up without any issue. No problems. Thanks again to [goalque] for making this so easy.
I made no special effort to optimize, i.e. I had my full load of normal apps running in the background, i.e. Mail, Firefox, Safari, Filemaker Pro. Nothing extremely CPU or GPU-intensive, all apps basically idle during benchmarks.
Cinebench R15 OpenGL:
Before (internal Intel HD4000 graphics): ~19 FPS
After (external GTX970 card): ~57 FPS
Speedup: about 300%
Unigine Valley 1.0:
Preset: "Extreme HD" (all settings maxed, 1920 x 1080 full screen): Score 1898, 45.4 FPS avg, 19.6 min, 84.7 max
Preset: "Basic" (1280 x 720, windowed, medium quality): Score 2084, 49.8 FPS avg, 23.7 min, 61.7 max
Cuda-Z 0.10.251 64-bit
(note: requires install of free Mac OS X CUDA driver from Nvidia)
Operational Notes (will update in future months)
Reliability - Under all conditions & OS's, from 10.10.5 Yosemite through current 10.11.4 El Capitan, I not had any stability, GPU-related crashing, or pixelation/screen-glitch issues. Stress-tested by running Unigine Valley + CUDA-Z in the background for an hour continuously.
Noise - GTX970 card: No coil whine. With a bare card the fans are barely audible from 3 feet away in a quiet room (~38 dB(A) background in the room,) with no cover on the Akitio box.
Noise - Akitio box: The case fan that comes with the Akitio box is lower-quality Sunon model which has a quiet but noticeable hum. I will be replacing this with a high-quality fan at some point.
Noise - PSU: Dead silent so far, fan does not even turn on due to low power draw / cool ambient temps. [Comment: This is a very good-quality power supply.]
Note: These noise figures are with ~55ºF / 90% rel. humidity in winter. Will update these noise remarks in summer when it is ~90ºF ambient / ~40% RH.
Heat - GTX970: Copper heatsink tubes stay at ambient temperature when card is idle. Under stress-testing running BOTH Unigine Valley at Ultra settings AND CUDA-Z in "stress test" mode, I estimate the heatsink tubes at ~140ºF by touch. But even under heaviest continuous load the GTX970 fans never spun up past idle. Will update this in future when I complete a closed-case / cover-on-the-Akitio-box setup.
Heat - PSU: case is barely warm to the touch so probably ~78ºF or so.
System integration: Putting the Mac to sleep works flawlessly, no delays or glitches. Once in sleep mode the GTX970 powers down completely, fans stop spinning. Akitio case also appears to sleep properly. Wake-from-sleep also works without any issues: 1 mouse click & everything fires up normally. Disconnecting & re-connecting display cables (i.e. HDMI / DVI) works fine & is auto-detected on the fly in the normal way. However, the GTX970 itself (via Thunderbolt cable) must remain connected, it is not "hot-pluggable."
Note: The "built in" Mac OS X Nvidia drivers do not work with this card in an eGPU configuration. You must use the "NVIDIA Web driver."
TL;DR the GTX970 takes a ~15-20% performance hit when communicating over Thunderbolt 1.
Subjectively the GTX970 is just plain fast, it handles Unigine Valley at "Ultra" settings (maxed out) without stutter or lag. Using my CAD software (Vectorworks 2016) with complex, hi-polygon-count models (>10K to 100K polygons) in OpenGL rendering mode is a dream. Very smooth 3D pan/zoom/rotate experience even with Vectorworks OpenGL settings maxed out & all features on. (Anti-aliasing, edges, shadows, etc.)
Many other threads on this forum have exhaustively analyzed the performance impacts of various connection methods (PCIe / Thunderbolt / ExpressCard / etc,) please refer to those for in-depth discussion and test results.
Thanks again to all who came before & shared their experiences & suggestions. If anyone has or is considering a similar setup & has questions or wants me to try testing a configuration feel free to ask.
Q. I just updated from OS X 10.9.x / 10.10.x / 10.11.x to the latest revision and my card is no longer recognized??
A. Major OS updates seem to reset the System Integrity Protection flag. You need to reboot into a Recovery Partition, then open Terminal and do "csrutil disable". Then reboot and re-run the latest automate-eGPU script.
Q. Can I use the provided Akitio 60-watt power brick to power the Akitio case, with a separate ATX power supply for the GPU card at the same time?
A. In theory this is not optimal because there could be ground-loop current issues. But in practice I did this for over a week (waiting for a barrel connector to arrive) and I experienced no problems whatsoever. YMMV and use caution.
Mac Mini (late-2012,) 16GB RAM
Model Name: Mac mini
Model Identifier: Macmini6,2
Processor Name: Intel Core i7
Processor Speed: 2.6 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
Boot ROM Version: MM61.0106.B0A
SMC Version (system): 2.8f0
Serial Number (system): C07KMxxxxxx (redacted)
Thunderbolt Bus (on board):
Vendor Name: Apple Inc.
Device Name: Mac mini
Route String: 0
Firmware Version: 23.4
Cable Firmware Version: 1.1.0
Link Controller Firmware Version: 0.12.3
AKiTiO Thunder 2 Box
Vendor Name: inXtron
Device Name: AKiTiO Thunder 2 Box
Vendor ID: 0x41
Device ID: 0x236
Device Revision: 0x1
Route String: 1
Firmware Version: 24.1
Status: Device connected
Link Status: 0x2
Speed: Up to 10 Gb/s x2
Current Link Width: 0x1
Cable Firmware Version: 1.1.0
Link Controller Firmware Version: 0.14.0
ZOTAC GeForce GTX 970 card
Chipset Model: NVIDIA GeForce GTX 970
PCIe Lane Width: x4
VRAM (Total): 4095 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x13c2
Revision ID: 0x00a1
ROM Revision: VBIOS 84.04.36.00.6e