Jump to content
EwinRacing Flash Series Gaming Chairs
euqlaog

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

Recommended Posts

So… what was the problem? :D

Well ... don't laugh at me... but the hard drive must not be encrypted. I'm not into that enough to get why but I guess that this somehow inhibits the drivers from loading at the right moment in time. I decrypted the drive and out of a sudden, it worked when I plug in the eGPU at the moment the Apple Logo appears.

Strangely, I haven't made it work under Windows (which is usually the easier part?). But that it works with the MBPr under OS X with this awesome script gives me hope that I'll figure out that last piece in the end.

@Basti, I think this is still daisy chaining somehow. You should use a HDMI/DVI/DP Port from the GPU itself. (But I think I remember that I read about one guy who could actually run a thunderbolt display from his eGPU.)

Share this post


Link to post
Share on other sites

@BastiFH: Ignore the monitor overview. I've got shown that my TV was powered by the iGPU when it definitely was powered by the GTX 970. Simply run Unigine Heaven or something similar in a window on the screen you want to check and you'll see if it's powered by the eGPU.

Share this post


Link to post
Share on other sites

@Simurgh5: I guess the problem is the multi-slot enclosure which causes the system freeze on booting with the GT750M equipped MBP + Maxwell card. It’s not just the SE II. A manual delay (plug in the TB cable a bit later) is required, right? I don’t know if it’s possible to do the delay programmatically.

Share this post


Link to post
Share on other sites

@ Morv:

I also attached HDMI from Akitio to LG and suddenly three screens were shown in screen tab -> third with gtx 970 :)

Now I'll try some benchmarks with HDMI and DP - thanks again!!

Share this post


Link to post
Share on other sites

@BastiFH: Try making the external display that is connected to the eGPU the main screen in OSX!

@Simurgh5: No, I think that is quite interessting… so Filevault and eGPUs are causing problems? Huhhhhh… Can someone else confirm this?

Share this post


Link to post
Share on other sites
@BastiFH: Try making the external display that is connected to the eGPU the main screen in OSX!

@Simurgh5: No, I think that is quite interessting… so Filevault and eGPUs are causing problems? Huhhhhh… Can someone else confirm this?

So what I observed when I plugged in at the Apple Logo before was that I got stuck in the FileFault Login with a stuttering mouse cursor and without the ability to select / enter something. Basically the same that I observe in the boot selection. That brought me to the conclusion that somehow the FileFault interrupts the booting process, especially some loading of driver software occuring a bit later, maybe? Now, I end up in the actual login a bit later with turned on external display.

Share this post


Link to post
Share on other sites

So I just reinstalled the script (new version) and connected though DP to my LG but the only difference is in sysinfo: the LG screen is now assigned to my gtx 970.

But on the screen tab you can see that only iGPU is used for both screens, web driver is selected.

Air -original TB cable-> Akitio -DP cable-> LG

You can try set the external display as the primary (the white bar at the top in display preferences).

Regarding internal screen acceleration, there is no unambiguous answer, because it depends on the Mac hardware, operating system version, and application itself. There doesn’t exist similar technology as Nvidia Optimus in OS X at the moment.

For the two first factors, Apple sheds some light on:

https://support.apple.com/en-us/HT202053

https://developer.apple.com/library/...18/_index.html

As to my own experiences with the 2014 rMBP, you can run OpenGL apps in the internal screen accelerated by eGPU, if they are started on the external eGPU monitor. If you detach the monitor cable, the Valley still runs accelerated by the eGPU in the internal screen. Some games doesn’t allow window move, so if you detach the cable, the app most likely crash. But if you are lucky, the game continues running on the internal screen.

Some image processing applications, such as Pixelmator, can utilise nMP’s dual GPUs. So it depends on how the application handles CoreImage API.

The new Metal API in 10.11 brings some very interesting features, we don’t know yet how this has an effect on OS X gaming:

http://www.extremetech.com/gaming/20...an-to-the-curb

Share this post


Link to post
Share on other sites
@Simurgh5: I guess the problem is the multi-slot enclosure which causes the system freeze on booting with the GT750M equipped MBP + Maxwell card. It’s not just the SE II. A manual delay (plug in the TB cable a bit later) is required, right? I don’t know if it’s possible to do the delay programmatically.

Can you elaborate a bit more on that? Why does the multi-slot cause this problem? On the MBA-2013, I don't have any issues with starting. I can boot with the plugged in eGPU (but I only have Mac OS there at the moment).

Share this post


Link to post
Share on other sites

@ Morv :

ran Heaven each with HDMI and DP connected, no difference except for the frequency limitation of 30 by HDMI.

will stay with DP :D

that setup will do for the time being until TB3 Air's / MB's will arrive next year <3

@ goalque :

Can't wait to see these improvements with a TB3 setup :D I'm already happy with my TB1-limited/TB2-built under OSX

thanks guys for your support!!

Share this post


Link to post
Share on other sites
Can you elaborate a bit more on that? Why does the multi-slot cause this problem? On the MBA-2013, I don't have any issues with starting. I can boot with the plugged in eGPU (but I only have Mac OS there at the moment).

