Jump to content
Review: E-Win Champion Series Gaming Chair Read more... ×
EwinRacing Flash Series Gaming Chairs
euqlaog

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

Recommended Posts

Thanks @goalque again for the update. I wiped my SSD and installed your new script. I still have the weird problem where I get eGPU detection and output the first time I boot the laptop after installation and doesn't detect it at all after each reboot.

I also had the weird problem that bugged me last night which was every time I did reinstall the script, the eGPU was detected but there was no screen output whatsoever. I even tried swapping my Titan to a 780 Ti and the Sonnet to my Akitio, and even tried wiping + reinstalling everything, and using your 0.9.3 script (which I actually backed up), and nothing has happened! I managed to fix it however by using the HDMI port instead of the usual DP the first time.

I'm going back to using your 0.9.3 script for now and resetting the PRAM + reinstalling the script every time I want to use the eGPU. I'm going to give it another go when 10.10.5 comes out!

Version 0.9.5 is now available: https://github.com/goalque/automate-eGPU

Reinstalling OS X 10.10.* or 10.11 is compulsory.

I gave access @Simurgh5 to test pre-release version, but decided to release this as it worked fine with GTX 780, GTX 980, GTX 750Ti and HD 7970 on 10.10.4 and 10.11. R9 390 gave the screen output on the latest OS X 10.11 Developer build. Uninstalled the card with [-uninstall] option and switched to another one. The [-a] mode is not yet confirmed, please report how it works on 750M or other dGPU Macs. Would be also interesting to see some results with [-clpeak] parameter.

Share this post


Link to post
Share on other sites

Hey, I dunno if anyone can comment on this, but the other day I was prompted for was an update for the Nvidia graphics drivers (on OS X) and after updating my external monitor or GPU is no longer detected. Could I simply run the script again or would there be some dire repercussions from that? Otherwise would the -uninstall then re-run the script be better?

Now that there is 0.9.5 out reinstalling OSX 10.10 is necessary; but does that mean like a complete wipe then backup restore?

Thanks!

Share this post


Link to post
Share on other sites
Hey, I dunno if anyone can comment on this, but the other day I was prompted for was an update for the Nvidia graphics drivers (on OS X) and after updating my external monitor or GPU is no longer detected. Could I simply run the script again or would there be some dire repercussions from that? Otherwise would the -uninstall then re-run the script be better?

Now that there is 0.9.5 out reinstalling OSX 10.10 is necessary; but does that mean like a complete wipe then backup restore?

Thanks!

Actually I have never used Nvidia's update prompt for installation. In this situation you have two options; (1) run with [-skipdriver] + restart or (2) [-uninstall] + uninstall Nvidia web driver + restart + run without parameter + restart.

If you had version <= 0.9.4 earlier, reinstalling OS X without erase is ok. The future versions won't require reinstalling OS X. Parameter [-uninstall] is enough.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites
Actually I have never used Nvidia's update prompt for installation. In this situation you have two options; (1) run with [-skipdriver] + restart or (2) [-uninstall] + uninstall Nvidia web driver + restart + run without parameter + restart.

If you had version <= 0.9.4 earlier, reinstalling OS X without erase is ok. The future versions won't require reinstalling OS X. Parameter [-uninstall] is enough.

Alright thanks! I'll give it a try when I get home tonight and let you know how it goes. I'm assuming that it is due to the Nvidia update because I haven't updated anything else that comes to mind that should affect it. I guess I'll avoid the prompt in the future.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Some screenshots with [-a] mode turned on…

post-28870-14495000674053_thumb.png

post-28870-14495000674467_thumb.png

post-28870-14495000674777_thumb.png

If you compare backup folders 14E46 and 14F27:

diff -qr /Library/Application\ Support/Automate-eGPU/backup/14E46/ /Library/Application\ Support/Automate-eGPU/backup/14F27/

You’ll see that Apple has changed a lot of things regarding AMD controllers :)

Share this post


Link to post
Share on other sites

@goalque

Just ran the script (version 0.9.3) using [-skipdrivers] then restart and it works again :) . Thanks again!

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Is the update to 10.10.5 could make the deal instead of reinstalling OS X ?

