Need to know what sort of limitations the eGPU dev kit has before diving in? There are some caveats to be aware of.
As with any tech that's shiny and new, my favorite thing to do is to try to see what cool things I can do with it beyond the supported features. Apple released an eGPU dev kit that runs on macOS High Sierra beta to promote development of VR applications on the HTC Vive so that developers will have their apps ready to go once macOS High Sierra is ready to launch.
As I'm a big VR aficionado, I'm totally stoked to see VR apps and games coming to the "Applesphere". Seeing that VR is in it's fledgling stages, I'm certain that not all developers have $599 to just throw at a dev kit, especially if they don't already have an updated Mac with Thunderbolt 3 connections. There are those who also can't afford to run a beta OS on a separate machine just to see if they are inclined to make applications for the eGPU dev kit. On top of that (as if it wasn't already getting pricey), you'd have to purchase an HTC Vive to develop and test on.
So with these things in mind, I tried to see what I could get away with with as little tweaking as possible, knowing that I could be completely wasting my time using the enclosure beyond the supported features outlined in Apple's release notes.
What you get in the eGPU dev kit box
The eGPU dev kit comes with an AMD RX 580 with 8GB of ram and the enclosure has a single Thunderport 3 connection port. It also comes with a USB-C to USB-A adapter so that you can connect the HTC vie to your Mac. You can get more information about what's inside the box here.
Can you change the GPU to a more powerful one? Not Yet.
If you follow the GPU industry, you'd note that as far as VR goes, the RX 580 is a capable but not an awe-inspiring graphics card. You can run VR applications on it, but in terms of frame rate, it's on the lower end of the performance charts. In VR applications, in order for a user to not feel motion sickness, it is imperative that the frames per second (FPS) of the application runs at 90 FPS. Anything below will cause a sense of disconnect and make the VR user feel queasy.
There are GPU technologies such as Valve's asynchronous reprojection that allow for a weaker GPU to "fake" 90 FPS but actually be running at only 45 FPS. It does this by doubling up the frames to the VR headset so that it appears to be running at 90 FPS. The problem with this technology is that it introduces visual artifacts such as ghosting that can reduce the level of immersion of the VR application.
The RX 580 being on the lower end of the GPU VR performance spectrum will in many instances fall into this reprojection fallback scenario. So the solution would be to install a more capable GPU into the eGPU enclosure, right?
We tried just that. We went with a top-of-the-line NVIDIA GTX 1080 ti. It is widely considered the best consumer GPU for VR gaming (the GTX Titan Xp is slightly higher spec but is considered "prosumer" and considerably more expensive). NVIDIA released new macOS drivers for its latest Pascal-based GPUs such as the 1080 ti just this year, so we were hopeful to get the amazing GTX performance on the Mac.
Although fitting it into the enclosure went without a hitch, we had to "liberate" one of the power pins inside the enclosure to adequately power the GTX 1080 ti. The enclosure has a single 8-pin power connector available to power the RX 580. The GTX 1080 ti requires an 8-pin and a 6-pin connector. We noticed that the 350W power supply in the enclosure had a shrink-wrapped power connector. We connected the 2 power pins to the GTX 1080 ti and reassembled the enclosure. We connected it to a 2016 Skylake-based MacBook via Thunderbolt 3 and the eGPU powered on. Fantastic.
Once on the desktop, we went to install the macOS NVIDIA drivers and we were stopped cold. The nVidia drivers work only on 10.12.5. The macOS High Sierra beta is 10.13. Until NVIDIA decides to release drivers for 10.13, we are DOA. Oddly, we also tried a Kabylake MacBook Pro running macOS Sierra but the NVIDIA driver refused to install. So once again, we are waiting on NVIDIA to give us a working driver to run the 1080 ti! Maybe in the near future we're hoping.
Can you run it on Thunderbolt 2 via an Adapter? Not really.
Not to be undone with trying to get our beefy 1080 ti to run, I was running macOS Sierra on my 2014 5k iMac and as such I knew that the NVIDIA drivers would install on that machine without issue. The problem lies in the fact that the 2014 5K iMac only has Thunderbolt 2 ports. We bought a Thunderbolt 3 to Thunderbolt 2 adapter and tried our luck but we struck out once again. Yes the release notes do say that the dev kit "may run on some Thunderbolt 2 enabled macs", we weren't one of the lucky ones.
Can you use a separate display connected to the eGPU?
Yes! But there are some issues.
Using the RX 580 as intended works as expected and when connecting an external display, worked beautifully. However, there are still some things that need to be added to have full support. If you aren't running a 3D accelerated app in full screen mode, the normal internal GPU will be the graphics device driving the app. Secondly, when it comes to using AirPlay, that too will only use the internal display driver whilst connecting to an Apple TV, for example. In fact, trying to AirPlay an App from the secondary display connected to the eGPU caused it to go into black screen loop until we disconnected the display from the GPU.
And FORGET about using the secondary display in Mirror Mode. That causes another black screen loop that requires you to do the following:
- Unplug your external display from your eGPU.
- Unplug your eGPU from your Mac.
- Once at the login screen, enter your account information and log in.
- Plug in your eGPU without the external display plugged in.
- Log back out of your account.
- Log back into your account.
- Plug in your external display to the back of the eGPU.
You should now be back to extended desktop mode.
Can you run it in under Windows 10 via Boot Camp? Not yet.
I ran some rudimentary benchmarks with both the internal GPUs, the eGPU and the same RX 580 in a Windows 10 PC. Not scientifically, mind you, but it was quite evident that the Windows 10 PC used the RX 580 more efficiently when connected to an internal PCIe port rather than via the Thunderbolt 3 port on the Mac. We tried to do a more apples-to-apples comparison of the eGPU via Boot Camp, but it failed to detect the eGPU as there are likely no drivers provided by Apple at this time.
Apple was pretty straightforward on what you were getting when you ordered an eGPU dev kit. It does what it says it does and doesn't do what it says it doesn't do. I'm hoping that NVIDIA will soon release an updated drive for its GTX Pascal cards because once VR applications start popping up on macOS. I want to have the best possible experience I can get!
Any thoughts? Let us know in the comments!