This may go out of the topic, you can take a look this thread:

http://forum.techinferno.com/diy-e-gpu-projects/8412-2013-15-mbp-gt750m-gtx-980-sonnet-iii-d-wont-boot.html

I have been told similar problems with other multi-slot enclosures as well when using Maxwell card + 750M equipped Mac. Mac with the iGPU only is recommended.

Share this post


Link to post
Share on other sites

Thank you so much for this. Now it's a lot easier for anyone to have an eGPU setup on OS X!

I'm currently testing this on Late 2013 rMBP 15 with 750M + Titan X + Sonnet III-D. Works so far in 10.10.1, I will see if it works on 10.10.3.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites
Hi

Much appreciate this,

My friend passed it on...

Just to let you know

it works minus the screen output on a nMP with a GTX 980

If you know how to fix this it would be appreciated.

Will also test on my MBP soon

Had the chance to test it yesterday as well with a nMP and had the same problem.

GTX 970 with nMP is listed, but no display output.

Share this post


Link to post
Share on other sites

There is a known issue with the nMP's eGPU screen output. Please try the following after running the script, different TB ports and report if that helps:


[FONT=Menlo]sudo /usr/libexec/PlistBuddy -c "Set :IOKitPersonalities:AppleGraphicsDevicePolicy:ConfigMap:Mac-F60DEB81FF30ACF6 none" /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist[/FONT]


[FONT=Menlo]sudo kextcache -system-caches[/FONT]

However, I think nMP users mainly use dGPU for screen output and Thunderbolt eGPU(s) for computing (GPGPU).

  • Thumbs Up 3

Share this post


Link to post
Share on other sites

Hey goalque,

Thank you for the wonderful script that you have written! I managed to get 10.10.3 to work with my 2013 15" with 750M dGPU + Titan X + Sonnet III-D. For the first time I now have a completely enclosed eGPU! I was willing to sacrifice Windows since I don't need it anymore.

However, I have come across a problem. The monitors I've tested my setup with are an HP 22xi with 1080p resolution and a Dell UP2414Q with a 4k resolution. The 22xi works great however, I can only use the UP2414Q at 3840x2160 30Hz! I cannot use it at 60Hz even though I have enabled DP 1.2 (MST) on the monitor. I've restored the monitor to its factory settings and I still get the problem. I don't know if you can help me with this because it might be a kext problem but it would be great if you could!

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

I think Apple is restricting 4k for the Macs. Maybe you can find sth from google about 4k Mac hacks?!

Share this post


Link to post
Share on other sites
Hey goalque,

Thank you for the wonderful script that you have written! I managed to get 10.10.3 to work with my 2013 15" with 750M dGPU + Titan X + Sonnet III-D. For the first time I now have a completely enclosed eGPU! I was willing to sacrifice Windows since I don't need it anymore.

However, I have come across a problem. The monitors I've tested my setup with are an HP 22xi with 1080p resolution and a Dell UP2414Q with a 4k resolution. The 22xi works great however, I can only use the UP2414Q at 3840x2160 30Hz! I cannot use it at 60Hz even though I have enabled DP 1.2 (MST) on the monitor. I've restored the monitor to its factory settings and I still get the problem. I don't know if you can help me with this because it might be a kext problem but it would be great if you could!

There are issues with MST monitors... Not SST though, i have a U590 @ 4k at 60hz... macrumours has a whole thread about it...

Share this post


Link to post
Share on other sites

Screen output on nMP works fine if you actually know how the hack works.

As demonstrated weeks and weeks ago.

Share this post


Link to post
Share on other sites
Screen output on nMP works fine if you actually know how the hack works.

As demonstrated weeks and weeks ago.

Yeah, with the eEFI right?

Share this post


Link to post
Share on other sites
Yeah, with the eEFI right?

No eEFI needed.

goalque doesn't really know why this hack worked.

so many wonderful things figured out

Share this post


Link to post
Share on other sites

As a heads up though, I had 4k60 MST running on OS X on my 2013 15" 750m with or without my previous eGPUs.

With this problem, I also plugged in the monitor straight to my laptop (i.e. eGPU not plugged in at all) and I still can't enable 4k60. I tried on both 10.10.1 and 10.10.3. I don't know what's happened :(

Share this post


Link to post
Share on other sites

I wrote the first version of the script in two days. If anyone has a question such as how a single regexp pattern works, how the script detects the latest installed non-beta version and build, or why do we need \x0D replace from the Nvidia’s HTTP response, I can explain them in detail.

Apple’s laptops with the dGPU are more difficult due to a gmux device, which controls the switching between GPUs. Unfortunately I cannot test with every Mac and display, and I don’t own any dGPU equipped Mac, so development regarding those will be dependent on this community’s intriguing and helpful testing results. Additional features will be added as I get a valid confirmation. If anyone likes to join the script development, please propose changes at GitHub. It’s open source. AMD support will be next on the list, but I would like to separete it from Nvidia as the script may grow too complicated if-else structure.

  • Thumbs Up 3

Share this post


Link to post
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.