2013 Mac Pro (nMP, 6.1, 2013, Trashcan) eGPU Setup Master Thread
 
Notifications
Clear all

[Solved] 2013 Mac Pro (nMP, 6.1, 2013, Trashcan) eGPU Setup Master Thread  

 of  8
  RSS

AJ Scarcella
(@aj_scarcella)
Trusted Member
Joined: 1 year ago
 

Hi everyone,

I just wanted to offer up my experiences getting the nMP (Mac Pro 6.1; Mac Pro 2013) running with an eGPU on Bootcamp. Partly because it was a bit of a struggle to find concrete info about the Mac Pro and partly because, as of right now, I'm not entirely sure what I did to get it working, or whether the process I went through is fully documented. I am not, by any means, an expert with the deep, inner workings of MacOS or Windows, but I'm hoping that others might be able to shed some light on it.

My build is as follows:

To begin, getting the eGPU working under MacOS Mojave was trivial - standard procedure of running automate-eGPU with no problems whatsoever. Windows 10, however, is a totally different story.

From what I could tell, the Mac Pro was unable to properly use an eGPU enclosure due to a firmware quirk that prevented proper access to them. The last mention of the Mac Pro in this forum that I could find (and please, correct me if I've missed something) were users trying to overcome Error 12 on the eGPU or Error 43. 

Initially, I got Error 12 on the RX 580. I used the pre-compiled DSDT override to get past that and then got stuck on the classic error 43. Drivers wise, I DDU'd everything off the machine and used the bootcampdrivers.com version of the Radeon drivers. No change to error 43.

I left it for a while as I figured it just wasn't possible to get eGPU working. Then, out of what I assume is an act of wanton cruelty and stupidity, I decided to dive into Device Manger and start disabling some PCI-to-PCI Bridge devices in there, taking (somewhat little) care not to disable ones the eGPU sat on. I disabled five of them and rebooted and... it worked. Error 43 was gone and all three GPUs are now working. 

In order to get the machine to actually use the eGPU, I have to physically plug my monitor directly into it. The graphics performance options in Windows 10 doesn't show the Radeon RX 580 as the high-performance option, possibly because it picks up the second D700 and thinks that's the high end option. When the monitor is plugged directly into the RX 580 though, the performance options only show that card. The Radeon Settings app also changes to show the RX 580 as the Primary/Discreet card, with the two D700s appearing as well as Discreet options. 

And it works. Loading up Arkham Knight (currently the most GPU taxing game I have on my system right now) shows the RX 580 being used, with full access to its 8GB of VRAM. If my monitor is plugged into the Mac Pro directly, it reverts back to the D700s, with the expected performance hit.

So, now I have some questions!

  1. Why does this work? Has it been fully documented with regards to the Mac Pro
  2. What exactly have I done in disabling some of those PCI-to-PCI Bridges?
  3. Has anyone else had the same success?

Some notes:

  • I'm running Windows 10 externally on a SATA HDD. This is connected via the OWC Drive Dock, which is running into a Belkin Thunderbolt 2 dock via USB 3. In order to get this aspect working correctly, I had to transfer a copy of the EFI file for Windows off that hard-drive and onto the automate-EGPU EFI thumb drive. The boot process currently involves powering on the Mac Pro, selecting the thumb drive, powering up the OWC Drive Dock and letting the Windows HDD spin up for a few seconds before selecting the Load Windows option in automate-EGPU.
  • In terms of the Windows installation itself, it's a bit of a Frankenstein nightmare. The drive was pulled out of my old Mac Pro 5.1 tower. I've removed as much of the old machine from it as possible and loaded fresh Bootcamp drivers using Brigadier. At some point, I'll format it and do a fresh install, but it's not viable at the moment.

I'm more than happy to provide more technical information if needed/requested!

Mac Pro 2013
OWC Mercury Helios FX
Radeon RX 580 8GB


goalque and itsage liked
ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 
Posted by: @aj_scarcella

Why does this work? Has it been fully documented with regards to the Mac Pro

@aj_scarcella Code 12 usually implies there aren't enough resources to allocate the PCIe device. Error 43 has myriad causes. Disabling PCIe devices frees up resources. No we don't have any documented solution for Mac Pro 2013 Bootcamp - this would be one if reproducible.

Posted by: @aj_scarcella

What exactly have I done in disabling some of those PCI-to-PCI Bridges?

Freed up precious resources for PCIe device allocation. If possible please share what all items you disabled. Also share your bootrom information from System Report in macOS. @itsage would definitely be interested in this. Are you by chance using apple_set_os.efi (which comes by default with automate-eGPU EFI) as well? 

Posted by: @aj_scarcella

Has anyone else had the same success?

Not on this forum, I don't think so.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
AJ Scarcella
(@aj_scarcella)
Trusted Member
Joined: 1 year ago
 

Thanks for the reply!

These are the PCI-to-PCI Bridges I disabled:

  • PCI bus 17, device 10, function 0
  • PCI Slot 2 (PCI bus 95, device 4, function 0)
  • PCI Slot 4 (PCI bus 21, device 5, function 0)
  • PCI bus 21, device 0, function 0
  • PCI Slot 2 (PCI bus 95, device 1, function 0)

This was done (as I mentioned, stupidly) at random. Let me know if further information is required out of Device Manager. I should note that I have not noticed any bizarre behavior as a result of disabling these devices. The eGPU is plugged into the bottom left Thunderbolt port, as per recommendations in other threads. The top left port works fine to drive my LED Cinema Display (which defaults to using the D700 GPUs, as mentioned) and the middle left port is driving the Belkin Thunderbolt Dock (which is working because Windows is running off that port right now). I'm only running a single monitor, but dual monitors definitely works (combination top left Thunderbolt port and HDMI directly out of the eGPU).

In terms of the apple_set_os.efi, I had to remove that file to get automate-eGPU EFI to boot into Windows. If it's in there, it just won't boot to Windows. 

Boot ROM version is 132.0.0.0.0. This is a relatively fresh install of Mojave as well.

I didn't think getting it up and running was a common thing, so I want to figure out exactly how to replicate it in case I need to start again with Windows.

Mac Pro 2013
OWC Mercury Helios FX
Radeon RX 580 8GB


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 

@aj_scarcella

Thanks for sharing! I don’t have a 2013 Mac Pro to corroborate your findings but I’m sure some other users will give it a shot and provide an update.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 

@aj_scarcella

Are PCI bus numbers sufficient for recreating this? Bus numbers can change, depending on the software that enumerates PCIe devices. I think you need vendor and product IDs of each device to be sure. If they are not unique, then you may need to know the parent devices at least up to a unique ancestor.

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
AJ Scarcella
(@aj_scarcella)
Trusted Member
Joined: 1 year ago
 

@joevt

You're right, they're probably not enough. I will try and get more information out of Device Manager later tonight (I'm physically in a different location at the moment with the Mac Pro but not the eGPU). I'm not the most experienced with all of this, but if you let me know which values out of Device Manager you want, I can grab them.

 

I should also mention that I'm currently booted into Windows 10 without the eGPU connected (i.e. a standard Bootcamp boot, no automate-eGPU EFI) and Device Manager only shows a single disabled PCI-to-PCI Bridge (specifically PCI bus 17, device 10, function 0). I have nothing plugged into any of the Thunderbolt ports at the moment (display is being outputted through HDMI). 

Mac Pro 2013
OWC Mercury Helios FX
Radeon RX 580 8GB


ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

@aj_scarcella Welcome aboard and amazing first post! I'm wondering if the new firmware of the 6,1 has exposed the PCIe components through Thunderbolt connection better in Boot Camp. My 6,1 is now running 133.0.0.0.0 due to macOS Catalina. I will it a try soon in Windows Boot Camp. Can you take a screen capture with several instances of Device Manager open to show these information?

It's possible to disable one of the FirePro dGPUs in Windows so that Graphics Options detects only one dGPU and one eGPU. I forgot the exact arrangement of PCIe root tree in Windows for the 6,1 but you can expand them all to identify which D700 has a Display attached. Here's the block diagram of the 2013 Mac Pro for reference.

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2020 15" HP Spectre X360 [11th,4C,G] + RTX 2080 Ti @ 32Gbps-TB4 (AORUS Gaming Box) + Win10 2004 [build link]  


ReplyQuote
AJ Scarcella
(@aj_scarcella)
Trusted Member
Joined: 1 year ago
 

@itsage

Many thanks! I thought this would be pretty interesting news to this forum. Plus, I really do need to figure out a concrete method of replicating it so I can safely wipe Windows in the future. Here are the screenshots:



(Am I missing an image upload option for the forum or I am just daft?)

And some bonus images:

Arkham Knight graphics settings

Task Manager

Mac Pro 2013
OWC Mercury Helios FX
Radeon RX 580 8GB


itsage liked
ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

@aj_scarcella Very nice to see a working eGPU in Boot Camp on the 2013 Mac Pro. Did you download and use the [Apple_2013_MacPro.zip] from the Nando4 created DSDT overrides from noted user's system DSDT dump (dsdt.dat)? I will install Win10 1809 on my trashcan later tonight and see if I can replicate your success with the use of automate-eGPU EFI + pre-compiled DSDT.aml. I currently use a very similar process with the 2016 15" MacBook Pro.

 

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2020 15" HP Spectre X360 [11th,4C,G] + RTX 2080 Ti @ 32Gbps-TB4 (AORUS Gaming Box) + Win10 2004 [build link]  


ReplyQuote
AJ Scarcella
(@aj_scarcella)
Trusted Member
Joined: 1 year ago
 

@itsage

Indeed I did. With that DSDT override, the RX 580 changed from error 12 to error 43. 

Mac Pro 2013
OWC Mercury Helios FX
Radeon RX 580 8GB


ReplyQuote
 of  8