Jump to content

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


euqlaog

Recommended Posts

On 11/18/2015 at 4:57 PM, Morv said:

No, there is no known way. If there was it would be obviously implemented in the script. So, yes, for OS X you need an external display to use the eGPU for games or other things. The eGPU will not be used for games etc. on your internal display.

 

Hello! 

 

I have a Macbook Pro Retina late 2013 with 750M and Iris Pro 5200. I was reading through this thread, and I was able to successfully install my eGPU GTX 760 on my Mac OSX El Capitan. Thanks for the script!

 

I was able to run the eGPU with an external monitor via HDMI. Is there still no way to use the internal screen with eGPU via Optimus?

 

Also, I could not figure out in Mac OS how to run games on the external monitor? When I have the external monitor hooked up with HDMI on the eGPU, when I launch a game, it just launches on the internal Macbook screen. The external screen is still showing the desktop. I am running the external screen as a "second monitor" (not 'duplicating' the screen).

 

Should I just run both monitors as "duplicates" and will the eGPU automatically do the GPU work for the external screen if I launch a game? Or is there another way to launch the games in the second screen?

 

Thanks for any advice!!

Link to comment
Share on other sites

Hey all, i recently switched out my Titan Z for a Titan X and was successfully able to run the script and install. But after a while I started getting random Kernel panics a few times, and then my Akitio simply stop recognizing my graphics card, though the Akitio and gpu still successfully start and shutdown with my computer every time.


When I uninstall and attempt to reinstall the script I now get the message, "Thunderbolt connected, but no device detected". I've tried numerous times, and even upgraded my system to El Capitan thinking it could be a driver issue.

 

My system is a Late 2013 iMac, and i'm using an Akitio powered by  split barrel plug mod (both molex ports going to seperate rails). 

 

One more note, think a few times the computer would also attempt to read the egpu on startup and get stuck in a continous restart loop while loading drivers.

 

Trying to do a complete fresh install of OSX and hope it works, but if this situation sounds familiar open to ideas from anyone.

Link to comment
Share on other sites

I just reinstall a fresh version o OS X Capitan, and still nothing. On one reboot attempt though i did get this kernel panic:

 

*** Panic Report ***

panic(cpu 0 caller 0xffffff8016dd255a): Kernel trap at 0xffffff7f99720567, type 14=page fault, registers:

CR0: 0x000000008001003b, CR2: 0x00000000000004b8, CR3: 0x0000000838be5042, CR4: 0x00000000001627e0

RAX: 0x0000000000000000, RBX: 0x0000000000000001, RCX: 0xffffff7f999142d0, RDX: 0x0000000000000001

RSP: 0xffffff93be85b840, RBP: 0xffffff93be85ba30, RSI: 0x0000000000000006, RDI: 0xffffff8350958008

R8:  0x0000000000000020, R9:  0x0000000000000001, R10: 0xffffff8052ed9e20, R11: 0x000000000000002f

R12: 0x0000000000000000, R13: 0x0000000000000020, R14: 0x000000000000702b, R15: 0xffffff7f999143e0

RFL: 0x0000000000010202, RIP: 0xffffff7f99720567, CS:  0x0000000000000008, SS:  0x0000000000000010

Fault CR2: 0x00000000000004b8, Error code: 0x0000000000000000, Fault CPU: 0x0, PL: 0

 

Backtrace (CPU 0), Frame : Return Address

0xffffff93be85b4d0 : 0xffffff8016cdf792 

0xffffff93be85b550 : 0xffffff8016dd255a 

0xffffff93be85b730 : 0xffffff8016df0233 

0xffffff93be85b750 : 0xffffff7f99720567 

0xffffff93be85ba30 : 0xffffff7f99721198 

0xffffff93be85bb00 : 0xffffff7f996ccac5 

0xffffff93be85bb40 : 0xffffff7f996cc5b4 

0xffffff93be85bbc0 : 0xffffff7f996cbd62 

0xffffff93be85bc20 : 0xffffff7f996cd6be 

0xffffff93be85bc60 : 0xffffff7f98018535 

0xffffff93be85bcf0 : 0xffffff7f9801014b 

0xffffff93be85bd20 : 0xffffff8017296c01 

0xffffff93be85bd70 : 0xffffff80172e07f9 

0xffffff93be85bde0 : 0xffffff8016d9b8f1 

0xffffff93be85be30 : 0xffffff8016ce3ef3 

0xffffff93be85be60 : 0xffffff8016cc78a8 

0xffffff93be85bea0 : 0xffffff8016cd72e5 

0xffffff93be85bf10 : 0xffffff8016dbcd2a 

