2015 15" Macbook Pro (R9 M370X) [4th,4C,H] + GTX 1070 @ 16Gbps-TB2>TB3 (OWC Merc...
 
Notifications
Clear all

2015 15" MacBook Pro (R9 M370X) [4th,4C,H] + GTX 1070 @ 16Gbps-TB2>TB3 (OWC Mercury Helios FX) + Win10  

  RSS

Doru Alexandru Căilean
(@doru_alexandru_cailean)
New Member
Joined: 9 months ago
 

System specs

15"  MacBook Pro  Retina (Mid2015):

  • 2.50 GHz Quad-Core Intel Core i7 (I7-4870HQ)
  • 16 GB (1600 MHz DDR3)
  • AMD Radeon R9 M370X 2 GB

External Monitors (lid closed):

  • Dell P2418D (2560x1440@60Hz) connected to the TB2 output of the Macbook Pro and to the HDMI output of the Nvidia GTX 1070
  • Dell P2418D (2560x1440@60Hz) connected to the HDMI output of the Macbook Pro

Win 10 Pro (Bootcamp) OS Build 19042.685 (updates enabled, freshly installed on 11/11/2020).

 

eGPU hardware

Enclosure: OWC Mercury Helios FX 650W

Video Card: Nvidia GTX 1070 Inno3D 8 GB DDR5

(Apple)  Thunderbolt 3 to Thunderbolt 2  Adapter
(Apple)  Thunderbolt 2 Cable  (2m)

 

Installation steps

First of all, I want to give a big shout out to this forum and to everyone who has contributed with their builds and effort as you guys were the main inspiration for me in considering this in the first place.

