Jump to content

2013 15" MBP GT750M + GTX780Ti@16Gbps-TB2 (Sonnet III-D) +OSX10.10 [Mark]


Mark

Recommended Posts

If you are looking to get this to work with Windows 8.1, then please follow this link: http://forum.techinferno.com/implementation-guides/6689-%5Bguide%5D-2013-15-macbook-pro-gt750m-gtx780ti%4016gbps-tb2-sonnet-ee-iii-d-win8-1-a.html

As all of you Mac users know, Yosemite has come out! I have spent ages trying to get my eGPU to work, and after trawling around the Internet as well as several clean installs, here is my guide for getting it to run possibly the most problematic NVIDIA GPU (bar the dual-chip GPUs) with Apple’s newest OS.

My eGPU Setup:

 

  • Late 2013 15” MacBook Pro with Retina Display and GT 750M dGPU
  • Sonnet III-D Thunderbolt Expansion Chassis
  • EVGA NVIDIA GTX 780 Ti SC with ACX Cooler
  • Seasonic M12II EVO Edition Fully Modular PSU (620W)
  • ATX PSU Jumper

 

What software is needed:

 

 

How to get it to work (Or how after so many tries and methods, I managed to get it to work):

 

  • Do not plug in your eGPU yet at this point.
  • After a clean install (I usually do every time an OS comes out), open up Terminal and type/copy this:

 

sudo nvram boot-args="kext-dev-mode=1”
(This is because Yosemite disables unofficial (or in this case, modded) drivers by default, so we’re just enabling it.)

 

 

 

  • Press Enter, then type your password. Press Enter again.
  • We will now be editing three .kext files! To do this, you need an editing program that supports it, such as TextWrangler. These three files are:

 

/System/Library/Extensions/NVDAStartup.kext/Contents/Info.plist
/System/Library/Extensions/IONDRVSupport.kext/Info.plist
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist

 

  • On the Finder menu bar select “Go”. Then click on “Go to Folder”. It will ask you which folder to go to. Copy and paste one of them.
  • It should get you straight to the file, and it should be highlighted! Open the Info.plist file with TextWrangler.
  • <span class="s2">Now, look for sections beginning with:
     
    <key>CFBundleIdentifier</key>

    This section ends with

     
    </dict>

    At the same indent, and just before "dict", add the following:

     
    <key>IOPCITunnelCompatible</key>
    <true/>
    

    After that, save the file. Afterwards, do the same with the other two kexts.</true>

  • There is one of these in the Info.plist in NVDAStartup.kext, three in IONDRVSupport.kext and a long one in AppleHDAController.kext.
  • Open Kext Wizard. Click on the tick box named “System/Library/Extensions”. It should tick the two boxes below as well. Make sure the Target disk is the disk the OS is installed on. After that click “Execute”. After some time, it should be complete.
  • Shut down the computer.
  • Plug in the eGPU via Thunderbolt. Then switch it on. I switch on the PSU first, then plug in the Sonnet enclosure after a couple of seconds. It may be different for your set-up.
  • Switch on the MacBook.
  • After booting, install your modded NVIDIA Driver. Follow the steps then restart your computer.
  • Now, what happened is that your NVIDIA Driver has reset one of the .kext files! So go back to:

 

/System/Library/Extensions/NVDAStartup.kext/Contents/Info.plist

 

 

  • Then, repeat the .kext editing process that you have done earlier.
  • After doing that, run Kext Wizard in the same way as you have done earlier.
  • Shut down your computer and switch off your eGPU.
  • Switch on your eGPU first then switch on your MacBook.
  • It should finally boot up with the eGPU! If it hasn’t (it might not sometimes), just restart the MacBook.
  • Optional: Install the CUDA Driver.

 

 

 

post-28266-14494998550583_thumb.png

 

Some weird observations:

 

  • When the MacBook’s screen is the primary display, “About this Mac” will show both screens (the internal and external one) powered by the laptop’s GPU. Making the external screen primary will show both screens powered by the eGPU. However, this is just a bug, as with Unigine Valley I was getting the same performance on the internal screen as without the eGPU.

 

 

 