0xffffff93be85bfb0 : 0xffffff8016df0a56 

      Kernel Extensions in backtrace:

         com.apple.iokit.IOGraphicsFamily(2.4.1)[429C688E-8DDA-3D15-9C6E-6F3F4855C424]@0xffffff7f98006000->0xffffff7f98040fff

            dependency: com.apple.iokit.IOPCIFamily(2.9)[F398CE94-0FBD-3E8E-A7AB-55F7F05A81ED]@0xffffff7f9752c000

         com.apple.nvidia.driver.NVDAResman(10.0.8)[57B619C4-A94E-341E-A276-5C4F83341C49]@0xffffff7f996ca000->0xffffff7f99942fff

            dependency: com.apple.iokit.IOPCIFamily(2.9)[F398CE94-0FBD-3E8E-A7AB-55F7F05A81ED]@0xffffff7f9752c000

            dependency: com.apple.iokit.IONDRVSupport(2.4.1)[ED747668-8718-3FB4-A4F4-2AC731D5B16F]@0xffffff7f9804d000

            dependency: com.apple.iokit.IOGraphicsFamily(2.4.1)[429C688E-8DDA-3D15-9C6E-6F3F4855C424]@0xffffff7f98006000

            dependency: com.apple.AppleGraphicsDeviceControl(3.12.6)[F211EB28-182A-34BB-A610-87667618F925]@0xffffff7f991dd000

Link to comment
Share on other sites

The message “Thunderbolt device is connected, but no external GPUs detected” indicates a hardware or power issue.

 

3 hours ago, kblack21 said:

i'm using an Akitio powered by  split barrel plug mod (both molex ports going to seperate rails). 

Would you describe in more detail.

Edited by goalque
Link to comment
Share on other sites

I had 2 separate Molex cables running to 2 different ports on my PSU.  Though recently, while testing combinations, I switched to just using 2 molex plugs on the same cable, instead of using 2 separate cables. 

 

I've also since disconnected and reconnected everything for about the 5th time, and the script has finally ran and installed properly! I've had many failed attempts over the last 2 days, but this is my first successful install on El Capitan 10.11.3, so i'm hoping it stays stable...

 

I've also checked out the rest of your thread, and as a precaution, decided to run my second monitor as my main using the DP on the Titan x... hoping that maybe there's no mix up between my eGPU an the nvidia 790M in my iMac  

 

Thanks goalque

Edited by kblack21
Link to comment
Share on other sites

Ok it's not working again but I think you gave me the answer.

1 hour ago, goalque said:

The message “Thunderbolt device is connected, but no external GPUs detected” indicates a hardware or power issue.

I accidentally hooked up the PSU to the Akitio, but forgot to plug in the 6-8 pin connector to the GPU... and noticed it powered up like it always has.

 

So i think my PSU isn't giving the GPU power :logik:, or not enough. This could of been the case for a while now, and I've gone through 2 Akitio Boxes and 2 different GPU's.

 

Any thoughts on this, as I know the PSU is working enough to power the Akitio....

Link to comment
Share on other sites

@kblack21

Molex plugs should belong to the computer museum nowadays, since they often loosen up. Be careful with a self-made molex-to-barrel plug, especially when you mix two cables. I would use a single cable which is thick enough. Always double check with a multimeter.

 

This guide is worth reading:

 

 

Link to comment
Share on other sites

Hey guys.

 

I've finally got my setup patched together and im working on getting the software part to work. When i run the script i get this error as seen in the screen shot. Any ideas? I run Macbook Pro 15" retina with 750m late 2013 with el capitan. Is the only solution to downgrade the OS?

 

*** automate-eGPU.sh v0.9.8 - (c) 2015 by Goalque ***

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

Detected eGPU

 GM204 [GeForce GTX 970]

Current OS X

 10.11.4 15E39d

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 not found.

Searching for matching driver...

 

 

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

Link to comment
Share on other sites

3 hours ago, Crof said:

Hey guys.

 

I've finally got my setup patched together and im working on getting the software part to work. When i run the script i get this error as seen in the screen shot. Any ideas?

The script scrapes only official links automatically. For leaked OS X beta builds, you can use -url option.

  • Thumbs Up 1
Link to comment
Share on other sites

“The author of that script isn't very smart” from mouth of the smarter half of @MVC. Well, maybe I should recall my artificial intelligence lessons and use evolution algorithms to make the script more smarter if I’m not, right? Fortunately, the EFI side is not a black box. Apart from a few Apple’s proprietary GUIDs, it’s all precisely described by Intel.

 

Time to bury the hatchets @netkas. Sooner or later I will remove the warning box from GitHub, regardless of whether you remove your friend’s defamation posts about me. I’ve nothing against you. My apologies, what I said when you left this forum. At that time, I just had information security course at work, and I shouldn’t apply these things in my free time.

 

