2018 Mac Mini [8th,4C,H] + RX Vega [email protected] (Gigabyte Gaming Box) + macOS 10.14.4 & Win10 1809 [itsage]
This is the portable eGPU build a lot of people wanted but no vendor built. I bought the RX Vega 56 Nano Edition on Newegg when it was on sale for $350. The enclosure was from the Gigabyte RX 580 Gaming Box. The only missing component was a PCIe Y adapter to power the Vega Nano. Other than that there was no modification to make this pairing work.
Coincidentally Gigabyte released firmware 1.3 to quiet the two 40mm enclosure fan. This firmware turns these two fans off during idle. They kick on when the eGPU reaches a certain temperature. The result is much quieter operation. My room ambient noise is 40dB. Before firmware 1.3 the Gaming Box idle noise was high 40s (47.7dB). Once flashed to firmware 1.3, it's running at low 40s (42.8dB).
Late 2018 Mac mini – i3-8100B/UHD Graphics 630 iGPU/32GB RAM/128GB SSD
It was plug-and-play in macOS Mojave. I connected an ASUS portable FHD monitor through a USB-C connection to always have boot screen. The Vega Nano eGPU powered the Samsung 49" monitor through HDMI cable and HP 27" 5K monitor through a pair of DisplayPort cables. I was able to run AORUS Engine app in macOS to change the RGB light strip.
In Windows 10, there are a couple of options to get the RX Vega 56 eGPU going. The simple method is to hot-plug the eGPU then install Radeon drivers. Once this step is done, shut the system down and switch the monitor connection from the Mac mini to the eGPU. You won't have boot screen because the eGPU disables the iGPU during boot. I wanted to keep the iGPU activated so I'm using automate-eGPU EFI. These are the basic steps I took to get this setup going:
- Boot into Recovery mode to disable SIP through Terminal. Open Startup Security Utility to set Secure Boot to No Security and External Boot to Allow booting from external media [in Option Boot]
- Download and install Windows 10 ISO through Bootcamp Assistant [in macOS]
- Complete Boot Camp driver installation then download and unpack Display Driver Uninstaller [in Windows]
- Run DDU with Admin privileges to disable Windows auto-installation of drivers [in Windows]
- Download automate-eGPU EFI onto a FAT thumb drive or a small partition (24MB) of the internal drive [in macOS]
- Shut Mac mini down then connect eGPU to Thunderbolt 3 port closest to the Ethernet port
- Boot into Windows via automate-eGPU EFI [boot selection]
- Confirm a new Microsoft Basic Display Adapter in Device Manager then install Radeon drivers [in Windows]
I ran the Vega Nano Gaming Box first through loopback mode by connecting the ASUS USB-C portable monitor through one of the USB-C ports in the back of the Mac mini. External monitor mode was through the HP monitor at FHD. Due to limited internal storage, I installed all games on an external USB 3.0 SSD connected to the Mac mini's USB port.
In order to run Steam games in loopback mode, I located the main app inside the Steam folder. Open the Information tab then set it to prefer external GPU. The games may show the Intel iGPU is primary graphics card but you can tell which one is working through Activity Monitor GPU window.
|2018 Mac mini i3||macOS Loopback||macOS External Monitor||Windows Loopback||Windows External Monitor|
|3DMark Time Spy||---||---||5,329||6,077|
|3DMark Fire Strike||---||---||16,350||19,353|
|Tomb Raider 2013||44.2 FPS||62.8 FPS||109.0 FPS||123.8 FPS|
|Dirt Rally||51.1 FPS||68.0 FPS||74.0 FPS||74.6 FPS|
|Shadow of Mordor||41.8 FPS||54.4 FPS||90.6 FPS||104.3 FPS|
|Hitman||39.9 FPS||52.5 FPS||72.8 FPS||80.4 FPS|
|Strange Brigade||---||---||86.0 FPS||95.0 FPS|
Great. A lot of GPU power in a handy box.
Especially as Navi RDNA 5700 series becomes available and (perhaps in the future?) with SFF card options given the lower power consumption estimates.
@mar_kelp For the most part the Gaming Box + RX Vega Nano eGPU can run stable. I tested the setup with a 2017 13" MacBook Pro when the battery was very low (20% charge on battery). The only test that crashed the eGPU was Fire Strike. With undervolting the Vega Nano eGPU could run without crashing.
I upgraded the 2018 Mac mini to Windows 10 1903 today. A nice surprise I found is that AMD eGPU could be hot-plugged without encountering error 12. As seen in the build guide, I use an ASUS 15" portable FHD monitor through a USB-C cable. It runs off the Intel UHD Graphics 630 iGPU. I don't have any monitor connected to the RX Vega Nano eGPU. No EFI boot loader was used. Simply boot into Windows 10 1903 then hot-plug Vega Nano eGPU.
Radeon drivers 19.5.2 were installed from Windows 10 1809 so as soon as the Thunderbolt 3 eGPU was detected, Radeon drivers were loaded and XConnect notification appeared. One PCIe root port I disabled permanently is 1901 which hosts no component on my system (it's there for 10GbE if your Mac mini is configured with one).
I installed Thunderbolt Control Center to keep tab on whether Thunderbolt ports/controllers are awake at boot. I don't believe it matters having this software in Boot Camp. The four TB3 ports are visible as #1 to #4 starting from HDMI port to Ethernet port. Another behaviour I noticed is that once a TB3 port is associated with the AMD eGPU through hot-plug, it will not work the next hot-plug. What I do is a trick learned from the 2018 15" MacBook Pro. I disassociate the AMD eGPU to TB3 port by manually uninstall it in Device Manager prior to hot-unplug. Subsequent hot-plug would then work well every time with every TB3 port. Make sure [ ] Delete the driver software for this device is unchecked.
Wow, this is super interesting and pretty big! Have you tried the same version on your MacBook again? Mine claims it’s no eligible for the upgrade within windows updater.
@eightarmedpet Indeed it is a big deal with AMD eGPU in Boot Camp! I tested this setup more since my last post. It's at a point where I do not need to uninstall RX Vega Nano in Device Manager to disassociate Thunderbolt 3 prior to hot-unplug. What I found is through the use of my USB-C monitor, one Thunderbolt 3 controllers always stays awake booting into Windows even when there's no Thunderbolt 3 device connected. The USB-C monitor uses one of Thunderbolt 3/USB-C ports so the TB3 controller hosting it has to work at boot.
When I switched to using a HDMI cable from the Mac mini to monitor at boot, no Thunderbolt 3 controller was awake and therefore hot-plug was not reliable. Apple can definitely tune their firmware to officially support eGPU in Boot Camp if they choose to. In the mean time we can connect a USB-C device to one of the ports booting Windows. In the 2017 13" MacBook Pro for example, we want to use the left-sided TB3 controller for full x4 PCIe bandwidth. Cold-plug a USB-C thumb drive to one of the left TB3/USB-C ports then boot into Windows and the left Thundebolt 3 controller should be awake. I have not tried W10 1903 again on my 2017 13" MBP because of corruption issues when installing Radeon drivers.
I upgraded the 2018 Mac mini to Windows 10 1903 today. A nice surprise I found is that AMD eGPU could be hot-plugged without encountering error 12.
This would be a breakthrough. Is it confirmed to be feature by Build 1903?
@oliverb I believe this is only possible with Windows 10 1903. I spent the afternoon replicating this process on the other two Thunderbolt 3 Macs I have. The 2017 13" MacBook Pro unfortunately does not work well with Radeon drivers in 1903. As soon as the graphics drivers load, the system crashes and stuck in reboot loop. With Windows 10 1809, hot-plugging the AMD eGPU would result in error 12 on this laptop.
The good news is hot-plug for AMD eGPU works for my 2016 15" MacBook Pro running W10 1903. This particular model year Mac laptops do not have Large Memory allocation. Therefore I have to rely on automate-eGPU EFI to load modified DSDT file in order to have Large Memory. This boot loader also helps me with keeping the Intel iGPU activated. To match the 20018 Mac mini as close as possible, I disabled PCIe Root 1901 to the Radeon Pro 460 dGPU and attached the Intel iGPU to internal monitor.
Hot-plug was never a possiblity with this 2016 15" MacBook Pro whether Nvidia or AMD eGPU. I can now hot-plug a Radeon eGPU without encountering error 12. I'm not sure how a 2018 15" MacBook Pro like yours would behave because we cannot activate iGPU. You can give a try and let us know. Install latest modified Radeon drivers from Bootcampdrivers.com then upgrade Windows to 1903. Hot-plug your AMD eGPU in Windows Desktop then see what happens.
thank you for the elaboration.
Actually hot-plugging AMD cards has never been possible with any MacBook Pro prior to Windows 10 Build 1903. I want to try and find out this for other MacBook Pro models, soon. Of course I will report the results once I have them.
Thank you very much for everything!
@oliverb I'm looking forward to seeing your findings! I hot-plugged an RTX 2070 Gaming Box into this 2016 15" MacBook Pro just now and it worked the same way. This is no big deal for newer Macs but it's wonderful news on this system.
Last but not least hot-unplug does not crash the system. As a matter of fact I can switch between using Nvidia to AMD eGPU and vice versa. The only limitation so far is only one Thunderbolt 3 port seems to work this way. I will play around with the other ports.
I did the following:
-Installed Windows 10 Build 1903 directly within Build 1803.
-Unplugged the nVidia eGPU.
-Hotplugged the Sonnet Breakaway Puck 570.
Note: This is something like a revolution. I was guessing before that the Windows build version plays a crucial role for Error 12. Now, it looks as they have finally solved it. I have never been a Microsoft fan, but this is great work.
Note2: After booting the computer without any eGPU and hotplugging the RX 570, I got Error 12. So, there are still issues.
Note3: I cannot reproduce anymore that hotplugging AMD eGPUs works. Getting Error 12 everytime now. 🙁
@itsage @oliverb Looks like Windows is improving their PCIe device allocation game. Good to see. If only Mac firmware was nicer to Windows. Apple refuses to address the issue of black screen on booting with eGPU on the 2018+ 15” models since “eGPU is not supported on bootcamp”. There have been some updates though with Catalina, such as improved wireless performance.
purge-wrangler.sh ✧ purge-nvda.sh ✧ set-eGPU.sh ✧ automate-eGPU EFI Installer
Troubleshooting eGPUs on macOS
Command Line Swiss Knife
eGPU Hardware Chart
Multiple Build Guides
Current: MacBook Pro RP560X + 480/R9 Fury/Vega 64 | GTX 780/1070
Previous: 2014 MacBook Pro 750M + 480/R9 Fury | GTX 780/980 Ti/1070
@oliverb Thank you for the report. It's good to have confirmation W10 1903 helps with AMD eGPU hot-plug. There are a couple things I've tried to produce more reliable hot-plug without error 12. The first is to manually uninstall the AMD eGPU in Device Manager like you would with previous procedure. The second trick is to connect a USB-C device such as a thumb drive so that the Thunderbolt 3 controller stays awake and gets allocation during Windows boot. Every Mac system is different but hopefully the more we try the better results we collect.