Or if it's not enough, I'm pretty sure the Combo update will contain the original kexts.

[EDIT] I've just downloaded the update (the one from 10.10.4, not the combo) and all the extensions you include in the BackupKexts function of automate-egpu are included in the update.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

@goalque: Could you please explain how to download the .sh file from github? Me and other people are totally confused about that ^^

Share this post


Link to post
Share on other sites

@goalque:

I was finally able to test Version 0.9.5 on both devices. On the MBA where the -a mode is not required, it works perfectly well. However, on the rMBP (2014, GT750m) it's a step back – I'm back to manually plugging in the eGPU during the Apple Logo. Otherwise I end up with black screen boots again.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites
@goalque: Could you please explain how to download the .sh file from github? Me and other people are totally confused about that ^^

There is “Download ZIP” button in the front page (could be more visible). Another way:

curl -o ~/Desktop/automate-eGPU.sh https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh

@goalque:

I was finally able to test Version 0.9.5 on both devices. On the MBA where the -a mode is not required, it works perfectly well. However, on the rMBP (2014, GT750m) it's a step back – I'm back to manually plugging in the eGPU during the Apple Logo. Otherwise I end up with black screen boots again.

Thanks! The automatic mode is rewritten and I couldn’t test how well the script identifies dGPU equipped Macs, since I don’t own any.

For iGPU only Macs the [-a] mode only detects system updates, and that part seems to work well. I was able to do subsequent OS X 10.11 El Capitan Developer updates with the eGPU connected all the time. A new backup folder was generated for each build (they are also generated in manual mode).

I need some beta testers. Anyone who is interested in getting next pre-release versions and owns Mac with the dedicated graphics, send me a private message. I will send the download link.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites
Nvidia was quick with the new driver:
[FONT=Menlo]goalques-Mini:Desktop goalque$ sudo ./automate-eGPU.sh[/FONT]
[FONT=Menlo]Password:[/FONT]
[FONT=Menlo]*** automate-eGPU.sh v0.9.5 - (c) 2015 by Goalque ***[/FONT]
[FONT=Menlo]-------------------------------------------------------[/FONT]
[FONT=Menlo]Detected eGPU[/FONT]
[FONT=Menlo] GM204 [GeForce GTX 980][/FONT]
[FONT=Menlo]Current OS X[/FONT]
[FONT=Menlo] 10.10.5 14F27[/FONT]
[FONT=Menlo]Previous OS X[/FONT]
[FONT=Menlo] 10.10.4 14E46[/FONT]
[FONT=Menlo]Latest installed Nvidia web driver[/FONT]
[FONT=Menlo] Version: 346.02.02f03[/FONT]
[FONT=Menlo] Source: 3rd Party[/FONT]
[FONT=Menlo] Install Date: 8/14/15, 9:48 PM[/FONT]
[FONT=Menlo]
[/FONT]
[FONT=Menlo]Checking IOPCITunnelCompatible keys...[/FONT]
[FONT=Menlo]
[/FONT]
[FONT=Menlo]Missing IOPCITunnelCompatible keys.[/FONT]
[FONT=Menlo]Mac board-id not found.[/FONT]
[FONT=Menlo]Searching for matching driver...[/FONT]
[FONT=Menlo]
[/FONT]
[FONT=Menlo]Driver [346.02.03f01] found from:[/FONT]
[FONT=Menlo]http://us.download.nvidia.com/Mac/Quadro_Certified/346.02.03f01/WebDriver-346.02.03f01.pkg[/FONT]
[FONT=Menlo]Do you want to download this driver (y/n)?[/FONT]
[FONT=Menlo]y[/FONT]
[FONT=Menlo]  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current[/FONT]
[FONT=Menlo]                                 Dload  Upload   Total   Spent    Left  Speed[/FONT]
[FONT=Menlo]100 47.6M  100 47.6M    0     0  5301k      0  0:00:09  0:00:09 --:--:-- 5705k[/FONT]
[FONT=Menlo]Driver downloaded.[/FONT]
[FONT=Menlo]Removing validation checks...[/FONT]
[FONT=Menlo]Modified package ready. Do you want to install (y/n)?[/FONT]
[FONT=Menlo]y[/FONT]
[FONT=Menlo]installer: Package name is NVIDIA Web Driver 346.02.03f01[/FONT]
[FONT=Menlo]installer: Upgrading at base path /[/FONT]
[FONT=Menlo]installer: The upgrade was successful.[/FONT]
[FONT=Menlo]installer: The install requires restarting now.[/FONT]
[FONT=Menlo]Checking IOPCITunnelCompatible keys...[/FONT]
[FONT=Menlo]
[/FONT]
[FONT=Menlo]Missing IOPCITunnelCompatible keys.[/FONT]
[FONT=Menlo]IOPCITunnelCompatible mods done.[/FONT]
[FONT=Menlo]Board-id added.[/FONT]
[FONT=Menlo]All ready. Please restart the Mac.[/FONT]
[FONT=Menlo]goalques-Mini:Desktop goalque$[/FONT]

