Mid 2015 15-inch MacBook Pro eGPU Master Thread
Thanks for the quick reply!
When I tried running sudo mountesp I got:
sudo: mountesp: command not found
When I'm eventually able to make the startup.nsh file, how big should I expect that file to be? That way I can have an idea if it's right or not. Also, I'm guessing this file is specific to each machine?
@tanukilandslide, mhh, did you do that in terminal in macOS? 🤔
For me it always works...
maybe you must deactivate the SIP (system protection) in recovery mode after start by pressing CMD+R (Recovery). (I am not sure if this is necessary, but I am having it deactivated.)
then open terminal and type
if you want know wether it‘s on or not type
Startup.nsh is machine specific, but it matches fundamentally with the MacBook 15“ mid 2015.
The size? I will post next time, when I am in MacOS 😁
@goalque Great set up and thread! I’ve been checking egpu.io around a month now.
And currently going to order parts to build an enclosure based on adt link m2 to use with mbp retina 15 2015.
I want to ask few questions about this exactly build in the header:
2. Do you feel that mbp’s 15 CPU is the bottleneck in any apps or games.
3. Will it be a better idea to use a thunderbolt 2 ssd enclosure instead of usb 3 (or speed differences between those ports aren’t so critical)?
My thoughts to make this build in acrylic case around VII or RX, because i’m going to replace mbp in 3 - 4 month with imac or mac mini. So in case of imac i don’t need to pay for gpu upgrade. And can continue to use the build simply by buying m2 - t3 adapter or switching adt m2 to adt t3. (i work in China so prices for adt’s and other electronics are pretty cheap)
Will be grateful for the answer.
modulating egpu with my imagination and taobao links
My set up is identical to @goalque's. I have the mid 2015 MBP with M370X dGPU. The RX 580 is connected directly to the M.2 PCIe port on the logic board (where the SSD used to occupy). I have external monitors connected to the RX 580.
I managed to get it to work in Catalina without any modification or patch. The RX 580 was detected in Catalina on first boot. There was slight issue in getting the UP2715K (5K monitor connected to RX 580 via 2 x DisplayPorts) to be detected by Catalina as a single 5120 x 2880 desktop instead of two 3840 x 2160 desktops but I found out that if I connect a second external monitor to the dGPU via TB2 to DisplayPort, Catalina will detect the 5K monitor as a single desktop.
However, I am facing another issue that I hope can be resolved. To investigate this issue, I disconnected the 5K monitor from my set up. I used the EFI script in the first post to "disable" the M370X dGPU (it completely disappeared from System Information in Catalina). The internal LCD stays black even after the system booted into Catalina although Intel Iris Pro remains detected by Catalina. I am getting the graphics performance boost with the external monitor (which is only desktop in Catalina since the internal LCD does not work). However, there is no hardware acceleration for HEVC. Below is a screenshot from videoProc which showed that the Intel Iris Pro was used for hardware acceleration instead of the RX 580 (which I believe supports hardware acceleration for HEVC?).
I believe this issue might be resolved if I can change the IOReg name of the M.2 PCIe from SSD0 to GFX0 or GFX1. Any idea how can I do that? Do I have to patch the DSDT/SSDT and if yes, how can I run the patched SSDT file on a real MBP?
2. Not sure. I think it is dependant on the apps or games.
3. I don't think USB 3.0 is an option here. It is either Thunderbolt 2 or direct connection to the M.2 PCIe port on the logic board.
I managed to enable HEVC hardware decoding by using OpenCore files for Mac Pro on the MBP to rename SSD0 to GFX0. Thanks to h9826790 from macrumors for sharing the files for OpenCore. I am still exploring how to adapt this solution for the MBP because some of the hardware names appeared to be different from Catalina (although still showing the correct model). The GPU history window also shows "Slot 1" and "Slot 2" for M370X and RX 580 rather than just "Built-in" which is odd (possibly due to both M370X and RX 580 being GFX0?). I am also wondering if it is dangerous to use OpenCore on the MBP. I disabled the SMBIOS emulation settings just to make sure it does not mess up with the MBP.
For those that own this model of MBP, you will know how quickly the CPU is maxed out and both internal fans spinning at maximum RPM when you start playing 4K HEVC videos. I am now able to play them without any stuttering. I even tested the jellyfish-200-mbps-4k-uhd-hevc-10bit video and it was buttery smooth! The CPU stays almost idle as the heavy lifting is done by the RX 580. The VideoProc software is not showing the right GPU but it works well.