I will update my instructions to reflect the new findings. I deleted the older instructions.
So - I got it running under windows! Once I overcame problems that happened due to my forgetting that bootcamp installation Windows ISO shouldn't be stored on an external drive (which caused my windows installation to fail) and then APFS flakiness (which caused me to have to reformat the whole drive and restore mac backup, as it wouldn't initiate another bootcamp install after the first one failed, and the drive partition structure got slightly damaged in the process it seems)
So config and steps were:
- MBP 2017 15" with Radeon Pro 560 embedded GPU, 2560x1440 monitor, connected using HDMI to blackmagic. eGPU connected to the left side of the MBP (I tried both ports, works the same on both). MBP has "Large Memory" under windows device manager.
- Fresh bootcamp install of April 2018 Windows (put this windows ISO on your mac boot drive!)
- Blackmagic eGPU disconnected from the Mac during the entire Windows installation process.
- When Windows is installing, make sure to select a default "Home" edition windows, I had some trouble first time around when I selected the "Home single language" edition.
- Update Windows to whatever updates there are, and reboot.
- Update WiFi drivers from Apple Software update, but don't update to a new Graphics driver that it will also offer. This is because you'll want to get newer ATI drivers from
https://www.bootcampdrivers.com/ I got some issues plugging in external USB drives with Apple's bootcamp ATI drivers installed with eGPU active, but no issues at all with 18.3.4 drivers downloaded from bootcampdrivers.com
- So, download 18.3.4 drivers by clicking on "Other Download Version" green button on bootcampdrivers.com, and then on the Mega site that opens, navigate to Windows 10 folder, and download W10-x64-Radeon-Software-Adrenalin-18.3.4-Bootcamp-XG-Edition.zip
- I decided not to download the latest 18.5.2 driver because in the release notes it claims that it has problems sometimes with Radeon Pro 580, and to use 18.3.4 instead if you have this GPU.
- Follow the process described in the video on bootcampdrivers site to boot Windows into safe mode, use DDU to uninstall the existing driver, and install the one you just downloaded.
- After that's done, confirm that there are no yellow exclamation marks in Device Manager in windows.
- While you're there, disable the Facetime camera - I've heard this helps free up resources, so I did it. But I don't think in my case it really changed things one way or the other.
- Now do any other setting you'd like in windows, and when you're done, Create a Restore Point. This is very important, as you will be using this restore point to re-enable your internal monitor whenever you want to use the MBP bootcamp without the eGPU.
- Once the restore point is done, shut down the computer, plug in the eGPU, and boot into Windows. It will begin installing the drivers for the eGPU. Just wait.
- Typically you just need to wait, but if nothing happens after a minute or so, go to Device Manger, right click on the eGPU that will appear there (it will be in the display adaptors, called something like "VGA adaptor" right click on it, and click Update Driver.
- Once the driver has downloaded (again, it's typically enough to just wait), you'll start hearing sounds of windows adding new devices, the desktop will appear for 10 seconds or so on the external monitor attached to eGPU, and then both screens will go black.
- Don't fear, this is just because you need another reboot for things to finish installing. Wait until windows stops making sounds of things being installed, and then press Win+R, blind-type "shutdown /r" and press return, then just wait about a minute and the windows will restart. You can also press and hold the power button for about 5 seconds, to force the shutdown, and then press it again to start the computer, just again, make sure the things have finished installing (no windows beeps and bloops for a while) before you do so.
- If everything is OK, once it starts booting, windows should show a flag logo on the MBP's internal screen, but soon after, the internal screen will go black, and external screen will boot into your desktop a few seconds later. You will also be notified by AMD software that the external GPU is running.
- From that point on, I had literally zero trouble with this setup. Windows running with this eGPU seems rock solid, can run any game I tried, switch resolutions. I carried the whole setup over to the TV in the living room to try it there - it displayed the picture on the TV without a hitch. It never froze or crashed, and during the whole process, even when running the most intensive games, eGPU seemed like it never breaks a sweat. Fan never went above the 'pleasant whirr' level of noise.
- When you want to go back to running bootcamp on the internal screen, you have to go to the Troubleshoot setting in windows, and boot into Restore checkpoint mode. Restoring takes a minute or so, and then the windows boots on internal display. Just make sure you unplug the eGPU before it starts booting after the restore checkpoint is done.
- Then when I need eGPU again, shut down the computer, plug eGPU, boot, wait for both screens to go black, type shutdown /r, and it boots with eGPU active. Basically, just a repeat of the last phase of the process above, which all takes about 2-3 minutes. Not the most elegant process, but if you intend to use the windows mostly with just eGPU, you won't have to do this often, at least. Most importantly, things really seem stable and predictable during all this. I repeated this back & forth 5-6 times now just to make sure it's safe and stable, and it never misbehaved.
- One more important note: If you try to go back to internal display by restoring from the restore checkpoint - only to find that the checkpoint has somehow disappeared, don't fret. You can still go back to internal display by booting the windows into a safe mode, and then running the DDU. It will uninstall whatever drivers are there, and bootcamp will then boot with internal display. Then, with eGPU detached, you can just install the ATI drivers, to get the maximum performance from the 560. This happened to me just recently, and I have no idea why the checkpoint disappeared. Maybe it's a good idea to delete the old restore point and create a new one every time you restore from a checkpoint - to ensure that it will be there next time you need it.
As for games, I tried Alan Wake, and it was running buttery smooth in monitor's native 2560x1440 resolution with all settings on high, and antialiasing set to 2x (only setting that I dialled down from 4x to 2x from the default High settings).
Then I tried Quantum Break, which also ran at, or very close to 60FPS in 1920x1080 resolution, using a mixture of High and Medium settings. I also tried it in ultrawide 2560x1080 resolution, to get a native pixel mapping on my monitor, using those same settings, the game's performance didn't seem to degrade visibly at all. When I tried it in full 2560x1440, I did notice some performance degradation, and would have to dial some settings down more to reach the smooth performance. Overall, it was quite a sight having a game that looks that good run at 60FPS on a setup like this, and yet not even have that much fan noise (MBP consistently creates more fan noise than eGPU btw, even though it also never goes anywhere near that crazy overdrive like it does when you run these games solely on it). It all felt, pardon the pun, like black magic : P
So, even though I didn't have to do any of the weird hacks that people on eGPU forum typically suggest, the process is not entirely straightforward. I really think that the main issue here is that ATI right now has no Windows drivers that truly recognize this eGPU. The driver that the windows installs when it detects it is something from 2016, that can't even display the real name of the GPU. That driver from 2016 naturally doesn't recognize the embedded 560 GPU, so when you run this driver that makes the eGPU work, your internal screen goes blank, and then when you go back to the restore point which uses the ATI's bootcamp driver, then the embedded 560 works, but that driver doesn't recognize the eGPU. At least that's what I think is happening, and hopefully ATI can remedy this situation soon. Or maybe it's not the drivers at all, but the fact that somehow during this driver installation, 560 gets disabled, which frees up resources for the eGPU.
I also need to list the things I tried (mostly guides from eGPU.io) that didn't work, to prevent people with the same setup as mine from pulling hair - keep in mind, if you have a different setup, it is worth trying things described there, it very well might work for you. and it has for many people, especially the apple_set_os.efi boot trick. But nothing worked for me, and I ended up re-installing windows about 10 times until I settled on the process described above. Here's what I tried;
- apple_set_os.efi boot from the USB drive. Didn't seem to do anything useful, or anything at all really.
- running integrated.bat to enable iGPU, and free up resources taken by 560. This has royally messed up the windows, I got some nasty screen flicker on the next reboot, and had to reinstall the windows. I tried also booting from the apple_set_os.efi usb boot after running integrated.bat, same thing happened, with the flickery screen.
- I tried disabling the left side TB3 ports on the MBP, shutting down, then plugging the eGPU to the right side. This changed nothing - I could still only see external monitor, running through eGPU, and nothing on the internal screen. However, it also messed up Windows, and I could no longer re-enable left side TB3 ports for some reason, and had to reinstall windows again.
- I did not try the DSDT override, or the script suggested here:
https://egpu.io/forums/builds/2017-...gtx-1080-ti32gbps-tb3-akitio-node-windows-10/
But I kind of doubt it would work anyway, as at no point I'm even seeing the Error 12, that these methods are attempting to solve. While the eGPU is active, I only see the error 34 yellow exclamation on the 560 GPU, saying that the windows has disabled the device as it has stopped working correctly.