Share this post


Link to post
Share on other sites
There is “Download ZIP” button in the front page (could be more visible). Another way:

curl -o ~/Desktop/automate-eGPU.sh https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh

Thanks! Could you mention that in the 1st post as well, please?! :D

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Just for a sanity check, does the new version absolutely need a fresh install of OS X? I downloaded the latest version and took the gamble of running it over my existing OS X install and it seems to have worked fine. My only issue is I had to use the old terminal commands to install rather than the new 2 step process.

Share this post


Link to post
Share on other sites
Thanks! Could you mention that in the 1st post as well, please?!

Done :) I might wrap the script into Objective-C or Mono C# app some day.

Just for a sanity check, does the new version absolutely need a fresh install of OS X? I downloaded the latest version and took the gamble of running it over my existing OS X install and it seems to have worked fine. My only issue is I had to use the old terminal commands to install rather than the new 2 step process.

Any method that rewrites /System/Library/Extensions/ folder is ok. Seems that normal OS X 10.10.5 update will do the job for those backup kexts. Combo update for sure. It’s important to have original kexts, so that [-uninstall] option works.

  • Thumbs Up 2

Share this post


Link to post
Share on other sites

Thanks for the link. The script already works with OS X 10.11 Developer builds. For installing the web driver for OS X 10.11, just disable SIP and use -url option.

NVIDIA Releases Alternate Graphics Drivers for OS X 10.11 Beta (346.03.01)

AMDs won’t need any option. Drivers are built-in.

Share this post


Link to post
Share on other sites
The script tells you how :)

On my Mac Mini it didn't worked...maybe I'll try again in the next days.

Share this post


Link to post
Share on other sites