A user named “denstorefedepikkemand456” from your forum never asked from me how to fix the 5K iMac issue. The solution is here:

https://www.techinferno.com/index.php?/forums/topic/7989-script-automating-the-installation-of-egpu-on-os-x-inc-display-output/&do=findComment&comment=138159

 

I would first contact the creator of the script. That’s me. Like @mmomega and @chrise did. Nice pictures at MR :)

 

http://forums.macrumors.com/threads/late-2015-imac-5k-r9-395x-gtx980ti-egpu.1957652/

 

@mmomega Would you update your implementation guide:
https://www.techinferno.com/index.php?/forums/topic/9386-2015-imac-5k-27-r9395x-late-2015-gtx980ti16gbps-tb2-akitio-thunder2-osx10113win10-mmomega/

and say a couple of words about my quick fix in the mean time, before the 0.9.9 release? As said earlier, the next version gives an option for CUDA processing or eGPU screen output with a 5K iMac.

 

@ALL: Regarding the EFI app, what license would you suggest? GNU-EFI itself is under BSD. Should I keep new findings open source or not? Give your opinion. Researching the eGPU area is just my passion at this point of my life. I don’t know how long, but don’t worry, I’ll see the TB3 phase.

 

I will sacrifice my 2011 Mac mini. It may become a non-bootable brick as I’m trying to replace PCI binary paths. I’ll take the risk. There’s a safe path already that can output text, but I just want to dig deeper. Now I can use my favourite IDE, an everyday tool in my job. Visual Studio 2015.

 

For new readers, take a look at this:

https://www.techinferno.com/index.php?/forums/topic/7989-script-automating-the-installation-of-egpu-on-os-x-inc-display-output/&do=findComment&comment=137452

Edited by goalque
  • Thumbs Up 3
Link to comment
Share on other sites

In any case @goalque is the only one, who makes possible to use native 5k screen for CUDA rendering with egpu!

Is there any chance to monitor GPU sensors like temperature or thunderbolt data throughput?

Link to comment
Share on other sites

2 hours ago, aiv said:

In any case @goalque is the only one, who makes possible to use native 5k screen for CUDA rendering with egpu!

Is there any chance to monitor GPU sensors like temperature or thunderbolt data throughput?

Well, I don’t want any comparison who is smarter or not. I believe that any software engineer in the field of information processing tech is able to achieve the same.

 

Some graphics cards support I2C bus and Apple provides IOI2CInterface.h reference. I can alter the brightness of the eGPU monitor, but I’ve not looked further if I can access temperature data. Depends on the architecture of the GPU. There is NVAPI that provides thermal and cooling controls:

http://docs.nvidia.com/gameworks/content/gameworkslibrary/coresdk/nvapi/group__gputhermal.html#ga3325f0cfbfb6584377589cdc2311c431

 

Unfortunately it’s not available for OS X. OS X web driver does imply the existence of this API but it’s private. However, it’s quite easy to read the eGPU load in percent.

 

-clpeak option gives you bandwidth. You have to ask from the author of the clpeak if those numbers are correct. My script just provides compliation for OS X.

Link to comment
Share on other sites

Ok, sad update unfortunately.  I've been running the eGPU setup now for a month thanks to the awesome script that you guys have created.  However, just this week Mac OS X (El Capitan)  has been crashing anytime I do anything graphics intensive.  Whether I play a browser based gamed or Rust via Steam, the game will load and then suddenly crash the whole computer.  It reboots to the error message in 5-6 languages in front of a I/O power button image.  I have uninstalled and reinstalled the script with and without -a, updated the drivers, I even bought a new graphics card thinking that maybe it had crapped out.  I can get the computer to boot and work with my external monitor running from the eGPU but crashes when I play anything.  I have also tried lowering the game settings to minimum and it will still crash.  At times I can get to the game menu before it crashes.  Sometimes it crashes on boot.  At first I would be able to boot the game at max settings then I would have to reduce the settings and now it won't load at all sometimes.

 

I have a 2015 Macbook Air with an Akitio thunderbolt case with an Nvidia GTX 970 graphics card running OS X 10.11.3.  As I have mentioned, it was working fine when I first set it up with my old graphics card which was the Nvidia GTX 750ti FTW but it slowly began acting unpredictably. I also switched back to the old graphics card and nothing.  I have also uninstalled Rust via Steam and removed all local content and then reinstalled. Nothing.  Any help would be greatly appreciated as I would love to be able to get back to playing again.  

Link to comment
Share on other sites

@viniguez I would remind that Nvidia doensn’t officially say about support for eGPU graphics on OS X. They say: “our driver includes beta support for MacBook Pros and iMacs with Kepler GPUs, as well as beta support for those using Maxwell GPUs in older Mac Pro systems”.

 