Second, I have attempted to set this up with an older Windows 10 Pro (Bootcamp, can't remember the build) but to no avail. I might have missed some steps or did something wrong but I tried most of the Code 12 solutions without any success. As a last resort, I decided to simply reinstall Windows and give it another go as that's how the ball sometimes bounces with Microsoft.

To my surprise and with a bit of luck (explained below), it worked without any other fix being required.

  1. I simply downloaded the latest .iso from Microsoft's official website
  2. (Re)installed the entire Bootcamp setup
  3. Rebooted in Windows and started the eGPU while selecting the OS
  4. Left Windows to install the drivers, followed by another reboot

No more Code 12 and I was able to see both the internal M370X and GTX 1070 available and green under the Display adapters in Device Manager.

The trick (lucky strike) for my setup was to have the eGPU connected to the first/upper TB2 port, the one next to the MagSafe connector. Even now, if I connect the eGPU to the TB2 port below, the one close to the USB Type A, I immediately get the Code 12 error. Once I put it back all is well. It might have been already discussed on the forum in another post or I'm sure there's some explanation for this but I do not have it at the moment. Still, I was happy to see this was OK without any other fiddling around.

 

Benchmarks

CUDA-Z Report
=============
Version: 0.10.251 32 bit http://cuda-z.sf.net/
OS Version: Windows AMD64 6.2.9200
Driver Version: 432.00
Driver Dll Version: 10.10 (26.21.14.3200)
Runtime Dll Version: 6.50

Core Information
----------------
Name: GeForce GTX 1070
Compute Capability: 6.1
Clock Rate: 1683 MHz
PCI Location: 0:11:0
Multiprocessors: 15
Threads Per Multiproc.: 2048
Warp Size: 32
Regs Per Block: 65536
Threads Per Block: 1024
Threads Dimensions: 1024 x 1024 x 64
Grid Dimensions: 2147483647 x 65535 x 65535
Watchdog Enabled: Yes
Integrated GPU: No
Concurrent Kernels: Yes
Compute Mode: Default
Stream Priorities: Yes

Memory Information
------------------
Total Global: 4096 MiB
Bus Width: 256 bits
Clock Rate: 4004 MHz
Error Correction: No
L2 Cache Size: 48 KiB
Shared Per Block: 48 KiB
Pitch: 2048 MiB
Total Constant: 64 KiB
Texture Alignment: 512 B
Texture 1D Size: 131072
Texture 2D Size: 131072 x 65536
Texture 3D Size: 16384 x 16384 x 16384
GPU Overlap: Yes
Map Host Memory: Yes
Unified Addressing: No
Async Engine: Yes, Bidirectional

Performance Information
-----------------------
Memory Copy
Host Pinned to Device: 1270.7 MiB/s
Host Pageable to Device: 1108.37 MiB/s
Device to Host Pinned: 1345.07 MiB/s
Device to Host Pageable: 1164.67 MiB/s
Device to Device: 82.1469 GiB/s
GPU Core Performance
Single-precision Float: 6561.8 Gflop/s
Double-precision Float: 220.079 Gflop/s
64-bit Integer: 521.489 Giop/s
32-bit Integer: 2288.8 Giop/s
24-bit Integer: 1725.01 Giop/s

Generated: Fri Jan 08 01:51:14 2021

 

Comments

One weird thing I noticed is that GPU-Z indicates the GPU having 8 GB of Memory, while CUDA-Z is showing 4 GB. Will probably get back to this at a later date.

I am a casual gamer and I love the portable setup that this laptop provides for other projects, so I wanted a compromise in trying to get a best of both worlds.

Whenever I want to play something, I boot in Windows, open up the game, move it to the 3rd screen (GPU HDMI output is extended to a 3rd screen), switch my monitor from DP (Macbook) to HDMI (GPU) and that's it! I am also noticing the slight FPS increase if I the game is running directly on the GPU output versus having it running on the TB output, as discussed on other threads.

The thrills I get for being able to run the occasional game at decent FPS and knowing that this is basically a platform for the future, as the eGPU's TB3 setup makes it compatible with newer hardware (+ charging capabilities),... priceless.

 

Peace!

"Of all the things I've lost, I miss my mind the most."
M. Twain

 
2015 15" MacBook Pro (R9 M370X) [4th,4C,H] + GTX 1070 @ 16Gbps-TB2>TB3 (OWC Mercury Helios FX) + Win10 [build link]  


ReplyQuote
D.j. Adcock
(@d_j_adcock)
New Member
Joined: 9 months ago
 

Saw this build when i was doing some brief research on a possible egpu setup with my 13in early 2015 retina macbook pro and was wondering what your fps and settings are for various games you play. I only have an i5 and less thermal room in this mac but i imagine (more like hope lol) that my benchmarks won't be much different if i used something similar. 

TY if you get back to me,

DJ

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
Doru Alexandru Căilean
(@doru_alexandru_cailean)
New Member
Joined: 9 months ago
 

OK, so I just did a few tests and focused on getting the numbers. Here's what I have:

 

CS GO (Casual with bots on Dust II)

Settings (automatically configured by the game on a fresh install)

  • Display Mode: Fullscreen Windowed
  • Resolution: 2560x1440
  • Details: Auto: High, 8X MSAA, FXAA disabled, motion blur disabled

Run 1 - TB2 (Macbook) output: 40-70 FPS

Run 2 - HDMI (GPU) output: 70-140 FPS

During the second run I also had my second monitor (HDMI output of the Macbook) also turned on to keep an eye on the Task Manager and I was seeing the CPU usage at around 25-30% and the Nvidia GPU usage between 50-70%. GPU temperature was around 45-50 degrees Celsius, although I did not play for a long time.

 

FIFA 19 (matches against the AI)

Settings

  • Display Mode: Full Screen
  • Resolution: 2560x1440
  • Details: Rendering Quality - Auto, DirectX 11.0, Frame Rate set to No Limit on fps just for this test as I usually set it to 'Lock at 60fps'

Run 1 - TB2 (Macbook) output: 30-60 FPS

Run 2 - HDMI (GPU) output: 60-100 FPS

The CPU usage was around 40% and GPU at around 50% with spikes of 90% and the max GPU temp I saw was 55 degrees Celsius.

I also manually configured the rendering quality to high and MSAA to 4x and my FPS counter was showing between 60-80 on the GPU output.

 

Worth mentioning:

  • FPS were recorded during gameplay and not in the menus
  • I kept the native resolution of the monitor and I'm sure the FPS would increase if I would lower it in the game settings.
  • CPU at idle is around 4-5% as I have Chrome open as well
  • GPU at idle is around 2-5%
  • This is not a 'scientific' evaluation, but rather a real life human monitored one haha
  • I haven't tested triple A titles or anything really demanding, but I would see them running with decent FPS at low settings and lower resolution.

Hope this helps!

Cheers!

"Of all the things I've lost, I miss my mind the most."
M. Twain

 
2015 15" MacBook Pro (R9 M370X) [4th,4C,H] + GTX 1070 @ 16Gbps-TB2>TB3 (OWC Mercury Helios FX) + Win10 [build link]  


ReplyQuote
Peter Ho
(@peter_ho)
New Member
Joined: 9 months ago
 

Thank you for posting this MacBook Pro (mid 2015) guide since the previous one in the thread was like almost an year ago. Your build is very clean and detailed in instructions.

I'm very happy and excited to see that the latest version of Win10 bootcamp could be fully compatible without code-12 issue. I'll definitely follow your guide to upgrade my 2015 MacBook Pro as well.

 

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
Doru Alexandru Căilean
(@doru_alexandru_cailean)
New Member
Joined: 9 months ago
 

@peter_ho, looking forward to hearing about your build! Hopefully everything will run smooth!

 

"Of all the things I've lost, I miss my mind the most."
M. Twain

 
2015 15" MacBook Pro (R9 M370X) [4th,4C,H] + GTX 1070 @ 16Gbps-TB2>TB3 (OWC Mercury Helios FX) + Win10 [build link]  


ReplyQuote
Peter Ho
(@peter_ho)
New Member
Joined: 9 months ago
 

@doru_alexandru_cailean

Hey there! So I finally get my enclosure but here are some problems that I have encountered.

I followed your steps reinstalled bootcamp and in step 2 and 3, does that mean I have to plug in tb2 to my Mac when the system automatically boot into the welcome page(setting time zone, basically the first Windows installation screen)? Because if I do so, after that finished, my Mac will keep trying to boot into windows and the error pops up that I have to unplugged the tb2 to successfully finish the windows installation.

And after that I finally booted into windows without tb2 plugged in, I followed the bootcamp driver installation with another restart, the bootcamp automatically installed the driver of M370X that I had to use DDU to get rid of it. But unfortunately, in my device manager, navidia gpu can be identified but not working. And the navidia driver that I downloaded from official website seemed not working...

Is there any steps I did it wrong 🥺

sorry about the messy paragraph, I’m using my phone for this one

 

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
Doru Alexandru Căilean
(@doru_alexandru_cailean)
New Member
Joined: 9 months ago
 

Hey @peter_ho,

Sorry to hear you are facing some issues. Allow me to try to reply to your questions and offer some extra info.

Posted by: @peter_ho

I followed your steps reinstalled bootcamp and in step 2 and 3, does that mean I have to plug in tb2 to my Mac when the system automatically boot into the welcome page(setting time zone, basically the first Windows installation screen)? Because if I do so, after that finished, my Mac will keep trying to boot into windows and the error pops up that I have to unplugged the tb2 to successfully finish the windows installation.

I had the enclosure plugged in at all times. Mine has a power switch, so I just turned it on when choosing the Windows EFI option in the boot menu. This is how I do it every time, as described and suggested on multiple posts in this forum. After rebooting from Mac OS, I keep the Option key pressed, wait for the boot options to show up, then I turn on my enclosure, wait a few seconds, then select the EFI (Windows) option. And yes, I do not remember doing anything different when the Welcome screen appeared the first time (have not seen a popup asking me to disconnect my TB2 device), after the fresh install. I imagine Windows should install the drivers anyway, even if the enclosure is added after the install finishes.

Posted by: @peter_ho

And after that I finally booted into windows without tb2 plugged in, I followed the bootcamp driver installation with another restart, the bootcamp automatically installed the driver of M370X that I had to use DDU to get rid of it. But unfortunately, in my device manager, navidia gpu can be identified but not working. And the navidia driver that I downloaded from official website seemed not working...

I did not uninstall my M370X driver. It is still there, alive and kicking, in parallel with the Nvidia one and neither did I use any Nvidia driver from their website, as I left Windows to handle that part. Unfortunately I can't upload images here yet, so here's a Google Drive link to a screenshot showing both entries in Device Manager.

https://drive.google.com/file/d/1QN8qsh0o3_Vb98Fox13N2eGiemMMp23i/view?usp=sharing

The Nvidia driver that Windows installed comes with an extra utility that shows what applications are being used by the external GPU. Its icon sits in the tray and if you click it it shows a list of executables. Please see the following screenshot.

https://drive.google.com/file/d/1ZCLbiSzfRArZ865fIi330HHb4EsWyJES/view?usp=sharing

 

Now, some questions:

  1. What TB2 port are you using? As mentioned in my first post, the only way this setup worked for me was to have the eGPU connected to the upper TB2 port, the one next to the MagSafe port. If I connect the eGPU to the TB2 port closest to the USB port, I get the Code 12 Error. In any case, have you tried connecting the eGPU to both ports to see the behavior?
  2. What version of Windows are you using?

 

Looking forward to your reply and hopefully you'll have it working soon also.

Cheers! 

 

"Of all the things I've lost, I miss my mind the most."
M. Twain

 
2015 15" MacBook Pro (R9 M370X) [4th,4C,H] + GTX 1070 @ 16Gbps-TB2>TB3 (OWC Mercury Helios FX) + Win10 [build link]  


ReplyQuote