post-28266-14494998549992_thumb.png

 

 

  • Without the CUDA driver, most scenes render at around 60FPS, except one or two. This makes me think that there is some sort of hard VSync going on with my GPU. Installing the CUDA Driver got rid of this problem.
  • Talking about CUDA, every time I start up the computer, it’s pestering me to update to the newest version, even though it is the newest version. It is possibly because the newest version was released before Yosemite came out.
  • As with Mavericks, Safari is glitchy as hell when the eGPU is plugged in. There are graphical glitches when scrolling or putting the mouse over links, etc. I’m stuck with Chrome, which is also a perfectly good browser anyway. It is only Safari that does this.
  • When I first tried to get my eGPU to work on Yosemite, I changed the three .kexts after installing the driver (as you would normally do). However, I couldn’t get it to work at all, and the computer won’t recognise it either (Shows up as “NVIDIA Chip Model”). For some weird reason, I got this to work by changing the three .kexts before installing the driver, and changing the one that got reset after installing the driver.

 

Performance: Better than Mavericks. 2,510 vs 1,935 on Mavericks on Unigine Valley Extreme HD, an improvement by just under 30%!

 

 

post-28266-14494998550817_thumb.png

 

Links (for reference):

A Thunderbolt GPU on a Mac : How-to | Le journal du lapin

Un GPU externe sous Yosemite | Le journal du lapin

  • Thumbs Up 2
Link to comment
Share on other sites

Some weird observations:

  • When the MacBook’s screen is the primary display, “About this Mac” will show both screens (the internal and external one) powered by the laptop’s GPU. Making the external screen primary will show both screens powered by the eGPU. However, this is just a bug, as with Unigine Valley I was getting the same performance on the internal screen as without the eGPU.

[ATTACH=CONFIG]12853[/ATTACH]

I think the screenshot is correct. If you will be using your macbook's screen as the main display, the built-in GPU will be utilized while if you use external display as primary the eGPU kicks in. I believe the result is different if you drag the the Unigine application in MBP display. I am away from my setup right now (traveling), but I believe I tried this before. Can you please test this?

  • Without the CUDA driver, most scenes render at around 60FPS, except one or two. This makes me think that there is some sort of hard VSync going on with my GPU. Installing the CUDA Driver got rid of this problem.
  • Talking about CUDA, every time I start up the computer, it’s pestering me to update to the newest version, even though it is the newest version. It is possibly because the newest version was released before Yosemite came out.
  • As with Mavericks, Safari is glitchy as hell when the eGPU is plugged in. There are graphical glitches when scrolling or putting the mouse over links, etc. I’m stuck with Chrome, which is also a perfectly good browser anyway. It is only Safari that does this.

I did not encounter this issue on my Mac Mini and MBP 2011 13inch on Sonnet III-D. Are you running the Safari on MBP or External display?

  • When I first tried to get my eGPU to work on Yosemite, I changed the three .kexts after installing the driver (as you would normally do). However, I couldn’t get it to work at all, and the computer won’t recognise it either (Shows up as “NVIDIA Chip Model”). For some weird reason, I got this to work by changing the three .kexts before installing the driver, and changing the one that got reset after installing the driver.

Did you use the beta 10.10 NVIDIA webdriver? I did encounter that issue too, what I did was to change some key values in the NVDAStartup.kext and fixed the issue. see my post here. http://forum.techinferno.com/enclosures-adapters/7205-us%24200-akitio-thunder2-pcie-box-16gbps-tb2-56.html#post109238

Link to comment
Share on other sites

Did all the steps (was a bit confused about the <key></key>CFBundleIdentifier part), but my GTX 970 is not recognized. The Nvidia Web Driver instalation worked, but the card itself isn't listed in OSX…

Any thoughts?

Edit: The card is recognized somehow… but not as a GTX 970:

post-26280-14494998583946_thumb.jpg

post-26280-14494998584218_thumb.jpg

Also seems like the NVDAStartup isn't loading:

post-26280-14494998584486_thumb.jpg

Link to comment
Share on other sites

Did all the steps (was a bit confused about the <key></key>CFBundleIdentifier part), but my GTX 970 is not recognized. The Nvidia Web Driver instalation worked, but the card itself isn't listed in OSX…

Any thoughts?

