2017 13" Non Touch Bar MacBook Pro + RX Vega [email protected] (Mantiz Venus) + Win10 [theitsage]
The 2017 MacBook Pro laptops have Large Memory allocation in Windows so error 12 is less of a headache when using your eGPU in Boot Camp. However, if you have an AMD eGPU this pesky error is still a roadblock. I spent yesterday evening experimenting by first doing plug-and-pray an RX Vega 56 eGPU installation. Error 12 never went away even when paired with the 2017 13" non Touch Bar MacBook Pro.
Looking through the Implementation Guides table, there are only 8 successful pairings of AMD eGPU and Thunderbolt 3 13" MacBook Pro in Windows. I read over the details of each one and it was clear apple_set_os.efi is the crucial prerequisite. The primary purpose of this nifty efi is to keep the integrated GPU activated booting into Windows when there's an dGPU and/or eGPU. Sure, you can do a delay boot on the 13" MBP to replicate this same task. What I didn't realize is that apple_set_os.efi can help allocating resources for AMD eGPU. Intentionally not not, this boot loader file is very valuable to ensure successful and reliable eGPU pairing in Windows for MBP users.
Mid 2017 nTB 13″ MacBook Pro – i5-7360U/Iris Plus Graphics 640 iGPU/8GB RAM/128GB SSD
Mantiz Venus + Radeon RX Vega 56 + .5m Thunderbolt 3 cable
- Installed DDU and removed default Nvidia and AMD drivers - in Windows.
- Disabled PCI Express Root Port # 10 - 9D19 [connects to iSight camera] - in Windows.
- Installed rEFInd then added apple_set_os.efi to the ESP volume - in macOS.
- Connected eGPU to lower TB3 port [closest to TAB key] and select apple_set_os.efi before booting into Windows - in rEFInd.
- Downloaded and installed latest Radeon graphics drivers - in Windows.
Once these steps were done, Windows 10 1709 boots up with the RX Vega 56 eGPU reliably and without error 12. For full details and screen captures of the set up process, please refer to my eGPU Boot Camp setup guide. I highly recommend spending the time to read through it so that you fully see what's going on during the boot up process into Windows with an eGPU. It's not only helpful resolving error 12 but also beneficial when you encounter issues due to frequent software updates.
I ran Unigine benchmarks in both internal and external modes. There's an SSD mounted inside the Mantiz Venus and the dynamic firmware set H2D to a much lower throughput. It's a reasonable compromise on this setup because my late 2017 13" non Touch Bar has only 128GB (66GB partition for macOS and 55GB for Windows). Games and benchmarking tools are installed on the external SSD.
|Internal Display||External Display|
I like the progress Radeon drivers have made for RX Vega cards. The internal display performance is very good given benchmark software and games are running off the SSD inside the eGPU through a single Thunderbolt 3 cable. Eventhough I don't use any mouse/keyboard through the expansion USB ports to comment, I sincerely hope Intel can find a solution for this issue.
We know of at least three firmwares for the Mantis Venus giving CUDA-Z (Nvidia) comparative results as:
- 11xxMiB/s - the "half-H2D" initial release
- 15xx or 19xxMiB/s - half-H2D fixed, but has a 10Gbps or 5Gbps static bandwidth allocation for I/O ports
- 22xxMiB/s - half-H2D fixed, dynamical allocation for I/O ports
Did you want to obtain, flash and benchmark the (2) firmware? That is the one that balances I/O port reliability and eGPU bandwidth. John makes mention of the (2) and (3) firmware here.
I'm really nervous about messing with my Macs EFI folder (dont mind on my Hackintosh but...) and not keen on the rEFInd UI, leaving me 2 options I am unsure how to do (anyone able to point me in the right direction?).
1. Instal rEFInd on an external drive. I already have W10 working on an SSD I pulled from my Hack which only needed the correct drivers installed to get it working... can I instal on there and boot?
2. Design my own custom rEFInd UI, could be fun too, but not sure how feasible/easy to implement.
The reason I keep coming back to wanting my AMD card working over my Nvidia is I hear there is less of a loss on internal screens due to better drivers and I am kinda using internal...
@Eightarmpet you can theme rEFInd to make it look like macOS native Boot Selector or go wild with it. AMD XConnect is getting very good. The internal vs external difference is very marginal on the TB3 MacBook Pro.
Ohhh they look fine! The minimal one looks totally bearable and I think I can get my head round a custom theme too...
Should I expect a Vega 56 to outperform a 1070 if the drivers work better for internal screens (and the LG 5K is treated like one I believe).
Are you saying that hot plugging works instead of rEFInd? Does that solve error 12 too? Or is rEFInd crucial to eliminating error 12, despite large memory being present?
In my experience...
hot plugging works for an Nvidia card but not an AMD card.
@nombrescreeno apple_set_os.efi is the crucial element to resolve error 12 for AMD eGPU in Boot Camp. You can use this EFI boot file with either a USB thumb drive or rEFInd. apple_set_os.efi tricks the Mac computer into thinking it's booting into macOS and therefore keeps iGPU activated.
Hot-plugging at the Windows logo spinning circle screen is a workaround to keep the iGPU activated when booting into Windows if your Mac does not have a discrete GPU. It basically delays the connection of eGPU to the Mac computer.
Buttttt.... doesnt work with LG 5K displays for some reason.
Thanks guys! So for whatever reason, disabling the camera doesn't resolve error 12 like they do for Nvidia eGPUs?
Why does it say in the text to disable Port 10 9D19 but in the screenshot port 5 9D14 is highlighted? I'm on a touch bar 2017...
I see no port 10 though? Here is my screenshot.
the setEFI is preventing my LG 5K from working still too, so looks like this is of no use to me...
Thanks for all the info. I wish AMD was a bit easier to work with Windows, while Nvidia was easier to work with MacOS. If AMD had a eGPU in the form factor of the Aorus Gaming Box, it'd be a no brainer. Here's hoping a Vega Nano exists