2018 15" Macbook Pro RP560X + [email protected] (Gigabyte Gaming Box) + macOS/Win10 + [buffaloseven]
2018 15" MacBook Pro - 2.60GHz i7-88502.60GHz/Intel UHD Grahpics 630 iGPU, Radeon Pro 560X dGPU/16GB RAM/512GB SSD
macOS 10.14.1 Builds 18B75
Windows 10 
Gigabyte Gaming Box + Radeon RX 580 + .5m Thunderbolt 3 cable
None at the moment.
Installation steps (what did you do to get it all going?)
I recently picked up a Gigabyte RX 580 gaming box for a good price and I thought I'd share my experiences hooking it up to a 2018 15" Macbook Pro with a Radeon Pro 560X dGPU. I wanted to run it on both macOS as well as Windows 10 via Boot Camp. I read up and was ready to spend hours getting everything to work, but I must say, I was pleasantly surprised by the whole process.
macOS with External Monitor
This is probably a bit of a no-brainer, but given macOS Mojave supports AMD eGPUs right out of the box, everything worked perfectly. I just plugged it in and the OS detected it and set everything up properly. Applications on my external monitor are accelerated by the RX580 in the eGPU, and applications on the internal display are accellerated by the dGPU in the laptop. If I enable the prefer high performance GPU toggle in an app's Get Info dialog, a vast majority of them behaved properly and were powered by the eGPU on the internal display.
macOS with only the Internal Display
More or less the same as before. Everything sets up properly and applications selected with prefer high performance GPU toggles checked are accelerated on the internal display by the eGPU.
Windows 10 - Preface
Before I go into my Windows 10 experience, I want to point out that my preferred solution was to not modify my system at all. I'm running Windows 10 with all the latest updates installed. The AMD drivers supplied by Apple were removed using DDU a long time ago and I've been keeping up to date on driver releases from [bootcampdrivers.com]( https://www.bootcampdrivers.com/ ) for my 560X already. So before heading into this I already had the latest Radeon software/drivers available for my laptop, installed using the 560X dGPU.
Windows 10 with External Monitor
When trying to hotplug my eGPU, Windows detects it but then fails to produce any output. Unplugging the eGPU does not restore video to the internal screen. Attaching a USB-C to HDMI adapter while the eGPU was unplugged worked however and I was able to shut the system down.
Next up, cold booting into windows with the eGPU plugged in. Started up the computer and...it worked. No display on the laptop's monitor, but the external monitor was powered by the eGPU. After logging in, I verified that AMD's Xconnect software was running and the Radeon software was correctly detecting the eGPU. Games clearly showed the improvement of the RX580.
Did some more fiddling around, but decided that Windows 10 in Boot Camp really doesn't like hot plugging eGPUs. It did not seem to matter which thunderbolt port I plugged the eGPU into.
Conclusion: If you want to use a Radeon eGPU in Windows 10 via Boot Camp on a 2018 15" Macbook Pro with Radeon Pro 560X with an external monitor only, it seems like it can be a fairly easy process. Make sure Windows 10 is up to date and install updated drivers for the video card from bootcampdrivers.com. Once you've done that, boot the system from a cold boot and everything should just work. I was pleasantly surprised by how well this works and enjoyed a few hours of Hitman 2 to celebrate.
The only thing I noticed is that when the eGPU is attached, my options to display the Radeon overlay and performance statistics goes away. I had this problem occassionally with my 560X as well, so it could be the modifications bootcampdrivers.com does or just some bug in the driver software. If anyone has experience with this or ideas, I'll happily try.
Windows 10 with only the Internal Display
I have no idea. I was able to successfully launch into Windows 10 via a USB boot drive using automate-efi, and that kept the screen active. Resolution was stuck at a high value, though, and I didn't seem to be able to set the resolution manually in the games I tried. The eGPU did seem to be accelerating the display, but performance was poor (perhaps due to the resolution being locked at 2100P?). I read too many horror stories about intel GPU drivers breaking the display, so I'm holding off on that one for now. If anyone has an idea for how to make this work, I'll happily give it some thought.
Preformed the Geekbench OpenCL compute test on both the 560X and the RX 580 using macOS 10.14.1. The dGPU 560X scored a 55252 while the RX 580 in the eGPU scored 128375. This test shows a 132% improvement using the eGPU.
Additionally, I ran Cinebench 4D and Unigine Valley benchmarks.
In Valley, I used the Extreme preset at 1600x900. When using the RP560X it was on the internal display, the RX580 was on an external display. The scores were:
|Radeon Pro 560X||Gigabyte RX 580 Gaming Box|
Cinebench 4D was a weird one. I ran the test 3 times for each GPU, and the RP560X scored an average of 92.3 FPS while the RX580 scored an average of 73.2 FPS. The eGPU was 21% slower in this test, but I can't for the life of me figure out why that would be. It doesn't show in real-world application (the Unigine benchmark shows vastly superior OpenGL performance) so there must be some odd quirk in the pipeline.
Overall, I'm quite happy with how smoothly things went. eGPU acceleration is a breeze in macOS, and for sitting down at my desk to play some games in Windows, the process is straightforward. I was happy that I didn't have to deal with the dreaded Error 12 or go about disabling thunderbolt controllers in Windows device manager. The only thing I don't have quite working yet is the eGPU accelerating the internal display in Windows 10 via Boot Camp. I'll keep chipping away at it though. My main goal was being able to tack on decent 1080P gaming performance to my existing computing workflow which is heavily dependent on a Macbook Pro. Based on my limited time with games like Fallout 4, Hitman 2, and The Witcher 3, it succeeds. I hope to get full benchmarks done in the near future, but I simply haven't had time to do it yet. My experience has - so far - been so relatively smooth that I just wanted to share my success so far.