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)
@lzlz The only sure way to make those apps/games run off the eGPU is through an external monitor set to primary display. If you can use it in clamshell mode that would be even better.
@itsage I followed the 5 steps you listed below and it successfully detects both my dGPU and eGPU (Sapphire Nitro+ 5700 XT) but keeps crashing whenever I run games like Overwatch and Escape from Tarkov. Any ideas of what's causing the issue?
EDIT: It crashes within 5 minutes of playing any game.
@dion_martinez I have seen many crash reports on the RX 5700/XT. It could be hardware related rather than the setup procedure. Try putting a load on the eGPU in macOS and see whether it would experience similar crash.
I've been using this eGPU since December and haven't crashed on MacOS. I've also been using bootcamp with the November bootcamp drivers with no issues either.
@itsage Is your bluetooth gone only when connected to egpu?
I’ve got code 10 in device manager “Broadcom Serial Bus Driver over UART Bus Enumerator”
Edit: yup there is no Bluetooth on your device manager. RIP
Gotcha. Thanks for the reply! Any suggestions on how to get the full power of the eGPU? Not sure if I'm maximizing it's potential. Does it matter where you plug in the eGPU to in regards to the 4 thunderbolt ports?
Really sorry for this post, you were pretty clear in the OP but I just want to double check some things before I drop $600 on EGPU stuff:
- If I restart my computer from MacOS into Windows while the EGPU is plugged in, will it work? I'm pretty sure this is considered cold booting but ideally I want to be able to switch from MacOS to Windows without having to get up and unplug and replug stuff
- Can I cold boot into MacOS?
- Are the DDU/graphics stuff safe to do? Can I revert if something goes wrong?
Finally is there anything else I should know about this setup or is this basically an ideal EGPU setup?
@nahtnam, Cold-boot into macOS is natively supported and should work great. Cold-boot into Windows is possible with a few prerequisites. First you’d need Windows 10 1903 V1 (18362.30 to .295). Also necessary is an EFI boot loader such as the modified apple_set_os.efi v0.5 from @aa15032261. Last is the modified Radeon drivers from bootcampdrivers.com.
Hi, what color Radeon graphics drivers did you use? Red/Blue/Pro? Hope you can respond soon, thanks! I am also running a 5700XT eGPU with the upgraded 8gb GPU as the internal one.
EDIT: Went with the one recommended for the 16"
Hmmm, so things are not going well... MacOS works perfectly however I am struggling to get windows to work, here are a few issues I noticed:
1. Even after patching the efi stuff, if I start the computer with the lid closed, it boots but does not output anything to the egpu (windows)
2. If I hot-plug in widnows, its very very slow
3. Once its all working (~2 minutes), if I close the lid it stops working
4. I have all my peripherals connected to the eGPU and they stutter a lot.
Are these problems solvable? One of the main reasons I wanted an egpu was to be able to game so I am hoping to get this to a working state. If not, it looks like I'll have to return it. Also let me know if I should create a separate post for this since its kind of long.
Thanks for your help!
@itsage, Hello, I finally got my new macbook pro 16" (i9 , 5500 8 GB) , so I tried to get my EGPU (razer core X with XFX 5700XT) working on windows 10, I was happy you got it working with my same specs.
I followed your steps:
Installed windows 10 1903 V1
run DDU to remove graphics drivers and disabled windows update
installed modified drivers from bootcampdrivers.com, adrenaline RED version
hot plugged my egpu and got error 12
everything in this order
i don't know where is the error :(( , I write here to search for some help, thank you very much.
I boot with Option pressed, select the Win10 bootcamp partition, and load to desktop. I give it about 10 secs to settle before I plugin my egpu. I'm using a PowerColor enclosure with a Gigabyte 5700 XT. I don't plugin my other TB stuff until I see my external display is working. Give it a good 15-30 seconds. Once that's good, I'll plugin my TB USB hub for mouse/keyboard and a 1TB SSD drive. It seems once the resources are properly allocated to the EGPU, everything else is good to go.
On the flip side, if I leave everything plugged in, turn on the machine, and boot into Win10, I cannot get the egpu to be detected in Win10 at all! A little annoying but now that I have a system that works, it's not that big of a deal. Hope I helped a little 🙂
@filippo_claus, we had the exact same specs and the exact same problems.
Did you get it working?
Have you tried out 18326.295 now?,I’m now using 18362.30 as suggested, but I only get error 12, not even the external monitors lit up.
@itsage, I have the same “everything “ as philippo and I’m pretty sure I did every step correctly. But still, error code 12. Any thoughts?
@briefcase0j, If you’re on Win10 18362.30 then keep trying with DDU and modified drivers from bootcampdrivers.com. Run DDU to clean, restart. Hot-plug eGPU in Windows Desktop to install drivers then unplug before restart following installation. Hot-plug eGPU once Windows completes booting into Desktop.
@itsage, thanks for the help! I’m a bit confused about when to plug in the egpu. Do you mean that I should install the driver, restart, plug in egpu, wait for installation, unplug and restart, then plug in the egpu again?
I’ve tried several orders to finish the last steps, including training out different drivers(red and blue), yet I’m getting disappointing results. 😭