Edit: The card is recognized somehow… but not as a GTX 970:

[ATTACH=CONFIG]12864[/ATTACH]

[ATTACH=CONFIG]12865[/ATTACH]

Also seems like the NVDAStartup isn't loading:

[ATTACH=CONFIG]12866[/ATTACH]

Can you post the screenshot section of your modified NVDIAstartup kext file?

There's already a final release of NVidia 10.10 webdriver (not BETA), maybe you can try this step.

http://us.download.nvidia.com/Mac/Quadro_Certified/343.01.01f01/WebDriver-343.01.01f01.pkg

You do however need to bypass the hardware and software validation of the package. Here's my guide how to modify the package.

http://forum.techinferno.com/diy-e-gpu-projects/7792-[warning]-osx-egpu-os-x-releases-10-9-5-update.html

Link to comment
Share on other sites

I think the screenshot is correct. If you will be using your macbook's screen as the main display, the built-in GPU will be utilized while if you use external display as primary the eGPU kicks in. I believe the result is different if you drag the the Unigine application in MBP display. I am away from my setup right now (traveling), but I believe I tried this before. Can you please test this?

I did not encounter this issue on my Mac Mini and MBP 2011 13inch on Sonnet III-D. Are you running the Safari on MBP or External display?

Did you use the beta 10.10 NVIDIA webdriver? I did encounter that issue too, what I did was to change some key values in the NVDAStartup.kext and fixed the issue. see my post here. http://forum.techinferno.com/enclosures-adapters/7205-us%24200-akitio-thunder2-pcie-box-16gbps-tb2-56.html#post109238

- That's how I found out that the eGPU doesn't power the internal screen! I dragged the Unigine Valley window from my external screen!

- I get this issue when I am plugged in to my eGPU. I've had it happen to me on Mavericks with both the SEL and the III-D, as well as an EVGA and an MSI 780 Ti. I think that this issue may be specific to my laptop model.

- Also, I waited until the final web driver for Yosemite was released! The one that I've been using all along was the web driver!

I installed the driver WebDriver-343.01.01f01.

[ATTACH=CONFIG]12868[/ATTACH]

Well, that's strange, but I have heard of people having issues with getting a 970 to run with Yosemite on their Hackintoshes. You've done it correctly on the .kext though.

Link to comment
Share on other sites

I installed the driver WebDriver-343.01.01f01.

[ATTACH=CONFIG]12868[/ATTACH]

Can you check your systems build version and see if it matches the string value of your kext file for < key >NVDARequiredOS< / key > < string > 14A389< / string >

Link to comment
Share on other sites

No, was just testing it under Windows 8.1 as it is a new GTX 970. Didn't tried that with Mavericks.

Was hoping to get it working with Yosemite.

No idea why the NVDAStartup isn't loading? Can I somehow recreate the validation of the kext?

post-26280-14494998585863_thumb.jpg

Link to comment
Share on other sites

No, was just testing it under Windows 8.1 as it is a new GTX 970. Didn't tried that with Mavericks.

Was hoping to get it working with Yosemite.

No idea why the NVDAStartup isn't loading? Can I somehow recreate the validation of the kext?

[ATTACH=CONFIG]12870[/ATTACH]

Did you issue this command after you made your modify the kext files? sudo kextcache -system-caches

Here's the quick step on how to implement eGPU with OSX / Yosemite

