Jump to content

[SCRIPT] Automating the installation of eGPU on OS X (inc display output)


euqlaog

Recommended Posts

Great setup, but I didn't really got how he connected the displays…? Because when he shows the system report of all the displays he said that they are all connected to the D700…?! Where comes the eGPU in?

Link to comment
Share on other sites

Great setup, but I didn't really got how he connected the displays…? Because when he shows the system report of all the displays he said that they are all connected to the D700…?! Where comes the eGPU in?

That’s what I wondered as well. He is showing the new 2015 rMBP R9 M370X at the same time. However, he contacted me today via my Google account saying that got it working on a Mac Pro with 7970 eGPU after I sent a link to the script at GitHub.

Link to comment
Share on other sites

Thanks @goalque! I only got around to trying out your new version!

- I installed it with a clean install of 10.10.5 with success, using the HDMI monitor of my monitor for the first time (as what I've learned). I shut it down and it booted with the DisplayPort 4k60 works as usual.

- I still had the same issue with it not being able to detect the eGPU after each boot after, but I was able to fix this issue by resetting the PRAM and reinstalling the script as I used to. The only thing now is that if I do this the -a mode doesn't work when I restart my computer.

I've also noticed something about this subsequent boot issue. Every time I reinstall the script, I will get an eGPU output to my monitor every time if I haven't used anything that would require the computer switching to the dGPU if there wasn't an eGPU (i.e. graphically intensive programs like games).

So if I only used Safari to visit TechInferno and restarted the computer I would get eGPU output again but I play a game or use Photoshop when I boot up the computer again the bar under the Apple logo during bootup will pause way before it should and I will neither get an eGPU output nor be able to go on "About My Mac" (and I won't be able to shut down if I do that either).

For everyone else's reference, I am using a Late 2013 15" MBP with the 750M dGPU, an EVGA Titan X and a Sonnet III-D.

  • Thumbs Up 1
Link to comment
Share on other sites

Thanks @goalque! I only got around to trying out your new version!

- I installed it with a clean install of 10.10.5 with success, using the HDMI monitor of my monitor for the first time (as what I've learned). I shut it down and it booted with the DisplayPort 4k60 works as usual.

- I still had the same issue with it not being able to detect the eGPU after each boot after, but I was able to fix this issue by resetting the PRAM and reinstalling the script as I used to. The only thing now is that if I do this the -a mode doesn't work when I restart my computer.

I've also noticed something about this subsequent boot issue. Every time I reinstall the script, I will get an eGPU output to my monitor every time if I haven't used anything that would require the computer switching to the dGPU if there wasn't an eGPU (i.e. graphically intensive programs like games).

So if I only used Safari to visit TechInferno and restarted the computer I would get eGPU output again but I play a game or use Photoshop when I boot up the computer again the bar under the Apple logo during bootup will pause way before it should and I will neither get an eGPU output nor be able to go on "About My Mac" (and I won't be able to shut down if I do that either).

For everyone else's reference, I am using a Late 2013 15" MBP with the 750M dGPU, an EVGA Titan X and a Sonnet III-D.

@josho sent me a message that the 750M model can boot 100% using either AKiTiO or a multi-slot Sonnet Express Pro II (both K2000 and GTX 960). @Simurgh5 also confirmed v0.9.6 with the same Mac. The [-a] mode should work, there must be something else.

One user noticed a shrunken load bar sometimes and no acceleration after boot. Nvidia says:

"BETA support is for iMac 14,2 / 14,3 (2013), iMac 13,1 / 13,2 (2012) and MacBook Pro 11,3 (2013), MacBook Pro 10,1 (2012), and MacBook Pro 9,1 (2012) users."

It's beta, meaning that it may not be fully compatible with those listed dGPU models. Maybe I could force the script to use iGPU instead of dGPU after each boot when [-a] mode is turned on?

Link to comment
Share on other sites

I'm thinking it's most likely something to do with OSX as it was working on the same display, same cable, same GPU at 2560x1080 on my desktop PC when the GPU was installed normally/internally. On OSX I only get options for 1080p, 1080i, and 720p in the displays panel. Same thing when I connect my macbook to the display directly (over mdp -> hdmi), however this direct connection does let me play audio.

The only drivers for mac for the display are to enable other features that I dont need, but I'll try them out as they might force the recognition. I thought DP might be the answer, but I don't have any DP cables, so I'll have to Prime one.

Link to comment
Share on other sites

Thanks @goalque! I only got around to trying out your new version!

- I installed it with a clean install of 10.10.5 with success, using the HDMI monitor of my monitor for the first time (as what I've learned). I shut it down and it booted with the DisplayPort 4k60 works as usual.

- I still had the same issue with it not being able to detect the eGPU after each boot after, but I was able to fix this issue by resetting the PRAM and reinstalling the script as I used to. The only thing now is that if I do this the -a mode doesn't work when I restart my computer.

I've also noticed something about this subsequent boot issue. Every time I reinstall the script, I will get an eGPU output to my monitor every time if I haven't used anything that would require the computer switching to the dGPU if there wasn't an eGPU (i.e. graphically intensive programs like games).

So if I only used Safari to visit TechInferno and restarted the computer I would get eGPU output again but I play a game or use Photoshop when I boot up the computer again the bar under the Apple logo during bootup will pause way before it should and I will neither get an eGPU output nor be able to go on "About My Mac" (and I won't be able to shut down if I do that either).

For everyone else's reference, I am using a Late 2013 15" MBP with the 750M dGPU, an EVGA Titan X and a Sonnet III-D.

@josho sent me a message that the 750M model can boot 100% using either AKiTiO or a multi-slot Sonnet Express Pro II (both K2000 and GTX 960). @Simurgh5 also confirmed v0.9.6 with the same Mac. The [-a] mode should work, there must be something else.

One user noticed a shrunken load bar sometimes and no acceleration after boot. Nvidia says:

"BETA support is for iMac 14,2 / 14,3 (2013), iMac 13,1 / 13,2 (2012) and MacBook Pro 11,3 (2013), MacBook Pro 10,1 (2012), and MacBook Pro 9,1 (2012) users."

It's beta, meaning that it may not be fully compatible with those listed dGPU models. Maybe I could force the script to use iGPU instead of dGPU after each boot when [-a] mode is turned on?

Well, if you can, I am willing to test it!

Link to comment
Share on other sites

I'm thinking it's most likely something to do with OSX as it was working on the same display, same cable, same GPU at 2560x1080 on my desktop PC when the GPU was installed normally/internally. On OSX I only get options for 1080p, 1080i, and 720p in the displays panel. Same thing when I connect my macbook to the display directly (over mdp -> hdmi), however this direct connection does let me play audio.

To see additional resolutions press Option key while you click “Scaled”. SwitchResX might also help.

I noticed that HDMI Audio problem through eGPU. No HDMI under Audio > Devices and AppleHDAController is without audio capabilities. I might look into this later.

@Mark: I will try :)

Link to comment
Share on other sites

You should have original kexts before running the script as mentioned at GitHub.

Seems that your monitor is not the best choice, problems with the DP: Benq BL3201 PT 4K Mac performance | MacRumors Forums.

Indeed, the frequency display flicker changed after using this script. This can be seen in the settings of my secondary monitor. (I added two photos of before and after). If I use a script with original kext files, the situation will change? I have no problem with DP when I connect the monitor directly to MacBook (Thunderbolt - DP). Everything works fine. And in my opinion most of reviews about this monitor does not correspond to reality. It is wonderful and I am ready to recommend it to anyone! The only question is its suitability for use with eGPU post-37946-14495000721258_thumb.jpg

post-37946-14495000721497_thumb.jpg

Link to comment
Share on other sites

Indeed, the frequency display flicker changed after using this script. This can be seen in the settings of my secondary monitor. (I added two photos of before and after). If I use a script with original kext files, the situation will change? I have no problem with DP when I connect the monitor directly to MacBook (Thunderbolt - DP). Everything works fine. And in my opinion most of reviews about this monitor does not correspond to reality. It is wonderful and I am ready to recommend it to anyone! The only question is its suitability for use with eGPU [ATTACH]15876[/ATTACH][ATTACH]15875[/ATTACH]

If you edited kext files initially by hand, [-uninstall] option rsyncs back those edited files. Originals are recommended. The second pic shows 3840x2160@60Hz so you got it working via eGPU DP? The script doesn’t take part in display preferences, but future development may include nice new features for controlling eGPU displays.

Link to comment
Share on other sites

*** automate-eGPU.sh v0.9.6 - © 2015 by Goalque ***

-------------------------------------------------------

Detected eGPU

GM206 [GeForce GTX 960]

Current OS X

10.11 15A282a

Previous OS X

[not found]

Latest installed Nvidia web driver

[not found]

No Nvidia web driver detected.

Checking IOPCITunnelCompatible keys...

Missing IOPCITunnelCompatible keys.

Mac board-id found.

Searching for matching driver...

No web driver yet available for build [15A282a].

@goalque Could you please help me with this? I'm on 10.11 GM with 15" MBP 2012 650m and eGPU GTX 960.

Don't know why it can't find web driver.

Link to comment
Share on other sites

Goalque, firstly you're a bad ass. I actually found your GitHub for Automate eGPU after doing hours of research and getting a lot figured out manually.

My setup

post-39160-14495000738858_thumb.png

Mid 2015 MBP with R9 M370X

I'm running El Captain Beta, a little later build than your script currently supports.

AKiTiO Build with EVGA Titan

I used CSRUTIL to disable System Integrity Protection, and was able to update the Kext files.

The Titan is showing up in System Report

post-39160-14495000739126_thumb.png

However I'm unable to get displays to be recognized through the card.

Note there's no hardware issues, because it works great on Windows 10 via Bootcamp, and have already tested gaming with it. However in order to make it work on Windows I had to disable the R9 M370X, a task OSX does not make so simple.

This is where I got stuck, and found your script. I ran it, after already updating CSRUTIL to disable, and Kext files.

It recognizes my GPU, but says there's no driver yet for my build.

Is it worth reverting to Yosemite or trying to revert to a previous build? Or should my displays be working anyhow?

My goal is to be able to power all 3 of my external displays, via the Titan, and not have to use the internal graphics at all, on Windows and Mac, when the Mbp is docked.

Thanks for your help, I'm making a comprehensive instructional video on how to build an eGPU, and I will be promoting and linking your GitHub, (if you don't mind). !

Link to comment
Share on other sites

Hi guys,

I just received my new Radeon R9 Nano from Sapphire,

Plugged it into my AKitio and it "spins up".

The Script recognizes the GPU but won't install any driver.

Is there anything I have to do before it works?

"Native AMD support, masks for any card if codename is found"

I was successfully using a gtx 970 before on my MBair 11"

Last login: Sun Sep 13 10:45:56 on consoleAIR:~ USER$ curl -o ~/Desktop/automate-eGPU.sh https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 36968 100 36968 0 0 4422 0 0:00:08 0:00:08 --:--:-- 4422
AIR:~ USER$ chmod +x ~/Desktop/automate-eGPU.sh
AIR:~ USER$ cd ~/Desktop
AIR:Desktop USER$ sudo ./automate-eGPU.sh
Password:
*** automate-eGPU.sh v0.9.6 - (c) 2015 by Goalque ***
-------------------------------------------------------
Detected eGPU
Fiji [Radeon R9 FURY Series]
Current OS X
10.10.5 14F27
Previous OS X
10.10.4 14E46
Latest installed Nvidia web driver
Version: 346.01.03f01
Source: 3rd Party
Install Date: 07.07.15 18:34


Checking IOPCITunnelCompatible keys...


Missing IOPCITunnelCompatible keys.
Accelerator not found.
AIR:Desktop USER$

I will try to uninstall the Nvidia drriver.

Thanks for your support.

edit

uninstalled driver, restart, nothing changed.

only HD5000 in SystemInformation

edit2:

after running your script again, I get the same terminal log - it even recognizes previous installed NVidia driver, which is gone (nothing sys pref left)

edit3:

I checked your script for references to "amd"

compared to my OS.. I can't find any AMD* files in Automate-eGPU folder

will check manually for changes in in System Library Extensions ..

edit4:

everything seems to be okay in IONDRVSupport.kext and AMD9000Controller.kext if I understand the script correctly

  • Thumbs Up 1
Link to comment
Share on other sites

now I'm getting a different message after running the script for a third time:

Checking IOPCITunnelCompatible keys...

IOPCITunnelCompatible mods are valid.
Can't create kext cache under / - owner not root.
All ready. Please restart the Mac.

after rebooting I get kernel panic while watching the Apple logo, loop until I disconnect the TB cable to the Akitio :(

@BastiFH: can you post pictures (in another thread) and maybe try to make it run Windows? :o

once it's up and running under OSX I'll try a bootcamp setup :D

--

edit:

SystemInformation now lists two gpu's :) after connecting the TB cable in OSX again

will upload a picture..

3y4X5rSl.png

  • Thumbs Up 2
Link to comment
Share on other sites

of course, my LG 34UM95 is connected through DP cable - did change through all three DP ports on the Nano. nothing..

maybe it's because of the error at the end of the script.

I don't even understand why something changed .. I only read through .kext's, did not change anything.

but suddenly

IOPCITunnelCompatible mods are valid.Can't create kext cache under / - owner not root.
All ready. Please restart the Mac.

appeared on third try.

here's a little picture of the Akitio equipped with that tiny graphics card :D

6WPArvTm.jpg

edit:

I don't really know what this actually does.. but it seems to be the problem according to the script in lines 850/60

    touch /System/Library/Extensions
kextcache -system-caches

edit2:

this ain't no script message

Can't create kext cache under / - owner not root.

could not find it in the script, so it has to be an error from one of the lines mentioned above^

will try to repair permissions and run the script again

Link to comment
Share on other sites

Firstly, Goalque you rock. Definitely including a link to your GitHub in my build demonstration / tutorial video.

So my build is AkiTio Thunder 2 / EVGA TITAN / MBPr Mid 2015 /w R9 M370x

post-39160-14495000739677_thumb.png

Working fine in Windows 10 on bootcamp, only interested in powering external displays. (I had to disable the R9 to get things smoothly in windows, but not so simple in OSX)

Did some research before coming across this thread and Automate script.

Disabled System Integrity Protection with CSRUTIL

Updated my KEXT files as noted in other tutorials,. and this thread.

Titan is being recognized by OSX, but will not recognize or output to displays

post-39160-14495000739902_thumb.png

Tried the Automate script, notedly after updating my KEXT files and disabling SIP

Script recognizes card, but does not find drivers for my OSX build.

Is there something I can do, or should I try to roll back to an older build, or Yosemite?

Has anyone else successfully done a build on a Mid 2015 with the R9 Discreet card?

Thanks

Link to comment
Share on other sites

@BastiFH: Nice tiny Nano there!! :D

My script is already prepared for Fiji architecture, but the acceleration part is still missing from both the OS X 10.10.5 and OS X 10.11 GM. "Accelerator not found" error message means that exactly. However, the binary files do contain “Fiji”, so in theory you can try adding a block named “AMDFijiGraphicsAccelerator” in AMDRadeonX4000.kext, and then modify the line 58 as follows:

amd_x4000_codenames=(Bonaire Hawaii Pitcairn Tahiti Tonga Verde Fiji)


EDIT:

Can't create kext cache under / - owner not root.
Maybe you messed up with the permissions. Please uninstall the script, that will restore the original kexts with correct permissions: sudo ./automate-eGPU.sh -uninstall

I recommend "sudo nano" for editing ;)
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.