Need to run applications using Windows and a powerful eGPU? Here's one way to do it!
Apple enabled eGPU functionality seemingly eons ago to make macOS a fully functional development platform for AR and VR. Sometimes, however, users might need to boot in Windows to test, compare, and simply run certain applications. Apple's hardware can make things problematic with this in mind. Adding hardware peripherals on a Windows-based PC is pretty straightforward. Adding hardware peripherals to a Mac running Windows is another matter. Now that eGPUs have been available for quite some time on macOS, things have improved. And since Microsoft has released an eGPU friendlier update to Windows 10 (update 1803), you can now take some "easier" steps to get your eGPU to function on your Mac whilst running BootCamp.
- Install Windows with BootCamp
- Prepare your Mac for special boot options
- Restart into Windows using the new EFI boot option
- Final comments
Install Windows with BootCamp
First, you need to install Windows via BootCamp. For detailed information on how to do that follow our how-to guide. Make certain you perform this step without the eGPU attached.
Prepare your Mac for special boot options
For our next steps, we will assume you are familiar with Disk Utility. If you need more information, please take the time to understand the basics (opens in new tab) of the application before using it. It can seriously bork your system to an unrecoverable state. You've been warned! Once you have Windows installed at the most basic level (no need to worry about updates yet), reboot into macOS. You can do this by:
- Hold down the option key on your keyboard while powering on the machine.
- You'll see some boot options that you can select. Select the Macintosh HD.
- Hit return.
Once in macOS:
- Start Disk Utility.
- Create a new APFS Partition. It needn't be large but I made mine around 6GB so I can easily store boot files on it but a small 80MB size would do just fine.
- Name the partition EFI.
In order for us to be able to use the eGPU, we'll need to trick the hardware into thinking we are starting up in macOS when in reality we'll be starting it up into Windows. A utility will be needed during boot time to allow for the Intel GPU to be enabled. Although my MacBook Pro also has a secondary more powerful dGPU onboard, for some reason, the Radeon 560 GPU when paired with the eGPU causes system locks and blue screens. This will be our workaround.
- Navigate to https://github.com/0xbb/apple_set_os.efi/releases.
- Download the latest version of apple_set_os.efi.
Now we must set up the file structure to be able to be properly read by Mac's boot manager.
- Open terminal.
- Type cd /Volumes/EFI. This is the partition we set up earlier.
- Type mkdir efi.
- Hit enter.
- Type mkdir efi/boot.
- Hit enter.
Next, we must copy the apple_set_os.efi file we download to the newly created directory structure we just created. I'm assuming you still have the same terminal application open as stated in the previous steps. Otherwise, ensure you're in the /Volumes/EFI directory.
- Type cp ~/Downloads/apple_set_os.efi efi/boot/bootx64.efi
- Hit enter.
Restart into Windows using the new EFI boot option
Similar to the way we booted into macOS, we'll now need to boot into Windows using our utility.
- Power off your Mac.
- Power on your Mac whilst holding the option key.
- Select EFI boot.
- Hit enter.
You'll now start back up into Windows with all of your connected GPUs visible to the OS. However, the non-Intel dGPU in your MacBook Pro will cause a conflict with your eGPU once you've installed the proper AMD Radeon drivers. So instead of using the AMD provided drivers for the internal dGPU, make certain you leave the driver installed as a Basic Display Adapter.
Allow the OS to automatically download and install the proper drivers for your eGPU adapter. Once the certified versions of eGPU display adapter drivers have installed, you can then download and update drivers using the device manager. Using the manufacturer's display driver adapter installer causes my internal dGPU to be discovered prompting a driver upgrade and then a system freeze.
On top of that, updating my display driver with the Apple-provided BootCamp updater also causes a system hang. Avoid that as well for the time being. If you find yourself having made a driver installation mistake, restart in safe mode, delete the installed display adapters in device manager and start again.
That's how I got my eGPU to run under BootCamp on my macOS on my 2016 MacBook Pro. If you've found better less intrusive methods, let us know in the comments!
With my MacBook Pro 15" mid 2017 I did not need to mess with the EFI. I plugged my eGPU (Razer Core X with an RX Vega 56) into the right side Thunderbolt port and it was recognized by Windows. If I use the left side ports it does not work properly. I still have a problem with the dGPU but Windows disables it during startup if the eGPU is plugged in so I really don't need to worry about it. I use a Windows Mixed Reality headset (Samsung HMD Odyssey) with my eGPU without any problems.
From Apple Support document dated 11/16/18: macOS High Sierra 10.13.4 and later don't support eGPUs in Windows using Boot Camp or when your Mac is in macOS Recovery or installing system updates.
I assume this means Mojave too. Had to remove a boot camp partition last week that's been around for a year on my 5K iMac. Tried to reinstall it and kept getting an error. The apple phone support guy couldn't help and has kicked it up to the next level. All of this seems related to the new APSF file system.
I followed these instructions to the tee and the EFI boot option never came up when I restarted my Mac. Not sure what I did wrong. Retraced my steps a few times. If there's another option to getting my Vive VR setup to work with my Bootcamp Windows 10 + eGPU setup, I'm all ears!
Get the best of iMore in in your inbox, every day!
Thank you for signing up to iMore. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.