Use your eGPU under BootCamp with MacBook Pro and Mojave

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

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 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:

  1. Hold down the option key on your keyboard while powering on the machine.
  2. You'll see some boot options that you can select. Select the Macintosh HD.
  3. Hit return.

Once in macOS:

  1. Start Disk Utility.
  2. 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.
  3. 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.

  1. Navigate to https://github.com/0xbb/apple_set_os.efi/releases.
  2. 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.

  1. Open terminal.
  2. Type cd /Volumes/EFI. This is the partition we set up earlier.
  3. Type mkdir efi.
  4. Hit enter.
  5. Type mkdir efi/boot.
  6. 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.

  1. Type cp ~/Downloads/apple_set_os.efi efi/boot/bootx64.efi
  2. 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.

  1. Power off your Mac.
  2. Power on your Mac whilst holding the option key.
  3. Select EFI boot.
  4. 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.

Final comments

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!

Anthony Casella