mid-2015 15" Macbook Pro M370x + GTX [email protected] (AKiTiO Node via TB3->TB2 adapter) + Cinema Display + Win10  

  RSS

timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 7:04 pm  

Mid 2015 MacBook Pro with Radeon M370x on Akitio Node GTX 1070 and Thunderbolt LED Cinema Display

On Windows 10 have a Thunderbolt  LED Cinema Display (via thunderbolt) running on GTX 1070 through Akitio Node. Thunderbolt Display  LED Cinema Display is on one TB port and Akitio Node is on the other one with a TB3->TB2 adapter.

I am not using Optimus because it refused to work and the "EFI trick" with the integrated.bat to attempt to get it to work was a complete mess. Bootable USB drive did not work, etc. I don't recommend messing with that until it's a last resort.

Instead I have disabled the dGPU in device manager and I am running my Thunderbolt Display LED Cinema Display on the Akitio Node's GTX 1070 only and prior to doing anything I disabled my internal MacBook display on display settings. This is the only way I was able to get this setup to work.

Note since I disabled my MacBook pro display in display settings and only allowed display on the Thunderbolt Display LED Cinema Display prior to following all of these steps: display settings doesn't even seem to recognize that I have a MacBook pro display anymore. That's fine with me because I have no intention of using Windows 10 bootcamp when I'm mobile. This is a gaming partition only. This could be an accident, but it's fine with me. I need nothing more than the Thunderbolt Display on this partition.

Installation was simple once I stopped messing with all of the different hacks being recommended. Simply booted with the Node plugged in. Initial boot showed an "unidentified driver". Tried hot plugging. This time I saw a driver named GTX 1070 but still has error because no software installed for the driver. Went to Nvidia's site and installed Geforce Experience which installed the GTX 1070 driver. Now GTX 1070 showed code 12 error ("not enough resources"). Restarted computer and the code 12 error went away. Now both GTX1070 and RadeonM370x were active but Optimus was not able to get the computer to run the card. I tested in Borderlands 2 and on Unigen Heaven 4.0 and GPU-Z showed clearly that the GTX 1070 was receiving 0% load, meaning Nvidia just didn't want to allocate processing to the 1070.

So I went in device manager and disabled the dGPU M370x. Instantly the green icon on taskbar lit up showing "GTX 1070 is now active" and GPU-Z showed the 1070 taking a load. Now I was able to benchmark in Heaven. However, for whatever reason, DX11 API is throwing an error so I benchmarked OpenGL. Attached are benchmark results. One more thing. The Nvidia driver's settings panel still does not work:

So this is not a perfectly 100% functioning setup but it's close enough that I don't care. Here's benchmark on 1440p with everything ultra, no AA, no AF.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


nando4 and theitsage liked
ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years ago
Posts: 1815
June 21, 2017 7:20 pm  

Thank you for posting your implementation. It presents a new puzzle. How are the Thunderbolt Cinema Display DP signals being routed?  It would seem it is being accelerated by the eGPU but how given Optimus is not running AND there is now cable between the GTX1070 and the Cinema display?

If the NVidia control panel would run then it would show graphically the LCDs attached to video cards.

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 7:25 pm  
Posted by: nando4

Thank you for posting your implementation. It presents a new puzzle. How are the Cinema Display DP signals being routed?  It would seem it is being accelerated by the eGPU but how given Optimus is not running AND there is now cable between the GTX1070 and the Thunderbolt display?

If the NVidia control panel would run then it would show graphically the LCDs attached to video cards.

I assume that the GTX 1070 is basically directly accelerating the Cinema Display now that the MacBook Pro's internal display is out of the picture (hehe). Not sure if that makes sense. See the screenshot. This very browser shows as accelerated.

