Bootcamp issues with 2015 mid 15-inch Macbook Pro + Razer Core X + Sapphire Vega 64 Nitro+
Hi everyone, i've been following the egpu guides around here for a while but can't manage to get my eGPU to work on bootcamp.
My setup is the following:
Mid 2015 15-inch Macbook Pro
iGPU: Intel Iris Pro
dGPU: Radeon M370x
OSX: Mojave 10.14.4
Bootcamp: Windows 10 v1809
External Monitor: Samsung CF791
Thunderbolt 3 to Thunderbolt 2 Adapter
Thunderbolt 2 Cable
I didnt have any problems with installation on Mac OS, just run purge.wrangler and that was it. Everything works perfect.
For windows i still can't make it work.
I did fresh install of windows v1809 in bootcamp, then deleted drivers with DDU .
I downloaded the drivers from bootcampdrivers.com but when trying to install the drivers i get different outcomes after several tries. When i got black screens, i then proceeded with a system restore after DDU .
1st Outcome: I get 2 Microsoft Display Monitor Adapter, one with yellow cone error 31. There's nothing i can do after this.
2nd Outcome: Sometimes I get black screen after trying to install the drivers with egpu connected. I dont know if i should install the drivers before or after connecting eGPU. AMD adrenalin software says "looking for devices" while installing drivers, so i guess it should be connected.
3rd Outcome: I get the correct drivers, Radeon MX390 displaying and Vega 64 with yellow cone error 12. Then i try apple_set_os.efi guide. I get the EFI selection screen, after booting into windows i only get black screen and freeze.
I don't mind about using the internal display while on bootcamp, as I just plan using the external display with egpu in bootcamp for gaming. Isnt there an easier way if I just want it like this?
*Another doubt: does the external monitor have to be connected to the other thunderbolt 2 port or connected to the eGPU??
If i can get some guidance i would really appreciate it. I don't know which part I am doing wrong.
I've checked every build with the same mid 2015 15-inch macbook pro , followed the steps but nothing.
Your configuration is probably the most challenging to set up in Boot Camp. I don't personally have first-hand experience so these are some guesses as to what you can try next. Go with Windows 10 1903 and see if it helps. If you don't care about using the internal display in Boot Camp mode, then boot into Windows with the eGPU connected to get around error 12. The setup procedure would be as followed:
- Installed W10 1903 ISO via Boot Camp Assistant
- Run DDU to remove Apple graphics drivers
- Install modified Radeon drivers from Bootcampdrivers.com
- Connect Vega 64 eGPU prior to booting into Windows
Make sure you don't connect the eGPU until the very last step or when you know drivers for it is fully installed. Also connect the external monitor to the eGPU directly before booting up to get screen output. You don't/shouldn't connect the external monitor through the second TB2 port of MacBook Pro.
Hi!, thanks for the reply.
After going to the processes over and over again, i finally managed to make it work. However it is still not stable. Here's what i did.
Installed windows 10 v1903
Removed drivers with DDU
Installed latest drivers from bootcampdrivers.com
(*In my mid 2015 15" macbook pro, installing the drivers with or without the egpu connected makes no difference.)
After this, i had the AMD Radeon R9 M370X showing ok and the Radeon Vega 64 showing error 12.
I started messing with enabling and disabling the PCI Root bridges following @nando4 guide on solving egpu error 12 in windows. After many tries, error 12 was gone and my external display finally showed up.
I checked again what i did and basically was this, in this particular order:
Enter to view devices by connection
-Disabled PCI root above the Radeon Vega
-Disabled PCI root above the Radeon R9 M370x dGPU
-Disabled PCI root above the Facetime camera
-Enable PCI root above Radeon Vega.
And then, no more error 12!
What i think is weird is that, different from other builds i've seen, i have both internal and external display working. (external display connected to eGPU via displayport), which is better than what i expected. Everything working perfect in both displays.
The only problem is that after rebooting or put to sleep, everytime i have to repeat the disabling and enabling process. It takes a few tries though, if the first time didnt work, i enable everything again and start disabling.
Thanks for the help and the very useful guides and builds in this site. I will still try to find for a more effective way to get the setup running.
@piperx10 Good to hear you managed to get the eGPU working. The next step is to find a reliable procedure. Error 12 is definitely a headache for AMD eGPU in Boot Camp. My recommendation is to do a dsdt.aml override so that you can imbed it into a boot loader such as automate-eGPU EFI. I'm doing that with my 2016 15" MacBook Pro [build link] and it's a much nicer and more reliable procedure to use AMD eGPU in Boot Camp.
I had Error 12 as well (RX5700XT) and what solved it was to boot twice into macOS and keeping the eGPU plugged in. The next boot into Windows 10 (1903) worked, no yellow bang on the eGPU. Not sure if this would be reliable, but previously when the eGPU (with RX580) would not work a boot into macOS did the trick as well. No overrides or disabled PCIs.
Do you have to always boot into macOS twice before logging into windows? or after the first time that was it?
I use macOS for my daily work so its mostly macOS. When switching to windows, i have to disable PCIs to make eGPU work. I dont think rebooting makes a difference.
Thanks for the recommendation. However, the problem is that using automate-eGPU EFI , i get black screen after logging (im pretty sure im following it step by step), then i have to force reboot. For now, i can deal with enabling, disabling everytime i switch to windows.
BTW, I discovered that after getting my external display to show with the vega 64, i can re-enable again the R9 M370X dGPU and the facetime PCI with no problems. I guess its not a resource problem then..., with that i can have the internal display using the R9 M370X dGPU and the external display using the vega 64. Is this normal? or is this luck?
Hello, just wanted to give a little update on my setup, maybe it can help other people.
After a month running my egpu setup, the only way i can get past error 12 is by disabling and enabling PCI root above Vega 64. With the dGPU and Facetime Camera PCI roots disabled, I start the process of disable and enable the Vega 64 several times for error 12 to be gone. But its all luck though, i counted: the fastest was 2 tries and the longest has been around 15 tries (disabling and enabling, not uninstalling). For over a month i've been doing this with good results.
Even after windows latest updates, which i saw many people were struggling with, i can make my egpu work with the same process. So i didnt need to uninstall updates.
This might sound tedious, but it works.
Other notes: egpu is plugged in and on before starting windows. no automate efi or refind. I did the dsdt override to see if it could work but it made no difference on the process.
Hope this helps.
Could you post a video or pic? I do believe you as I was able to do it without dsdt but just want to confirm your method.
Just reinstalled and tried your method doesn’t seem to work. Did you do a fresh install of w10 or update?
I dont know if i can upload videos, but here are some pics.
As mentioned before, i just disable and enable the PCI root of the Vega 64 until my external monitor turns on. Then no more error, i can also reenable the dGPU if i want to use my internal display.
Thanks man will give it another go! Just to confirm to you disable the following in order
"-Disabled PCI root above the Radeon Vega
-Disabled PCI root above the Radeon R9 M370x dGPU
-Disabled PCI root above the Facetime camera
-Enable PCI root above Radeon Vega"
1. And then just disable and enable PCI root above Radeon until working? or you had to do the whole loop again? did you disable one by one up the tree of just the Radeon and then main Root ok?
2. What device is attached to your Express Root port 8C14 - my is the wireless Broadcom - do you use external USB dongle?
3. Any device attached to your Express Root Port 8C16?
4. Which port is the facetime camera attached I can't find it in my anywhere? - possible for a screen shot?
5. Which cooling pad is that? How did you maintain cooling on your Macbook Pro Retina 15" with the extra bottom protective case on as well when gaming? Did you drill holes?
6. Are your right hand side HDMI and USB ports used?
7. You used the T2 port closest to the power connector?
After some trial and error, i dont think there's a specific order for disabling, so just disable them in any order. I also disabled the PCI Express Root #3 - 8C14 (Wireless Broadcom).
1. Just disable/enable PCI root of Vega 64, in my case PCI Express x8 Controller - 0D05. Just the one on top. Dont need to do the loop of disabling all of the other PCI roots. Just disable/enable PCI Express Controller 0D05 as shown in the picture, again and again until yellow cone is gone and external monitor turns on.
2. wireless Broadcom. When error 12 is gone, u can enable all of the disable PCI again, so u can work with them.
3. PCI Express Root Port #4 - 8C16 is Facetime Camera HD
4. PCI Express Root Port #4 - 8C16 is Facetime Camera HD
5. Its a normal colling pad, nothing special. My case is a Thule Vectros, shockproof, its well designed and it doesnt cover the ventilation. After using the eGPU i don't have heat issues anymore while gaming.
6. HDMI is not used. I have a usb hub with 4 ports connected to the right side for my mouse, audio interface and usb drives. The left usb port is used for an external ssd storing games.
7. No, Im using the thunberbolt 2 closest to the usb port.
hope this answers your questions.