System specs: 2019 16" Apple MacBook Pro (RP5300M) [9th, 6C, H] with Windows 10 20H2.
Cold boots straight to Windows, no port switching necessary. Hot swapping might work with port swapping, I haven't tried it. I'm running AMD Radeon Software 20.12.1 from BootCampDrivers.com, and using the apple_set_os EFI file from here (should have a walkthrough for MacOS):
I use an Apple 2m Thunderbolt 3 Pro Cable. Mouse on rear right port, SSD on front left, eGPU on rear left. UAD Satellite Quad USB, RME Fireface UFX, and MIDI controller on Gaming Box ports. Sometimes, the UAD won't detect if it's turned on a boot, but power cycling fixes it. It used to cause bluescreens, or freezes during left-right-left portswaps if I had it turned on at boot, but I don't have to do that anymore (thankfully). In fact, the port swaps were generally only happy if nothing but the GPU was plugged into the MacBook ports at boot. Again, not a problem anymore.
I learned some lessons updating my Gaming Box to the latest firmware, Thunderbolt firmware, BIOS, and functioning Thunderbolt 3 drivers. My unit was initially all original. Using NVidia's extremely handy OpenCL Bandwidth Test software, available from here:
... thanks to a tip from @jason_sherman, I found out I was only getting about 1000MBps host to device bandwidth. This limitation required the H2D firmware from Gigabyte. Here's where things get a little confusing.
There are four different firmware updates available on Gigabyte's page here:
F1.0 (Stock), F1.0_H2D (Host-to-device improved), F1.1 (PSU fan fix for throttling up after shutdown), and F1.3 (reduce small fan noise in idle mode). These firmware upgrades do supercede one another: whichever you choose will overwrite the eGPU chassis' main firmware. However, the F1.0_H2D package includes a separate firmware file that specifically updates the eGPU's Thunderbolt 3 interface. There's a guide included, but I found that the firmware updater (FwUpdateTool.exe) wouldn't run because it needs Intel's Thunderbolt 3 driver to be installed, particularly a certain version, as it's an older version of their updater. Rather than trying to use an old driver, which I didn't immediately find, I installed the most recent Intel Thunderbolt 3 Legacy driver (18.104.22.1680) from here:
...then pulled the FwUpdateTool.exe out of a more recent Intel NUC update (version 33 for NUC7i5BN and NUC7i7BN), which I found here (do NOT install the firmware included with this package to your Gaming Box):
... to install the BIN file in the Gigabyte 1.0_H2D ZIP file. Around this time I noticed I was getting straight boots with no port swaps, which I think is 100% because of the driver, however I can't be entirely certain. The firmware update will take a while. Mine started turning the screen off and on in a loop at the end, which I eventually ended by right clicking the Thunderbolt.exe tray icon program and quitting it while the screen was cycled on. It locked my machine up, rebooted, and I worried I'd bricked my unit, but I was able to run it again and just update to whatever PCI device it listed. You can probably avoid this by rebooting after every step of this process, but I was impatient. Running OclBandwidthTest again has results in consistent ~1850-2000 MBps H2D speeds. Make sure to install the 1.3 firmware to your device as well (very straightforward), just run the file in the zip.
Now, I believe that all of the above firmware changes apply to all of the Gaming Boxes from this generation - the RX580, 1070, etc, which used the same chassis (NOT the new chassis). Best to use the files from their respective product pages' download sections. The next step is absolutely NOT universal, but GPU-specific: updating the video BIOS.
There are three versions of the RX580 units, each for a different memory vendor. The best way to tell is to download ATIFlash from here:
When you run amdvbflashWin.exe (as an administrator), and select your card, it will tell you what VBIOS is currently loaded into your GPU. In my case, it was GV-EX580IXEB-8GD/F1/06E6. The "F1" part is what you should be concerned with: F1 meant my card used SKHynix memory. F10 uses Micron, F20 uses Samsung. See this note about which updates that means you should use, from Gigabyte's site:
F1, it can only be updated with VBIOS versions F2-F9.
F10, it can only be updated with VBIOS versions F11-F19.
F20, it can only be updated with VBIOS versions F21-F29.
So, I used amdvbflashWin.exe to flash the F2 BIOS. The included Gigabyte flash tool didn't work.
One last bit about the Intel TB3 drivers: having tried a few permutations, the DCH drivers were a no-go (installer errored out). If you're trying them out, or going back and forth, be sure to completely uninstall them. Remove them from Apps and Features using their uninstaller, or run the installer and click remove, then look in your device manager for stray Thunderbolt 3 Controllers in System Devices and Thunderbolt 3 Toast Components in Software Components. Be sure to hit View -> Show Hidden Devices. Finally, open a command prompt (cmd) as administrator and run "sc delete nhi". Maybe reboot for good measure. If in doubt, clean it all out, and start again.
Finally, if you find the Thunderbolt.exe icon in the system tray annoying (you can't disable it in Startup), go to your Services panel (just type "services" into the search box on the taskbar if you're lazy like me), scroll down to the three Thunderbolt services (Application Launcher, Peer to Peer Shortcut, and Thunderbolt Service), and set their Startup Types to "Disabled" in their properties. I haven't had any problems since doing so.
Everything works, LEDs, fans, throttling, devices plugged in or charging off of the Gaming Box, other devices plugged into my system, etc. Hope any of this helps.
I've been using this eGPU for a while with my 2013 MBPr, but it's a big improvement using it with Thunderbolt 3, and having the extra hub built into the unit (and charging). Great for games, great for Blender (though it prefers eGPU-only rendering), great for music work (those ports!). Powers an external 27" LG screen.