1. Download latest 10.10 NVidia webdriver (don't setup your eGPU yet)

2. modify kext files (issue sudo kextcache -system-caches)

3. restart

4. select NVDIA WebDriver as default driver under NVIDIA Control Manager/Panel (maybe this is the step you are missing?)

5. shutdown - setup your eGPU - power back your OS.

Link to comment
Share on other sites

I installed 10.10 on an external HDD for testing and followed all the steps from @Mark.

After modifying the kext files and the repair with Kext Wizard (repair permissions and reload cache), the shut down and first with the eGPU conncted I get a KP (happend to me in my first try as well). Can only boot without the eGPU.

Booted without the eGPU, pluged it in in OSX, installed the WebDriver, modified the kext, repaired everything, shut down, boot up… et voilà GTX 970 is recognized.

Still strange that it didn't work on my main instalation… :(

Link to comment
Share on other sites

So, clean instal and @Mark guide:

post-26280-14494998587495_thumb.jpg

post-26280-14494998587793_thumb.jpg

post-26280-14494998588205_thumb.jpg

BUT:

After changing to the OSX Default Graphics Driver, the eGPU setup is spoiled again… Can't fix it with reinstalling the WebDriver, kext editing, fixing and shutdown+boot.

eGPU isn't recognized anymore :(

Link to comment
Share on other sites

So, clean instal and @Mark guide:

[ATTACH=CONFIG]12878[/ATTACH]

[ATTACH=CONFIG]12879[/ATTACH]

[ATTACH=CONFIG]12880[/ATTACH]

BUT:

After changing to the OSX Default Graphics Driver, the eGPU setup is spoiled again… Can't fix it with reinstalling the WebDriver, kext editing, fixing and shutdown+boot.

eGPU isn't recognized anymore :(

This is because you are using the OSX Default Graphics Driver and not the NVIDIA Web Driver. That's the purpose of installing the NVIDIA Web Driver right? :)

Link to comment
Share on other sites

  • 2 weeks later...
so did you ever get this figured out? I'm having the exact same issue...

seemingly got it to work by typing in the sudo nvram thing everytime i did an install of the modified nvidia drivers. I also modified the newest 03f drivers, that may have also fixed it?

no idea, all i know know is that it works and works well :)

Link to comment
Share on other sites

Quote

seemingly got it to work by typing in the sudo nvram thing everytime i did an install of the modified nvidia drivers. I also modified the newest 03f drivers, that may have also fixed it?

no idea, all i know know is that it works and works well :)



Just some tips that worked for me:

- it looks like the repair permissions function of KextWizard isnt working perfectly. I still get "repaired .kext ..." with DiskManager - you can check the current boot-args with
[FONT=Monaco]sudo nvram [/FONT][FONT=Monaco]boot-args[/FONT]
- to enable edited .kexts AND the NVidia Webdriver you have to type:
[FONT=Menlo]sudo nvram boot-args="kext-dev-mode=1 nvda_drv=1"[/FONT]
- when i replug my eGPU + pull my USB-Mouse before i boot i always get my eGPU working in OS X 10.10 otherwise only sometimes
Link to comment
Share on other sites

Quote

Just some tips that worked for me:

- it looks like the repair permissions function of KextWizard isnt working perfectly. I still get "repaired .kext ..." with DiskManager - you can check the current boot-args with

[FONT=Monaco]sudo nvram [/FONT][FONT=Monaco]boot-args[/FONT]
- to enable edited .kexts AND the NVidia Webdriver you have to type:
[FONT=Menlo]sudo nvram boot-args="kext-dev-mode=1 nvda_drv=1"[/FONT]
- when i replug my eGPU + pull my USB-Mouse before i boot i always get my eGPU working in OS X 10.10 otherwise only sometimes



Just a question, why do you pull your USB Mouse before boot? Is it affecting the OSX boot up session with eGPU?
Link to comment
Share on other sites

Just a question, why do you pull your USB Mouse before boot? Is it affecting the OSX boot up session with eGPU?

Its a little bit strange with detecting and not detecting the eGPU/Display and OSX but like i said most of the time its working this way.

Link to comment
Share on other sites

I'm trying to get a 780 Ti working in a Sonnet Express III-R on a new mac pro 6,1

I have tried over and over and am close, with no cigar.

Seems that NVDAStartup loads but the Kext signature will not validate :(

I'm using WebDriver-343.01.01f03 and cudadriver-6.5.18, I get NVIDIA Chip Model in the Graphics/Displays System Information but not so much as a mention of the 780 Ti

I've followed the instructions to the letter and ran sudo nvram boot-args="kext-dev-mode=1" and kext wizard until I'm blue in the face.

Could any of the successful shed any light for me? The screenshot says its loaded but then not loadable. Way over my head...

Cheers

Diz

post-31113-1449499876773_thumb.png

Link to comment
Share on other sites

  • Tech Inferno Fan changed the title to 2013 15" MBP GT750M + GTX780Ti@16Gbps-TB2 (Sonnet III-D) +OSX10.10 [Mark]

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.