Skip to content

Instantly share code, notes, and snippets.

@cliffom
Last active February 16, 2024 05:16
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cliffom/ac7f665f45d32de2dd25b6f4b0a41818 to your computer and use it in GitHub Desktop.
Save cliffom/ac7f665f45d32de2dd25b6f4b0a41818 to your computer and use it in GitHub Desktop.
macOS + Win10/bootcamp eGPU Findings

eGPU Setup and Learnings

My Setup

Initial Goal

To have a setup that consisted of:

  1. Windows 10 installed via Bootcamp on an external volume (USB3 or TB3, ideally the latter)

  2. NVIDIA RTX 2080 Super via eGPU in Windows 10, understanding it wouldn't be usable in macOS

Why not a gaming PC?

I had the gaming PC setup but consolidated my workspace area down to the 2018 Mac Mini I already owned as well. One less box on the desk and less cable clutter. Also, the Mac Mini outperforms the gaming PC (Intel Core i7-4770) at best and at worst it is on par with the bigger box.

Geekbench Scores

Geekbench tests were all done in Windows 10 on both platforms.

Reality

The following worked separately with little-to-no issues:

  • Windows 10 booting from external volume (both USB3 and TB3), no eGPU

  • Windows 10 booting from internal volume, eGPU

However, trying to get Windows 10 to boot from an external volume while using the eGPU was a no go. Ultimately I settled upon cloning my macOS installation to the external TB3 drive and using the internal 512GB for the Windows 10 drive (along with a 1TB external for my game library).

Findings

Encountered some issues with Bootcamp on the external volume while using the eGPU.

  1. I'm convinced a lot of my headaches are due to using a non-AMD (as in not supported by Apple) GPU. Some of this is self-inflicted but currently there is no AMD competitor to the 2080 (even with taking Ray Tracing out of the picture)

  2. Windows via Bootcamp on an external drive works great but requires some setup.

    1. The initial install and setup needs to be done via Bootcamp on the internal drive. Once that is done and Windows is up and running, sysprep.exe must be run from within Windows to return its current state to an Out of box experience.

    2. After running sysprep.exe and the system is shutdown, boot back into macOS and create an image of the Bootcamp volume using something like Winclone.

    3. Once the image is created, the Bootcamp volume can be removed, freeing up the macOS drive of that space usage.

    4. The image that was created can now be written to any freshly exFAT formated, GUID Partitioned external volume (USB3, TB3). This volume can now be booted from as a Bootcamp volume. Doing so will allow you to setup Windows again, but this time as a permanent Windows Bootcamp disk.

      1. Please note the user you created in the first pass will still exist, requiring you to create a second user on the 2nd setup pass. This 2nd user can safely be deleted after the final setup.
  3. Note, the image created can be saved and used as base image for any future Bootcamp installs to be done via external media. If this is all you require, celebrate.

  4. Once it comes time to initialize the eGPU, things behave unexpectedly. Because I'm using a GPU from NVIDIA, I need to keep the eGPU off during initial system boots (more on this later)

  5. While in Windows, to setup the eGPU for the first time (ensuring all Windows Updates and Apple Updates from the Windows Bootcamp Software are current), turn on the eGPU while in Windows

    1. I'm not entirely sure why, but doing this while booted on an external drive, both USB3 and TB3 (yes I tried both) causes the system to become unresponsive. By this I mean time and resource usage still appears to occur within Windows (observed via time passing on the clock and resource usage via Task Manager) but all IO becomes unresponsive (no user input via keyboard/mouse), even after unplugging/replugging USB devices.

      1. I believe (hypothesis) this happens because of the hot swapping nature of the eGPU and PCI buses involved; While using an external boot device the hot swap may cause a signal to be sent to reset some bus connections thus bringing the Windows boot volume offline just long enough to cause an issue (think of hot-swapping your boot disk, it just won't work)

Current State

  • 512GB Mac Mini Internal Drive for Bootcamp/Windows 10
  • 2TB External Thunderbolt 3 Drive for macOS
  • 1TB External USB3 Drive for Windows 10 game storage

This setup is relatively painless to achieve and only comes with the caveat of ensuring the eGPU is off when booting into macOS. This caveat is self-imposed by my decision to use an NVIDIA GPU and would probably go away if I went to, shudder, Team Red.

Boot Scenarios

  1. macOS
    • boot partition (set in bootcamp settings): macOS
    • monitor input: HDMI
    • eGPU Power: Off
    • reboots/cold restarts work without issue
  2. Windows 10
    • boot partition (set in bootcamp settings): Bootcamp/Windows
    • monitor input: Displayport
    • eGPU Power: On
    • reboots/cold restarts work without issue

Useful Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment