Late 2018 Mac mini + RX Vega [email protected] (Razer Core) + macOS 10.14.1 & Win10 1803 [theitsage]
Here's another build using the 2018 Mac mini with an AMD eGPU. I wanted to test an USB-C monitor connected to the iGPU to simulate internal display acceleration using the eGPU. It's possible to do so in macOS and in Boot Camp mode with the use of eGPU EFI Boot Manager.
Late 2018 Mac mini – i5-8500B/UHD Graphics 630 iGPU/8GB RAM/256GB SSD
In macOS the original Razer Core does not have native support because of the TI82 USB-C controller block. I ran @mac_editor's Purge-Wrangler to unblock this restriction. After this the Razer Core + RX Vega 56 eGPU was plug-and-play in 10.14.1.
In Windows 10 I relied on @goalque's eGPU EFI Boot Manager and disablement of a couple PCIe components at boot. These are the basic steps I took to get this setup going:
- Install Windows 10 ISO through Bootcamp Assistant [in macOS].
- Download and copy @goalque's automate-eGPU EFI to USB thumb drive [in macOS].
- Hold OPTION at boot to select EFI drive and hit Q to access automate-eGPU EFI [boot selection].
- Select View by Connection in Device Manager then locate and disable PCIe Root Port #2 - A339 and PCIe Controller (x16) - 1901 [in Windows].
- Shut Mac mini down then connect eGPU to Thunderbolt 3 port closest to the HDMI port.
- Boot into Windows using automate-eGPU EFI [boot selection].
- Confirm a new Microsoft Basic Display Adapter in Device Manager then install Radeon drivers [in Windows].
The Intel iGPU should remain activated and power the USB-C monitor (connected to USB-C port closest Ethernet port). This setup and boot-up procedure allows me to run internal display mode through AMD XConnect. One unusual thing I noticed is the lower TB3 bandwidth in Windows as seen in AIDA64.
This same arrangement in macOS does not lower the TB3 bandwidth as seen in CL!ng.
I ran Final Cut Pro X to compare the difference between UHD Graphics 630 iGPU vs RX Vega 56 eGPU. The iGPU completed BruceX in a little bit over 90 seconds. The eGPU completed BruceX in 14 seconds. Here's Luxmark numbers.
Below are Unigine benchmark numbers through internal display mode vs. external monitor in macOS.
Here are Unigine numbers and 3DMark in Windows 10.
|eGPU Interior FHD||eGPU External FHD||eGPU External QHD||eGPU External 4K|
I flashed the RX Vega 64 vBIOS to my reference RX Vega 56 so some apps detected it incorrectly. This provides a nice performance boost but does not stress the power supply like the RX Vega 64. While I don't have a Thunderbolt 3 monitor to confirm, I would say the LG 5K UltraFine should work similarly.
Cracking write up as ever... almost feels like it was written with answers that preempt expected questions... 😉
Any chance of testing out some games with this set up?
I’ve been trying and failing to get my Vega card working in Windows, as per usual, how it worked perfectly first time I just don’t understand, I might start my own thread and really deep dive because I lose track of suggestions across threads, anyway... I’m very very close on to just buying a new mini as it’ll also be a big performance boost I think. I'm a tiny bit confused why a dedicated boot screen would be needed - is it because the external monitor stays blank until windows is loaded? If so it wouldn’t be a problem with the 5k right? Have you tried booting sans modding with just the usb c monitor? If the igpu isn’t active would it just boot to a black screen or would the egpu kick in and take over?
@eightarmedpet Without workarounds the iGPU would be disabled when there's an eGPU connected. What the boot process would look like is the boot screen appears through the Mac mini's connected display then once Windows completes booting, this display either stays black or flickers randomly.
Got ya... so a direct connection to a gpu is required but once established acceleration can be taken over by any gpu.
Would using team viewer to set everything to prefer egpu be another option? (Will google os level gpu management).
Having a whole host of issues here with my 2108 Mac Mini and the Vega 56. Tried it with 2 separate OWC Helios FX eGPU's, a Razor Core, and also tried a AMD 480. All give the same problem: intermittent then no image on my 4K LG TV. Apple Display prefs show the screen is there, but I get no image. Trying to figure out if this is a Mac Mini issue in general, or just my unit.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
@jdx I'm not going to speculate what the problem is but if you have tried multiple enclosures and 2 different cards and the results are always the same then that sounds like the issue will be with the other parts of the system, either the Mac mini, the TV, the cables or the way you have it all connected.
@megaseppl Do you mean Sleep/Wake with the eGPU connected? Ideally the enclosure would sleep and wake up accordingly to the Thunderbolt 3 host's power state. It doesn't always behave this way. There are instances when the enclosure would wake up during TB3 host's sleep state. When the TB3 host wakes up, the enclosure would always wake up with it but the eGPU may not always resume working.
I wish I had one answer that's applicable to all. The firmware on the eGPU enclosure can kick the fan/s on during sleep if it senses certain components on the Thunderbolt 3 main board need cooling. Vendors had advised this behavior happens most often during charging of TB3 laptop via Power Delivery from the enclosure.
Hi, first I want to thank you because I read a lot of your posts and they are very helpful.
I'm a beginner here, but after several tries and testings, i did gain some experience and I also have many questions that I don't understand.
My setup is Mac mini 2018 + Core X + Vega 64 + LG 27' 4K USB-C display. The eGPU works perfectly in OS X Mojave, but it behaves quiet unpredictable in Win 10. By using the automated EFI, sometimes I could get iGPU and eGPU both working, but I just could not let the system to sleep, otherwise it always unable to wake up. Sometimes I got the error 12 and sometimes the eGPU simply didn't show up and won't be detected correctly by re-plug in, as the system showed the PCIE has problem.
When I don't use the EFI, sometimes I could get the eGPU working while iGPU not showing in devices list, sometimes I just got the black screen for both while the windows was working fine (keyboard light and PnP sounds) .
Now I will try your way to disable one PCI port to see if it will work. I have tried Gigabyte RX580 gaming box for a week, it was really trouble free. It didn't need any modification and was able to boot into Windows without any trouble. But I returned it because it is expansive compare to its performance.
Hope I can get some good results.
@theitsage I have tried you way of disabling certain PCI port but unfortunately if didn't work. The whole thing is a sort of mystery for me at this moment...
@gzstranger Do you need the iGPU activated while using the eGPU in Windows? Is your monitor the LG UltraFine 4K? While I had done testing with a USB-C portable monitor on the 2018 Mac mini, I have not used the LG UltraFine to confirm its behavior with eGPU in Boot Camp. In my personal experience, the step "Select View by Connection in Device Manager then locate and disable PCIe Root Port #2 - A339 and PCIe Controller (x16) - 1901 [in Windows]" helps a lot with resource allocation in Windows. Sleep never worked for me in Boot Camp using an AMD eGPU. There are unfortunately limits to these workarounds. I will test an older method of using rEFInd and see whether eGPU detection in Windows is more reliable.
@theitsage My monitor is LG 4K UK850. I don't really need iGPU working at the same time, but I just wonder why the results are never consistent.
I have a TB3 harddrive. I tried to disable that port, but it caused my harddrive not detectable, and eGPU was still in error 12. Now i found that without AutoEFI, I have better result to get the eGPU solely working in Win.
Hi @theitsage thanks for all your guides.
I have a question regarding the step where you say "PCIe Root Port #2 - A339 and PCIe Controller (x16) - 1901".
The "PCIe Controller (x16) - 1901" is the 10 Gigabit Network Adapter. But what is the "PCIe Root Port #2 - A339" ?
@adamk77 "PCIe Root Port #2 - A339" is the Broadcom Gigabit Ethernet. Things have gotten better with Windows 10 since this guide and you may not have to disable any PCI Express roots if you use automate-eGPU EFI or rEFInd.
@itsage Thank you for another great build.
For a layman:
Could you please explain, why the "disablement of a couple PCIe components at boot" is necessary for the Bootcamp setup? E.g. this PCIe Root Port#2 A339 mentioned before? Thank you very much.
@oliverb When I put together an eGPU build in Boot Camp, I always try to keep the iGPU activated so that XConnect/Nvidia Optimus can work for internal display acceleration. This is typically requires more work than having the eGPU connected prior to boot. Hence it involves the use of boot manager such as automate-eGPU EFI. That usually gets an Nvidia eGPU going with Intel iGPU.
When I encountered error 12 with an AMD card, I would look into the list of PCIe components that are no use to me then disable them. In this build, PCIe Root Port #2 - A339 to the Broadcom Ethernet card were not in use and my Mac mini has no 10GbE so PCIe Controller (x16) - 1901 was empty. There are Macs that disablement of PCIe components means sacrificing features. Usually they can be re-enabled after Windows loads with eGPU functional. One exception is the dGPU in 2016 15" MacBook Pro.
@itsage thank you for the elaboration. Actually this is really annoying with the internal display being disabled with the eGPU plugged during boot. I guess I am really lucky having (no, it's my wife's MacBook, lucky she) one macbook (13-inch 2015) where this is not the case.
It's still very, very difficult to hot-plug an AMD eGPU, best is to boot with it plugged in, but when this disables the internal display, it's a death circle...
@itsage Ah, thanks for the explanation.
I'm confused about your statement of not having to disable any PCIe roots if you use automate-eGPU EFI.
I thought that automate-eGPU EFI is the boot manager for apple_set_os.efi, which keeps the iGPU active. Why would using this eliminate the need for disabling the PCIe root ports or controllers, or does it do something else in addition?
One of the things that I'm concerned about is that I will not be able to use my Thunderbolt 3 SSD (Samsung X5) if I have to disable the "PCI Express x8 Controller - 1905" to work around the "error 12" issue, because that's where it'll be connected. The reason I'm thinking it may have to be disabled is because I'm planning on using the Vega 56, and the Macbook Pro Bootcamp eGPU Setup Guide states that for the Vega 56, "...we needed to also disable the PCI Express x8 Controller – 1905 that connects to the left Thunderbolt 3 ports."
I don't yet have all the parts to try this out. They're en route right now to my house and should hopefully be here by tomorrow. I am trying to get a jump start and get off to a running start when my parts arrive. I really appreciate the help!
@adamk77, if you use newer version of Windows 10 (Build 1803 or newer) it may work for your without disabling controller 1905 (which is not a good option in my opinion, I would never do it, rather not use eGPU).
Perhaps you try to orientate yourself at this Bootcamp guide, which doesn't disable anything. That guide is written for MacBookPro 15-inch, but there are successful reports of other types of Macs. But you won't be able to hotplug and AMD eGPU when Windows is fully loaded.
EDIT: About this quote:
"...we needed to also disable the PCI Express x8 Controller – 1905 that connects to the left Thunderbolt 3 ports."
I never needed to disable it (I have done it for testing purposes, but it didn't change anything in a positive way). As mentioned before, I would never do it on a permanent basis, I did not buy a expensive macbook only to have half the ports disabled which are a main attraction of the computer.
@oliverb Thanks for your suggestions. I will definitely try them out.
I do not want to disable the Thunderbolt 3 ports, but if that's the only way to get the eGPU to work without running into the "error 12" issue, then I suppose I have no choice. I'll just have to spend a bit extra and buy a USB 3.1 Samsung T5 SSD instead. I really hope it won't be the case, because trying to use my Mac Mini for gaming in Windows is getting expensive.
@oliverb Thanks for your suggestions. I will definitely try them out.
I do not want to disable the Thunderbolt 3 ports, but if that's the only way to get the eGPU to work without running into the "error 12" issue, then I suppose I have no choice.
I can personally guarantee that it is not absolutely necessary to disable those ports.
I don't know exactly why it is written "We needed to also disable". It is not the only way and never was. I guess this quote is a little of out context. I may be necessary if you want to hotplug an AMD eGPU, because this is really difficult.
Just to solve Error 12 itself there are other solutions. In all my setups Error 12 was always solved just by booting with the eGPU plugged in. This may cause your internal display to get black, but that's much better than Error 12 or disabling two TB3 ports. And there are other ways to avoid internal black screen.
@oliverb Much thanks for the reassurances. It's great to hear!
I'll try it out and put up a build guide here as well and give back a little to the community in hopes that others will find it helpful.
I purchased the 350W Sonnet to go along with the Vega 56 (I know the 550W is recommended, but I saw several people who were fine with the 350W as the Vega 56's power consumption is below 200W and the Sonnet 350 is listed as supporting up to 300W for the GPU).
@adamk77 The Sonnet Breakaway Box 350 is a good choice. It's easy to upgrade the PSU should 350W not able to handle the RX Vega 56. In Windows, you can use Wattman to undervolt the GPU to help with power consumption. I recently put together a build using a RX Vega 56 Nano Edition + Gaming Box. It matches the smaller footprint of the Mac mini better. The installation instructions are also more up-to-date.
@itsage I'm happy to hear that about the Sonnet because I had my heart set on the Razer Core X. But it must be flying off the shelves because I couldn't find it anywhere in stock. If the Sonnet 350W does work without a PSU upgrade, then it's $100 in savings which I'll gladly take.
Ah, I haven't seen that guide yet. Checking it out. Thanks!