2019 16" MacBook Pro (RP5300M) [9th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station 2) + macOS 10.15.2 & Win10 1903 [itsage]
With the i9 version running hot and drawing more power than 100W during heavy load, I exchanged for the i7 version. I only have the laptop for a couple of days so it's too early to tell on the cooling behavior and power consumption. First task was to install Windows 10 1903 V1 ISO through Boot Camp Assistant. This ISO contains version 18362.30 which is safe from error 12 that occurs in the latest Win10 versions. I then proceeded to disable automatic Windows Updates in Group Policy [Win10 1903 discussion link]. When I had the i9 version of the 2019 16-in MacBook Pro, eGPU in Boot Camp was relatively straight forward. I could pair it with many Radeon cards [build link] without error 12 or error 43. The prerequisites are right version of Windows 10, DDU the stock graphics drivers, and use modified drivers from bootcampdrivers.com.
2019 16" MacBook Pro - i7-9750H/HD Graphics 630 iGPU & Radeon Pro 5300M dGPU/16GB RAM/512GB SSD
In macOS 10.15.1 and newer, the XG Station 2 + RX 5700 XT eGPU was plug-and-play. In Windows 10, besides choosing the right version [1903 18362.30-.295 discussion], we'd need modified Radeon graphics drivers from BootCampdrivers.com because Radeon Pro dGPU uses Blue/Pro drivers while most Radeon eGPUs use Red/Gaming drivers. I downloaded and installed Adrenalin 2020 edition (19.12.3) that @Mat_hd released in late December 2019. These modified graphics drivers have support for Radeon Pro 5300M/5500M dGPU in the 2019 16-in MacBook Pro.
I ran DDU inside the driver package first to remove existing Radeon drivers. The Adrenalin 2020 installer also had the "Drivers reset" box checked. I connected the eGPU once all drivers were successfully installed through hot-plug. Windows 10 1903 18362.30 has very good hot-plug detection of Thunderbolt devices. The system would freeze for a couple minutes to allocate resources for the eGPU. I could tell not only by the notification sound but also the disabled WiFi and Audio icon on the taskbar.
Unique to the 2018-2019 MacBook Pros (both 15" & 16") is the non-functional Intel UHD Graphics iGPU. Even though apple_set_os.efi or rEFInd spoof can activate the iGPU in Boot Camp, the internal display cannot function when it attaches to the iGPU. Doing so would cause flashing white dots then black screen in Windows. Currently we don't have any workarounds for these MacBook Pros. For internal display acceleration with the eGPU, we can use Windows 10 Hybrid Graphics feature. This is most consistent setup and boot-up procedure:
- Install Windows 10 1903 V1 ISO (version 19362.30) through Bootcamp Assistant [in macOS]
- Disable automatic Windows Updates through either Group Policy or Services [in Windows]
- Run DDU to remove all graphics drivers and disable Windows automated driver installation [in Windows]
- Download and install modified drivers from bootcampdrivers.com [in Windows]
- Hot-plug AMD eGPU once confirmed Radeon drivers are working [in Windows]
If all goes well the Radeon dGPU and eGPU should work concurrently without issues. I have had the most consistent success with hot-plug. I have not experienced error 12 or error 43 with the 2019 16-in MacBook Pro so far. Cold-plug is also possible with the use of a boot loader. @aa15032261 provides a very nice solution with a modified version of apple_set_os.efi.
I only ran Luxmark 3.1 and CL!ng in macOS so far. Will test internal display performance in Windows next
|RP 5300M dGPU||RX 5700 XT eGPU|
|RP 5300M dGPU||RX 5700 XT INT||RX 5700 XT EXT|
I'm still trying to determine the cause for error 12 and error 43 reports. They mostly happen to Navi cards which lead me to think either driver issues or the graphics cards themselves. If you experiencing these issues, make sure the eGPU work in macOS first. Proceed to do a clean Boot Camp install using Windows 10 1903 V1 ISO then follow the steps above.
I have had the most consistent success with hot-plug.
Interesting. At least on 2018 15-inch model, I have 100% success on cold boot, and not necessarily with hot-plug. Was expecting similar behavior.
Thank you for posting this. The wandering white dot pattern with trying to use the iGPU is what I kept getting. I posted something about it and got replies how to spoof MacOS booting, which I'd already tried 2 different ways.
After downgrading Windows 10 (had to do a complete new install) I had to deactivate the dGPU in order not to get error 12 with the eGPU. Unfortunately, having the eGPU driving the internal display (without iGPU or dGPU) resulted in much slower performance than the built in Vega 20. I don't think I can activate hybrid graphics with just the eGPU, or perhaps I just don't know how to do it.
Did you have to disable any devices to avoid the error 12 with the 5700? Until your post I'd just given up using the 5700 with Windows 10 (and gaming in Windows 10 was the main reason I had purchased the Mantiz Venus and 5700 XT).
@mac_editor Yes cold-plug works too but not as predictable in my observation on this 2019 16-in MacBook Pro. The login screen takes a long time when the eGPU is connected. What I could see is that the login screen would only be shown on internal display. Once the Desktop loads up, the eGPU would start kicking in and external monitor comes on. I wonder if @Mat_hd has done some modifications specifically for eGPU setups.
When you saw login screen on internal display - previously had you set eGPU monitor as main display (probs yes)? May depend on display settings (main display, etc.). Display configurations typically need to be set for every combination of displays connected (which are then remembered). Additionally, it seems that clamshell mode somewhat works with BCD. This also means yet another display configuration - need to set main display, etc., but external monitor on eGPU should automatically become main display. Closing the lid before full Windows boot (immediately after boot starts) always lights up the external display (main display) quickly for me (though it works still without closing lid as my display preferences are same across those configs). Closing the lid after boot may log you out and requires waking screen using external peripheral input (may require waiting 5-10s) - but works as expected. Internal display may still show up in preferences.
@mac_editor Yes I set the external monitor as primary. I don't use clamshell mode so I'm not sure about how the eGPU works with it. In my observation, the first time an external monitor is introduced to an eGPU in Windows, it's set to mirrored. I would then switch to extended mode and set it to primary. Once this is done Windows remembers this settings even when switch eGPU and external monitor. Everything gets reset when I run DDU.
I ran some quick Unigine benchmarks through the Radeon pro 5300M dGPU and eGPU internal display mode. Radeon graphics drivers for Navi are not great through loopback mode. The performance loss vs external monitor is more significant compared to Polaris and Vega cards. Windows Hybrids Graphics was used to assign each app/game to use the eGPU.
@sanzo There's performance difference but whether it's noticeable would depend on the tasks. The i9 version is worth it imo. You get two more cores, a better dGPU, and 512GB more storage space for $400. If you're in the US, Best Buy currently has $200 OFF on the 2019 16-in MacBook Pro. There are also open box units. I found a i7 version for $1,869. Nearly $1,000 savings over the new i9 was a big reason for my exchange too.
Hello, I learned how to use an external GPU after reading your post, but I found that the performance loss of my graphics card is too large, and the temperature of the built-in 555x graphics card is about 80 ~ 75 degrees. The method of reducing the frequency of the built-in graphics card to increase the frame number, I do n’t know if it is feasible, I hope I can advise. I am using vega64, thank you very much
One more thing, hope you can help me. That is, I need to add the specified software in the settings and set high performance before I can use the external graphics card acceleration, but some software external graphics card acceleration is not enabled. For example, the Java version of Minecraft still uses the built-in graphics card ( rx555x), I don't know if there is a way to make all software run on external graphics card (under bootcamp, windows10)