After firing up Heaven, it shows as accelerated. Basically can confirm that the GTX 1070 is handling things and not the Radeon. (Especially since it's disabled via device manager).

In spite of all of that, NVidia control panel still won't play nice.

I tried terminating all AMD Catalyst processes and that didn't help. I would try uninstalling the Radeon drivers to see if it's a conflict in the future but for now I want to use this setup until I actually need that control panel for something.

Is there a way I can compare performance with others? I'm not sure how good these benchmarks are. 40 fps at 1440P with ultra settings (no AA/AF) seems pretty good to me though.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
theitsage
(@itsage)
Famed Member Admin
Joined: 2 years ago
Posts: 3208
June 21, 2017 7:40 pm  

@timothyov I believe by disabling the internal display, the Cinema display becomes the primary screen. I'm not exactly sure how it's working for you. Perhaps it's two Thunderbolt devices under the same bus?

You can compare performance with my 2017 iMac 4k GTX 980 Ti eGPU in Windows. It's running at Thunderbolt 3 speed so I would guess it's slightly faster than yours at Thunderbolt 2 speed.

Best ultrabooks for eGPU use

eGPU enclosure buying guide

86 external GPU build guides


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 7:47 pm  

Update: While the Heaven benchmarking seems good and presents no issues, every game I've tested is lagging like crazy and I can't even properly play to see an FPS. I have tried Borderlands 2, Half Life 2 and Bioshock Infinite. My guess is that they're attempting some sort of software emulation or something and thus loading up the CPU and lagging but I'm not sure where to go from here. I'm puzzled why Heaven 4 benchmarked it fine but the games are all crashing.

Will have to mark this as a dysfunctional setup for now

The videogames in question do not show up under "applications using this GPU." Thus they are attempting to either use some sort of software emulation or they're running somehow else. Regardless, I need to figure out a way to get them to run on the 1070 or this setup won't work.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
theitsage
(@itsage)
Famed Member Admin
Joined: 2 years ago
Posts: 3208
June 21, 2017 7:57 pm  

Try a headless display adapter attached to eGPU.

Best ultrabooks for eGPU use

eGPU enclosure buying guide

86 external GPU build guides


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years ago
Posts: 1815
June 21, 2017 8:06 pm  

The NVidia GPU Activity app is typically available when running Optimus.  It's as if you are running an Optimus of sorts (re-routing the eGPU output to your TB display without an interconnect wire) but without an iGPU active.  The iGPU was a requirement for Optimus to activate. An interesting configuration you've got there.

The obvious answer to your performance issues is to connect an external LCD to the GTX1070 DVI/HDMI output ports to route display data directly out from the eGPU.

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 8:24 pm  

I found this: https://www.amazon.com/Cable-Matters-DisplayPort-Female-Adapter/dp/B014DV2RGG/ref=sr_1_8?ie=UTF8&qid=1498076641&sr=8-8&keywords=mini+displayport+female+to+dvi. What do y'all think?

Reviews state it will output Apple's Cinema display to displayport successfully. Interesting.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years ago
Posts: 1815
June 21, 2017 9:00 pm  

timothyov, would you mind capturing and posting the hwinfo64 PCI BUS section like shown here? I'd like to see if perhaps an Intel iGPU is active on your system explaining some Optimus functionality you appear to be having. Ignore the red outlined section. This is just  sample from one of theitsage's recent articles.

 

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 9:01 pm  

I did some more digging and the TB monitor with the radeon card disabled is running a "Microsoft Basic Display Driver."

I also tried to drill down into where the GTX 1070 is allocated and you can see it here on the table. Lots of nesting... Kind of weird.

 

The question is that if this setup is improper why is Heaven 4.0 able to use and be accelerated by the 1070 and if so, perhaps I can force the games to do the same somehow?

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 9:06 pm  
Posted by: nando4

timothyov, would you mind capturing and posting the hwinfo64 PCI BUS section like shown below? I'd like to see if perhaps an Intel iGPU is active on your system explaining some Optimus functionality you appear to be having. Ignore the red outlined section. This is just  sample from one of theitsage's recent articles.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 9:08 pm  

Deeper drill down. So much nesting

 

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 9:13 pm  

So this is interesting. While Microsoft Edge is able to be accelerated by the GTX 1070, Google Chrome is not. I wonder what is controlling what programs I can accelerate with the 1070 and if there's any way I can have that control myself?

Bioshock 2 warned me "The videocard you're attempting to use has less than 32MB of onboard memory." Thus I can confirm that this is some sort of software emulation and that games are refusing to be accelerated by the 1070 at the moment. I assume this is a driver malfunction (and especially since I can't even get the Nvidia control panel to open).

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years ago
Posts: 1815
June 21, 2017 9:18 pm  
Posted by: timothyov

So this is interesting. While Microsoft Edge is able to be accelerated by the GTX 1070, Google Chrome is not. I wonder what is controlling what programs I can accelerate with the 1070 and if there's any way I can have that control myself?

Yes, that is under control of Optimus.  The NVidia Control Panel allowing to pick and choose which apps are to be eGPU accelerated, though is not opening for you. One noteworth exclusion from acceleration being Google Chrome. See more info at https://egpu.io/forums/pro-applications/chrome-browser-not-using-egpu/ .

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 21, 2017 9:21 pm  

Later on I will poke around with this a bit more. My hunch is that the Nvidia driver I've installed (latest: 6/9/17) is not currently compatible with eGPUs and I might need to go to a previous version.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 21, 2017 9:50 pm  

I've the same MBP and have successfully enabled Optimus by apple_set_os.efi & integrated.bat combo. Nvidia card might require a boot delay as well so this is not a convenient solution. You have to switch the gmux device to the integrated mode in order to get Optimus working with this MBP. Booting into macOS switches the dGPU as default and active so you need to run integrated.bat + apple_set_os.efi on each startup.

Display interfaces connected to the MBP's HDMI/TB ports are always wired to the dGPU. However, some apps can utilize the offline eGPU. Or could it be possible that the DP traffic from the eGPU is circulated through the MBP's dual TB2 port?

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 22, 2017 12:38 am  

Just a note that the apple_set_os.efi doesn't work. I get a pokeball looking error and then it restarts the bootloader all over again. Have tried with both refined and with the thumbdrive. I submitted an issue in the Github repo.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 22, 2017 5:09 am  

It does work. I've the same MBP + Node via Apple's TB2-to-TB3 adapter.

Please follow the instructions carefully:

https://egpu.io/forums/mac-setup/how-to-keep-mbps-irisiris-pro-activated-when-booting-into-windows-boot-camp/#post-1458

Pay attention to the pre-boot process. With the Mid 2015 15" MBP M370X, you cannot use the port closest to the ESC key, and you must "hot-plug the Thunderbolt cable at the stage of Windows flag or spinning circle".

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
dani_tx
(@dani_tx)
Estimable Member
Joined: 2 years ago
Posts: 166
June 22, 2017 6:49 am  

@timothyov the last driver which is able to accelerate Chrome is 378.92.No driver forward on would work.I even tried to force it with nvidia inspector and it was showing under Nvidia GPU Activity but once i entered chrome://gpu  the intel driver and open GL were in use.I'm actually using Slimjet which is chromium based but there is no difference.Here is a screenshot with 378.92 in use...

ASUS A53SV: i7-2860QM, 16GB DDR3 running WINDOWS 10 Enterprise LTSB 2016
SSD: SAMSUNG 850 PRO(256GB)+SAMSUNG 850 EVO(120GB)
eGPU: EVGA GTX 1080 FTW+ PE4C V3.0(mPCIe)+EVGA 650 G3 PSU (internal display ONLY)


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 22, 2017 1:46 pm  
Posted by: goalque

It does work. I've the same MBP + Node via Apple's TB2-to-TB3 adapter.

Please follow the instructions carefully:

https://egpu.io/forums/mac-setup/how-to-keep-mbps-irisiris-pro-activated-when-booting-into-windows-boot-camp/#post-1458

Pay attention to the pre-boot process. With the Mid 2015 15" MBP M370X, you cannot use the port closest to the ESC key, and you must "hot-plug the Thunderbolt cable at the stage of Windows flag or spinning circle".

I followed the directions exactly. I have the efi file on refind and even with nothing plugged into my macbook the efi file does not boot. It's bugged.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 22, 2017 2:07 pm  

Please try with the USB stick. I've confirmed that it works with both Maxwell and Pascal cards. A couple of questions:

-What's your Win10 build version?

-MBP firmware version?

I'm on 10.12.5.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 22, 2017 2:55 pm  

I have tried with USB stick. When I select the USB stick in Apple's bootloader it instantly takes me to a crash screen and shows me a pokeball looking error.

Ok turns out it only doesn't work with the USB stick. It works on refind. I clicked the EFI and it flashed the screen, then I was able to select windows boot.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 22, 2017 3:29 pm  

So far only the CPU frequency is different. Click on "System Report", do you have the same firmware?

Boot ROM Version: MBP114.0172.B16
SMC Version (system): 2.30f2

Windows 10 version is also an important factor. Type "ver" in the command prompt.

Posted by: timothyov

Ok turns out it only doesn't work with the USB stick. It works on refind. I clicked the EFI and it flashed the screen, then I was able to select windows boot.

I am sure that it will work with the same EFI file on the USB stick if you have set the Boot Camp as the primary boot disk. Maybe the folder structure is not correct?

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 22, 2017 4:31 pm  

That's okay, it works with refind and that's good enough for me. I have attached benchmarks on my laptop's display with Optimus. As you can see, performance is better than when the LED Cinema Display was connected through thunderbolt. It seems as a result of the extra processing through thunderbolt on the display there was a performance loss.

Regardless, I would much prefer to power the display via thunderbolt but I have order the mini dp female to displayport male adapter in order to connect the display directly to the EGPU.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


goalque, nando4 and theitsage liked
ReplyQuote
theitsage
(@itsage)
Famed Member Admin
Joined: 2 years ago
Posts: 3208
June 22, 2017 4:34 pm  

Let us know whether the mini-DisplayPort adapter would allow eGPU to work with the Apple Thunderbolt Display. 

Best ultrabooks for eGPU use

eGPU enclosure buying guide

86 external GPU build guides


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 22, 2017 4:48 pm  

Glad to hear you got it working! 🙂 rEFInd installation modifies the default boot behaviour, so that should be completely uninstalled if you want try USB stick route again.

Very interesting finding that you were able to route eGPU DP traffic via the other TB2 port in the beginning. However, you get the best performance when an external display is plugged in directly to the eGPU. This is also what Apple said in WWDC.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 22, 2017 8:18 pm  

I just wish I could get the games to work that way. It's the best solution because I don't need to replug between bootcamp and OSX. It seems that the issue is no matter what the Cinema display is assigned to my Radeon card. I cannot get the Cinema display to be assigned to and driven by the GTX 1070 or the Intel Iris card. Even with Radeon disabled and booted with Intel drivers, the Cinema display will not even function unless the Radeon card is enabled.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
timothyov
(@timothyov)
Eminent Member
Joined: 2 years ago
Posts: 25
June 25, 2017 6:38 pm  

The mini-DP female to DP male adapter worked and I'm able to run my Cinema display with the eGPU. Nvidia control panel instantly activated after a hotplug and a restart. I am seeing insane speeds. I will have a more thorough post later. I will have a more thorough post later.

Mid 2015 MBP w/ Radeon R9 M370X
Nvidia GTX 1070
Akitio Node


ReplyQuote
(@meigetup)
New Member
Joined: 4 months ago
Posts: 3
August 27, 2018 2:12 pm  

So the only thing you did to resolve the error 12 is reboot the boot camp? w/ DSDT override or disable any pcie slot?

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote