2017 13" MacBook Pro [7th,2C,U] + RX 5600 XT @ 32Gbps-TB3 (Razer Core X) + macOS 10.15.5 & Win10 2004
My first build finally works! Many thanks to all of you who have posted builds for the 2017 13" MacBook Pro. Also thanks to my friend who recently went through this ordeal with their 2020 MacBook and opted to toil late into the night trying to get it working.
It took four days of hair pulling to get to a replicable and (mostly) stable installation. I chalk that up to inexperience.
- 2017 13" MacBook Pro
- 2.3 GHz Dual-Core Intel Core i5
- 8 GB RAM
- 250 GB internal SSD
- macOS 10.15.5
- Windows 10 64-bit (2004)
- GIGABYTE Radeon RX 5600 XT
- Razer Core X
- Samsung T7 1TB External SSD (used to store games)
- I am not using an external monitor.
See top of post.
- Boot macOS.
- Install Windows on an internal partition (50GB) via Boot Camp Assistant. Follow the installation guide and it will eventually boot into Windows.
- In Windows,
- Disable the FaceTime camera in Device Manager.
- Go into Windows Updater and let all updates run to completion.
- Boot macOS.
- Connect the eGPU to the Thunderbolt port further from the internal display (i.e. closest to you on the left side).
- Boot into the automate-eGPU EFI partition.
- Ignore the message saying 'eGPU not found'. You should see two graphics cards listed above that erroneous message: the iGPU and the eGPU.
- Press 'q' to enter the OS selection screen.
- Use the arrow keys to navigate to 'Load Windows' and press 'Enter'. It should boot Windows without any flickering.
- In Windows,
- Download the latest drivers from BootCampDrivers.com (Adrenaline April 2020 Red Gaming edition).
- Run the Setup.exe & select the 'Factory Reset' option. It will prompt you to reboot after it removes all traces of AMD drivers.
- Upon reboot, hold Option, select the automate-eGPU EFI, and boot Windows.
- The installation window will reappear after a few seconds and begin installing the drivers.
- A few moments are installation succeeds, your screen may go blue before the machine crashes. Don't panic. Boot into Windows via the automate-eGPU EFI once more.
- Go into Device Manager and check that the eGPU is recognized and is functioning properly. It may say that the device is not working properly without displaying an error code. I fixed this by doing another reboot.
- Throw your hands up in joy, connect the external drive, and download some games!
Rocket League, the first game I tried, runs like butter. But that isn't too graphically demanding.
Battlefield V is almost always around 60FPS on medium-high settings. A few laggier-than-usual moments, especially on the rapid map zoom during the initial spawn. While on high settings the game crashed twice. I couldn't find a way to reliably reproduce those crashes, and they did not occur on lower settings. This correlation may have occurred by chance, but I expect I'll get a feel for it after a few hours of play.
The only game that hasn't worked with the internal display loopback is War Thunder. Perhaps it has something to do with it having its own launcher, but I haven't looked into this yet. Maybe someone else has experience with it and can chime in.
I was worried that my CPU would limit the performance I could get, but it doesn't seem to be the case for most of the games I play. I'm very happy with the result.
I did this build to avoid buying a separate gaming tower/laptop and because my previously-mentioned friend had taken the plunge successfully. The MacBook is my only device, and I want to keep it that way.
Internal display loopback worked out-of-the-box for all but one game I tried. No tinkering with Graphics Settings. I download a game and everything just works™.
I have not tried hot-plugging, and I'm not brave enough to try quite yet. I am going to enjoy the fruits of my four days of hair-pulling labor for a little bit before I do anything unorthodox.
Finally, there are some important lessons I've learned from this experience that others with similar setups may benefit from:
- Like many others with the 2017 13" MacBook, I cannot boot directly into Windows with the eGPU connected. I get subtle flickering and the loading animation never appears. Windows works only when booted via the automate-eGPU EFI.
- Don't disable the iGPU in an attempt to free up more PCIe lanes. Immediate crash :). Disabling the FaceTime camera was enough for me. But, to be fair, I did not go through the same installation steps without disabling the camera, so I do not know if that was important or not. May retry again with that later.
- I tried using the official AMD drivers twice using the same installation procedure above. Both times the computer crashed within seconds of the installation finishing and subsequently went into a boot loop. This did not happen with the BootCampDrivers.
- If your Windows doesn't boot (or, as in my case, goes into a boot loop) and you didn't create a Restore Point, then you may opt to boot into macOS and use Boot Camp Assistant to remove Windows and re-install it. Both times I did this it disappeared 50GB of my internal SSD -- the SSD itself showed the full 250GB but the partitions only summed to 200GB. Trying to resize the partitions wouldn't fix the issue either, and it did not display any empty space to reclaim. Strangely, the disk space finally reappeared after deleting the automate-eGPU EFI partition. I assume this was an issue with Boot Camp Assistant trying to trash my horribly broken Windows installation, but I didn't stick around for long to dig very deep into what was causing this particular issue.
- I originally tried to boot Windows from an external drive using this tutorial, which got Windows working perfectly fine. But there was a problem I could never solve: any attempt to boot Windows from the automate-eGPU EFI would cause the EFI to freeze up and never boot into Windows. This may be an issue with the EFI not getting its disks straight, but I am not familiar enough with it to do any informed tinkering. If this could be solved I probably could have avoided using Boot Camp to partition the internal SSD.
- I originally had the automate-eGPU EFI on an external drive. This worked, but I opted for an internal partition for two reasons. First, I had already ruined my internal SSD's purity by partitioning it for Windows so why not just go all the way? Second, I wanted to reduce the total number of things I wanted to plug in. The 2017 13" MacBook has two ports only (valuable real-estate), and I also wanted to minimize the number of physical devices I have with me.
Great build and write up... I'd recommend some type of external monitor with that Navi card though as Navi cards take a bigger hit performance wise than previous gen when used for loopback.
2017 13" MacBook Pro Touch Bar
GTX1060 + AKiTiO Thunder3 + Win10
GTX1070 + Sonnet Breakaway Box + Win10
GTX1070 + Razer Core V1 + Win10
Vega 56 + Razer Core V1 + macOS + Win10
Vega 56 + Mantiz Venus + macOS + W10