2015 15" MacBook Pro [4th,4C,H] + RX 580 @ 32Gbps-M2 (ADT-Link R43SG) + macOS 10.15.1 & Win10 1903 [itsage]
This is the Mac eGPU build I've been waiting for a long while. First of all the 2015 15-in MacBook Pro is one of my favorite Mac laptops. My wife had been using it since 2016 and refused to let me touch it for eGPU testing. With the arrival of the 2019 16-in MacBook Pro, Apple infused the great elements of the retina lineup into the Touch Bar lineup. Their footprint and overall size are nearly identical. She agreed to let it go for the newer 16-in MBP so now the 2015 15-in MBP was ready for external graphics.
I had upgraded this laptop with a Samsung 1TB NVMe SSD in the past. It's one of the very few non-Thunderbolt 3 Macs with a x4 PCIe 3.0 socket. 2015 27" iMac is another but accessing the PCIe SSD socket in that computer is hell (full logic board removal after cutting the 5K display off). In order to use the NVMe M.2 eGPU adapter, ADT-Link R43SG I needed to relocate the SSD externally. It's best to use a Thunderbolt 2 SSD enclosure but I don't have one so it's through an OWC USB 3.0 enclosure. Due to the non-standard socket, I used Sintech NGFF M.2 NVMe SSD Adapter to connect the M.2 connector. The power supply was Dell DA-2 which could handle a Radeon RX 580 with ease.
2015 15" MacBook Pro - i7-4770HQ/HD Graphics 5200 iGPU/16GB RAM/1TB SSD
Prior to relocating the internal SSD to an external enclosure, there are a few house-cleaning tasks regarding Windows Boot Camp. The first was to create a small (24MB) volume to store automate-eGPU EFI boot loader. I also downloaded the pre-compiled DSDT file in order to resolve error 12 in Boot Camp with an AMD Radeon eGPU. The last task was a change in Registry Editor so that Windows can load USB 3.0 drivers during boot up. Without which it would hang at the circle dots screen. Thanks to @sskillz who provided the instructions in his build, I was able to replicate this edit easily.
In macOS it was fully plug-and-play, no software modification needed. Unlike the Thunderbolt interface, Apple does not place any restrictions on the PCIe interface because they likely didn't anticipate people would open these Mac laptops and feed a wire right into the belly of the beast. Well, life is not always pretty and you need your septic tank pumped out periodically. This is what using the M.2 eGPU adapter with a Mac laptop looks like, ugly plumbing but very efficient connection for best performance.
I was hoping for AMD XConnect in Windows because this laptop only comes with Intel iGPU. Unfortunately due to the directly attached PCIe connection, Radeon Software didn't see it as an external graphics card. Other than that everything worked great. For internal display acceleration with the eGPU, we can use Windows 10 Hybrid Graphics feature. This was the setup and boot-up procedure:
- Install Windows 10 1903 V1 ISO (version 18362.30) through Bootcamp Assistant [in macOS]
- Create a 24MB FAT partition in Disk Utility and copy @goalque‘s automate-eGPU EFI onto it [in macOS]
- Download and copy dsdt-modified.aml to /EFI/CLOVER/ACPI/WINDOWS/ inside the FAT partition [in macOS]
- Hold OPTION at boot to select EFI drive and hit Q to access automate-eGPU EFI [boot selection]
- Download and install Radeon drivers from AMD website [in Windows]
Due to external USB 3.0, booting speed was much slower than internal connection. Once boot up completed, Radeon eGPU worked without error 12. Device Manager confirmed RX 580 has a direct x4 PCIe connection to the CPU. There's also "Large Memory" thanks to dsdt override. Both CL!ng in macOS and AIDA64 in Windows confirmed the superior bandwidth through this M.2 eGPU adapter vs. Thunderbolt 3 (22Gbps) or Thunderbolt 2 (16Gbps) as in the case of this 2015 15-in MacBook Pro.
External monitor testing was done through an HP Z27q 5K monitor. If you were to go the Apple route [Blackmagic eGPU + LG UltraFine 5K], you'd be spending 3x as much.
|Win10 eGPU Internal Display||Win10 eGPU External Monitor|
I only ran Luxmark 3.1 and Unigine in macOS.
The ADT-Link R43SG M.2 eGPU adapter is neither convenient nor elegant. It is the best performance external graphics solution. It's also affordable and very flexible through the pairing of power supply, graphics card, and even a DIY enclosure should you want to build one.
@joevt, I like the two choices for power supply connection this R43SG board provides. I'm currently using the Dell DA-2 220W power adapter. If needed I could use a higher output PSU through the 24-pin and 8-pin EPS. The different switches also help with host laptops that don't play well. I had to set SW1 to position 2 in order to get reliable detection on the 2017 Alienware 13 R3 [build link].
@itsage, thank you so much for your reply. For macbooks, I have only seen people posted models such as 2012 13' or 2013 13' that deployed eGPUs in ubuntu, but I havent seen anyone posted models such as 15' pre-touch bar versions. I know that touch bar versions have lots of issues with installing ubuntu. Also, would 2015 15' with dGPU version work on eGPU in ubuntu? My model is 2014 15' with gtx750m, this model would not work with windows using Nividia cards, but I am not sure if I can use Nividia cards in ubuntu system. Thanks again.
@love_gadgets, You would have to try it out unfortunately. I'd recommend looking at the Linux scripts in our forum to facilitate the use of eGPU.