[SCRIPT] automate-eGPU.sh v1.0.1 - macOS eGPU installation tool
two steps I missed:
2. bridge the external psu to make it work without a motherboard connected (I feel really stupid! . thanks @XIPRX for mentioning this)
OWC Mercury Helios TB2 (a slight variation of the Atikio Thunder 2)
Inno3D GTX 980 ti IChill X3
Using a FitHeadless to fake a hdmi screen
...and with a PCIE riser cable to avoid destroying the TB box before verifying that it works:
Important. Remember to manually install the latest cuda drivers as well.
I am totally shocked how smooth the process is (once I figured out my self provoked quirks- RTFM)
With a stock Macbook Air 2011 and 4gb ram and TB2 the GPU scores 121.94 with the octane render (OSX 10.12.3)
With a nMP 6 core 3,5ghz, 32GB ram and TB2 the gnu scores 126.55 with the octane render (OSX 10.11.6)
The reference benchmark for this card is 126.
I have to say that I am a really happy man 😀
@goalque . you are a true hero!!!!
No luck. Although the TB enclosure sees a connected card the script does not detect a gpu present. The GPU has connection to the enclosure since it turns on each time the TB cable is connected (and system info detects a presence of a card) I have to admit that I do use a riser cable since gpu is way to big for the enclosure. But I have tested with some black magic cards and they work just fin with the riser card. No sure wether it is en OWC helios, the GPU or the riser card that messes things up. Too many variables. It might be the INNO3D card not egpu friendly? Or the enclosure?
I disasembled the OWC Mercury Helios box to connect the GPU directly to the pcie board without the rider cable.
Same result. The GPU does not get recognised :-/
I will return the gpu.
And probably get an Atikio Node box for the next experiments UPDATE 2
Seems like the OWC Mercury Helios is a rebranded Atikio Thunder 2 so it should work UPDATE 3 I forgot to disable the SIP.
But that does not change anything either. All feedback I get from the terminal is:
'Thunderbolt device is connected, but no GPU present" I have tried on different mac. Same result.
Will definitely return the GPU
Thanks a lot for the updated script. I am using a GTX980ti in Akitio2 on TH2 with my 2015 late 5k iMac retina. I am only using the CUDA render capability with DaVinci Resolve, so I do not use external display on the egpu.
I upgraded to OS X Sierra from El Capitan and used the v1.0 script. After the restart I got a half res monitor in the middle of the 5k screen. I remembered that something has to do with modifying the script in order to disable the external monitor output. Finally I have found it, so after uninstalling, I changed line 63 in the new script to this:
After reinstall and restart egpu works like before, Resolve can use it.
Hello, first of all thank you goalque for this wonderful piece of software, I've run an nvidia before with success, but now I have to switch to a Gigabyte ATI Eyefinity X6 (HD 5870), because I wanna use 6 screens and I'm stuck.
1) run the script with -uninstall before in order to unsinstall the NVIDIA stuff (CUDA is still installed though)
3) plugged in the ATI
4) Booted and run your script
Unfortunately, it doesn't seem to properly install the card. I can see output on two monitors (can't test more monitors for now), but it is slow as hell: Login already builds up the screen almost row-by-row and HD videos are not working or only with a big lag. System information shows the card, but even only with one monitor, although two are being used.
I'd be happy for any advice you can give me. Thank you in advance!
Here's the output of your script:
@wondermike: script v1.0.0 doesn't support x3000 codenames anymore, only x4000 and x4100. You have to modify SetIOPCITunnelCompatible() function. It may work with v0.9.9.
I haven't found version 0.9.9 neither on git nor elsewhere on the web, but I've found 0.9.8.
Now I get a spinning wheel at boot time, the two screens flicker up for a fraction of a second and the loop resumes at the spinning wheel.
The output of script 0.9.8 looked promising though. I would try the other route what you suggested (modify SetIOPCITunnelCompatible), but I have to admit I have no clue. But: now I cannot try that route anymore, because the Mac mini won't boot anymore with the card attached.
I have looked inside /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist and I've found 0x68981002 twice. Shall I remove those matches?
You probably found a bug The device id 0x6898 should be in AMDCypressGraphicsAccelerator section only, plus the IOPCITunnelCompatible key. I've discontinued this project but I hope that @FricoRico or another programmer can give some guidance.
v0.9.9 is available from the GitHub, not sure if that's better.
Hi, thanks for the link to the 0.9.9, I've uninstalled 0.9.8 as cleanly as possible, I've manually traced all steps in the Uninstall() procedure, then rebooted, then shut down, then connected the HD 5870 and installed 0.9.9
Unfortunately, I have the same effect than above, flickering, boot loop. Before I did that, I saw tha HD5870 in the system information, but without acceleration. What else can I do?
Here's some diagnostics/logs:
Edit: In /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist, I've taken 0x68981002 out of AMDBartsGraphicsAccelerator, so that it is only in AMDCypressGraphicsAccelerator, plus I've set the IOPCITunnelCompatible to true in ...Cypress...lerator. Same effect. 🙁 Is there anything else I could test/see?
I don’t know about El Capitan 10.11.6 but 0x6898 device id is natively supported on macOS (both AMD5000Controller.kext and AMDRadeonX3000.kext). Script should not append the device id. You just have to add IOPCITunnelCompatible key-value pair into those plist files. Try reinstalling OS X, and see if the 0x68981002 is missing from the AMDRadeonX3000.kext.