Those drivers are not meant for eGPU graphics, and after Apple releases a new OS X build, Nvidia has to rapidly adapt to it. This will likely result in bugs. The script downloads always the latest driver matching your build, but I cannot guarantee that it will be stable. So the best way to have stable system, is to restore older OS X version and run the script again. Keep Time Machine backups.

 

Another component can be a stressed AKiTiO or your PSU.

 

You can also try DisableMonitor app, so that the internal display doesn’t conflict with the eGPU display.

 

@Manjerone You have a dual-chip GPU, so the view is normal. I don’t know how OS X behaves with those cards via TB. Could be that OS X can only utilize the other GPU of your card.

Link to comment
Share on other sites

Hi. 

 

Sorry for my english ;) I have been looking for solution on the forum, but I could not find any results. I have MBP late 2011, version OSX 10.10.5, i7, 2,2 GHz, 16 GB RAM, eGPU: Akitio, GeForce GTX 970.

 

 

I have been doing everything stick to the instructions:

, but unfortunately i have met problem in the terminal: "Hot-plug the Thunderbolt cable and run the script again." I did manualy edited kext files, run graphic card but then i have met kernel panic, and mac has started to re-booting itself continously. I have found information that kext musn't be edited manually, and stick to the previous instructions i have cleared NVRAM & SMC reset, erase & reinstall OS X., and problem  "Hot-plug the Thunderbolt cable and run the script again." still apears. I have pluged Akitio without graphic card to check if system reads TB PCIE Dock, and it is alright. Have anyone have any idea how to solve this problem. I am very desperate :< 

 

Link to comment
Share on other sites

@goalque thanks so much for the script and support you provide. I've scoured these posts and with your help I've managed to get the 980Ti/Akitio combo running while leaving the native 5k alone. That line 62 trick works great. I do have a few small questions and/or problems that I hope you can help me to address:

 

ALBUM OF IMAGES: http://imgur.com/a/byL6W

 

1) If don't disable the eGPU secondary monitor output (using the line 62 trick) I get very weird resolutions on the 5k. When I first boot up, only the center of the monitor is displayed. It looks like how it is when you display vertical video on a widescreen device. If I click 'sleep' before logging in, and then wake it back up, the entire screen fills out but everything gets huge. It's like it thought it was 5k, then HD. I can never get it to look or feel like the native 5k afterwards.

 

2) For gaming, starcraft 2 doesn't recognize the 980Ti unless I am utilizing the secondary monitor set up as my 'primary' through SystemPrefs/Displays. When I do that, I can run the game in windowed mode and drag it back to my 5k, however, I get horrible fps. It's really bad. Any ideas on how I can use the 980Ti for gaming on the 5k? I don't own a dedicated secondary display. I've been using my TV for testing purposes.

 

3) The big problem. My PSU (Corsair CX750M) makes some very interesting noises when the eGPU is under load. I'm not sure how to describe it, but it sounds like very fast ticking noises, definitely from inside the PSU chassis. It happens if I run the secondary monitor with starcraft 2 open, but it also happens when I've disabled the eGPU output and only use the eGPU for rendering support. It sputters and changes pitch depending on how intense the load is at the moment. Ever run into this before? I doubt 750w is too little power for such a setup. Attached audio clip of PSU noise.

 

 A little about my set up:

 

Computer Hardware:

 

eGPU Hardware:

  • EVGA NVidia GEFORCE GTX 980Ti
  • Akitio Thunder2 Pcie
  • Corsair CX750M PSU

 

 

Setup is as follows: Akitio board removed and mounted to a custom wood base (I didn't want to destroy the factory case). 980Ti installed directly to the pcie on the akitio board. PSU directly powered by a ups (120v output with almost no load). The PSU came with cabling that I used to power both the 980Ti and the Akitio board. The 980Ti is powered via an 8pin connection on the back of the PSU to a 6-pin and 6-pin+2-pin on the 980Ti. (the cable has two 6-pin connectors and two 2-pin connectors attached at the end, but attaches at the PSU by a single 8-pin). The Akitio is powered by a 6-pin connection at the PSU that had 3 molex connectors on the end. There are 2 molex connectors attached that run to a single 12v DC Barrel plug. All connections securely soldered, heatshrinked, and appear solid. 

 

For testing the noise, I can either run a secondary monitor under load or run my single 5k and use the GPU accelerated nodes inside of a program called Nuke. Changing the focus of an image, for example, causes the PSU to make noise when sliding the values around because it is GPU accelerated. 

 

Thanks for the help in advance. Truly appreciative of what you've done here. 

 

psu_noise.m4a.zip

Edited by cyphersk8
Added Audio clip
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.