How do I use the eGPU to power MacBook's internal screen

Solution 1:

Okay, first things first. Yes, this is possible, but at present it’s not officially supported yet. Apple did demonstrate an iMac Pro doing this back in December, so we know official support will come, it’s just not here yet.

If you want to do this now rather than wait, a member of the eGPU forums has successfully done this. Below are the steps involved, but please read them carefully as you should be aware it does come with potential risks!

  1. Purchase a ghost display adapter such as the NewerTech HDMI Headless Video Accelerator
  2. Download Spectacle and run it
  3. Download DisableMonitor and run it (IMPORTANT: Be sure to read the warning on their page!)
  4. Go to Apple > System Preferences > Dock
  5. Select the Left radio button for Position on Screen (assuming your ghost display adapter is set to the right of your screen - otherwise opt for the Right option instead)
  6. Now plug the ghost display adapter you bought at Step 1 into your eGPU and set it as your primary display
  7. Use DisableMonitor (from Step 3) to set your resolution to match that of your internal screen
  8. You can now use the relevant keyboard shortcuts to switch between your “displays”

NOTES:

  • You can run benchmarks like Unigine Valley and/or Unigine Heaven to test your setup works
  • Using a eGPU to feed the signal back to the internal display via the same Thunderbolt 3 connection does result in a performance hit of about 30% as compared to using the eGPU with an external display. However, your internal display will still work with better frame rates, etc compared to the built-in GPU.
  • Full instructions and other information can be found here.
  • I have no affiliation with any of the hardware/software referenced above.

Solution 2:

I'm pretty sure they're not designed to accelerate your internal screen, only external, plugged into the eGPU itself.

From the Sonnet eGPU Manual

  1. Set up your monitor(s);
    To obtain the best graphics acceleration for applications like games, set a display connected to the eGPU as the main monitor. Open System Preferences:Displays, select Arrangement and drag the white menu bar to the external monitor. Drag the monitors to mimic the physical arrangement. If you want to tile your displays into one large space, Open System Preferences: Mission Control. Uncheck Displays have separate Spaces.
  2. Note that if you mirror an internal and external display together, internal graphics will be used.

Solution 3:

There is now an easy to use command line script called set-eGPU that solves this problem.