I downloaded automate-eGPU.sh through direct link (http://api.viglink.com/api/click?format=go&jsonp=vglnk_144035025036515&key=06e87f60a1b764163b9c0ca2c271d280&libId=idoqyj860100arb5000DAilww8npa&loc=http%3A%2F%2Fforum.techinferno.com%2Fdiy-e-gpu-projects%2F7910-diy-egpu-macbook-experiences-131.html&v=1&out=https%3A%2F%2Fgithub.com%2Fgoalque%2Fautomate-eGPU%2Farchive%2Fmaster.zip&ref=http%3A%2F%2Fforum.techinferno.com%2Fdiy-e-gpu-projects%2F7910-diy-egpu-macbook-experiences-132.html&title=DIY%20eGPU%20Macbook%20experiences%20-%20Page%20131&txt=https%3A%2F%2Fgithub.com%2Fgoalque%2Fautomate-...ive%2Fmaster.zip) which Dschijn shared with me to the desktop, and then step by step, I taped the command in the terminal (chmod +x ~/Desktop/automate-eGPU.sh, cd ~/Desktop, sudo ./automate-eGPU.sh) and then restarted the computer. The system parameters have changed and now in the Monitor tab under two monitors the Nvidia GTX970 is displayed. Before I used the script, nvidia cuda driver and web driver was installed and kest files was edited properly such in this video https://www.dropbox.com/s/663yh7x0ez55h24/Akitio%20-%20GTX%20Titan%20Z%20-%20MacBook%20Pro%20-%20Yosemite%2010.10.1.mp4?dl=0 after that under the characteristics of my GTX970 in the information about the system, I do not see any information about the additional display. This became the reason of using of "Automating the installation of eGPU". And now after using the script i see this information under my eGPU. However, a direct connection to the secondary monitor GTX970 works only via HDMI. When I connect a secondary monitor via DisplayPort appears "No Signal". However, at the moment of connection the main monitor reacts to it. And besides the mouse cursor on the secondary monitor began to move with strobe as if the monitor began to show less fps. It looks very bad. And naturally deteriorated image quality as compared with connecting the monitor directly to a MacBook through a Thunderbolt DisplayPort. This is most likely due to the fact that I have 4k monitor and HDMI does not support this feature. When I connected the monitor directly to macbook back (Thunderbolt-DisplayPort) after the action in the terminal without using eGPU, mouse continued move with strobe. Maybe I made a mistake when typing commands in the terminal. At this time, I had a MacBook attached to external video card and a second monitor via thunderbolt simultaneously. How to remove strobe in the image and haw to make the DisplayPort connectors on the GTX970 work properly? Now I decided to try it with Riser. But in the nearest future the card will be connected correctly via molex-to-barrel for example. Here are my system preference:

– Macbook pro (retina 15-inch, mid 2014)

– Benq 3201PT secondary display

– Akitio Thuder 2

– Nvidia GTX970

– PSU Crosair CX500M

– PCI-Express PCI-E 8X to 16X Riser (I know that it is not the best way and in the nearest future I will use molex to barrel adapter)

– Paperclip

P.S. I'm really junior in this topic and I apologize for the maybe stupid questions, and I hope your answers will not be too difficult for me.

Share this post


Link to post
Share on other sites
Before I used the script, nvidia cuda driver and web driver was installed and kest files was edited properly...

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

However, a direct connection to the secondary monitorGTX970 works only via HDMI. When I connect a secondary monitorvia DisplayPort appears "No Signal".

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

Share this post


Link to post
Share on other sites
Quote

Thanks for the link. The script already works with OS X 10.11 Developer builds. For installing the web driver for OS X 10.11, just disable SIP and use -url option.

NVIDIA Releases Alternate Graphics Drivers for OS X 10.11 Beta (346.03.01)

AMDs won’t need any option. Drivers are built-in.



Hey goalque, just had a quick play with this and found that the script doesn't seem to run on my version of El Capitan (15A262e). I had some problems disabling SIP, but eventually managed it by booting into the recovery OS, launching terminal and running "csrutil disable".

Your script was still telling me SIP was enabled, but I knew it wasn't so had a quick look into the shell script. It seems the command you used to determine if SIP was enabled has changed output. Mine is:

Daniels-MacBook-Pro: Desktop Dan$ nvram csr-active-config
csr-active-config    w%00%00%00


The scrip checks for g%00%00%00, whereas my build requires w%00%00%00. I'll look to submit a pull request to github sometime tomorrow unless you get to it before me.

All working great now :)
  • Thumbs Up 2

Share this post


Link to post
Share on other sites

@danielbrown941:

The way how the SIP works is continuously changing between builds. Keep an eye on Pike’s blog:

https://pikeralpha.wordpress.com/2015/08/19/csrutil-updated/

Mine is with “g”. I haven’t had time to play with OS X 10.11 for a while. It’s on my external SSD. Version 0.9.6 will be out as soon as I get feedback from beta testers. No big changes, bug fixes for the most part. I will check if I have the same “w” prefix with the build 15A262e/15A263e. Thanks for your observation!

EDIT: Version 0.9.6 is now sent to beta testers. Confirmed that worked with AMD & Nvidia on OS X 10.11 Developer Beta (15A263e). I used a command "csrutil enable --without fs" (gives "w" prefix).

Share this post


Link to post
Share on other sites

What’s new in 0.9.6

post-28870-14495000687476_thumb.png

  • Thumbs Up 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

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.