Thunderbolt 3-equipped MacBook Pro can use external GPUs, but at a cost

One of the most frequent complaints about the new MacBook Pro is the relatively weak GPU as compared to some found on the Windows side. Some progress has been made very recently by independent developers, allowing the adventurous who aren't afraid to spend a few dollars to build and connect an external GPU to a Thunderbolt 3 Mac.

The promise of external GPUs

During the development of the Thunderbolt 3 protocol, the ability to seamlessly interface with a GPU in an external PCI-E breakout box was added, rather than it just being a hack.

In theory, an external GPU releases the user from the shackles of lower-performing GPUs typically found in a laptop, and allows the user to leverage desktop units in an external enclosure, benefitting from both an improvement in thermal conditions, as well as no limitations on consumed energy.This entire process could be boiled down to be as simple as it is on Windows, if Apple decides to explicitly support it.
For Windows 10 users, most external GPU solutions work, plug-and-play. The vaguely Mac Pro styled Razer Core used in this particular project works without flaw, and needs very little configuration in a Mac running Windows under Boot Camp.

However, the entire external GPU assembly doesn't work at all in macOS unless you start modifying the operating system itself. Also, the macOS implementation doesn't feed the video back to the MacBook Pro's screen, so an external monitor is mandatory.

The reality of the external GPU

With almost no fiddling or configuration, AppleInsider testing on a Razer Core and Nvidia GTX 980 in macOS managed 4.5 teraflops, with the two-year old Nvidia 770 pulling down 3.1 teraflops.

The new Nvidia 1080 in Windows 10 delivers around 9 teraflops, with the GTX 1070 pushing 6.5 teraflops.

Playing games gets a significant boost. Using the MacBook Pro without external GPU, "Tomb Raider" delivered average frame rates of 55 frames per second at default resolution of 1650x1050, dropping to 31.4 at a minimum.

With the external GPU, average frame rates rose to 81 frames per second, never dropping below 48 frames per second.

We also ran the Final Cut Pro X "BruceX" benchmark both with and without external GPU. An average of three runs gave us 46.6 seconds without GPU, and 26.8 seconds with external GPU. For comparison's sake, the 2015 late 2015 iMac 5K with Radeon R8 M395X GPU cranks this test out in 32.8 seconds.

As a raw measure of GPU performance, no other factors considered, the Geekbench 4 GPU OpenCL Compute score jumped from 59180 without external GPU to 87250 with it running, besting the late 2015 iMac 5k.

There are some pipers to be paid for the notable performance boost, however. The Razer Core with GPU stressed during benchmarking is very loud, hitting 71dB at 3 feet from the case —about the same relative volume as a car moving at 65 miles per hour, from 10 feet away. Idle, the card and case is about 49dB.

A MacBook Pro under load is about 36dB and about 31dB idle or under light load.

Heat is also an issue. Intake air of 67F was heated to 114F by the case and card. It's not known what tidal volume of air the case needs for adequate cooling, but the output managed to blow a full box of kleenex about three feet across a desk when the fan switched to high speed.

Not only is the apparatus loud, and demands good ventilation, but...

The literal price you pay is steep

The Razer Core, which we've done all of our testing on, retails for $500. Expect to spend at least $250 for a decent graphics card —but we leave that choice as an exercise for the reader.

There are other enclosure options forthcoming. Power Color's Devil Box isn't yet available, and the same procedure used here should work. It will retail for $380 and be available in "very limited" quantities.

Akitio has also released the Node, an external GPU box without the USB 3.1 type A ports, and no Gigabit Ethernet plug. Suggested retail for the Akitio Node is $299, and it is also not yet available.

Not only is there a financial barrier to entry, but...

The procedure is not for the timid

Getting an external GPU to work in macOS requires system integrity protection (SIP) to be disabled through the terminal. Then, a hack must be installed allowing for the Apple-laid block on some Thunderbolt 3 peripherals to be bypassed.

Third, a DSDT system file needs to be edited, allowing for the functionality. Then, a script has to be run for graphic card identification, and even after all that, drivers may need to be installed.

Then, there's compatibility issues that may have to be dealt with. The closer a GPU is to the "reference design" or manufacturer's standard, the better the results.

So far, AppleInsider has only gotten Nvidia 700, 800, and 900 series cards to work, but there are reports from the forums that initially spawned the external GPU discussion about AMD cards and other Nvidia cards working fine. The latest 1000-series cards will probably work, but Nvidia has yet to write a macOS-compatible driver for them.

Other reports claim that Radeon cards from AMD function as well, but those appear to be limited to cards similar to what Apple has in the Retina iMac line.

Yet more potential pitfalls await!

The key to success is hardware selection. We mentioned reference design cards earlier —knowing your card adheres to the spec is crucial to the process.

Ask any Hackintosh user —things can break, and break dramatically. Any point update from Apple can block the Thunderbolt 3 hack, but the current 10.2.2 beta does not seem to at this point. Apple could also theoretically issue a silent patch to its Incompatible Kernel Extension Configuration Data to block the hack as well.

At least for now, a PCI-e breakout box that needs the Thunderbolt 3 hack to properly connect to macOS doesn't provide more than 15W of power to the connected system. It appears that the system views the box as a peripheral as a consequence of the hack, and not a valid full-power source. If you're using this approach, you'll still need external power.

Overall, if you go this route, exercise caution. Let others get data from failures for you.

Older machines aren't necessarily left out

While AppleInsider is only skimming the top of a very deep pool with this article, there have been external GPU solutions for Thunderbolt 2-equipped hardware for a while, also needing varying levels of software and hardware hacks.

So far, to use the truly powerful cards, PCI-E Thunderbolt breakout boxes need to have an additional power supply. An external power supply for a breakout box which already has a power supply is a kludge, and even less Mac-like than the hacks needed for a Thunderbolt 3 implementation.

At this point, AppleInsider doesn't recommend a Thunderbolt 2 external GPU in its current state even though it is possible. Don't even bother trying to find a USB 3.1 type-C one.

We continue to look into external GPU options for current and older hardware. More may proliferate if Apple starts to support them explicitly, but that's the real problem with the whole concept, isn't it?

There's an easier solution...

... but at this point, it doesn't exist, because Apple does not will it so.

This entire process could be boiled down to be as simple as it is on Windows, if Apple decides to explicitly support it. That doesn't appear to be in the cards at the moment, because Apple went out of its way to disallow some Thunderbolt 3 hardware from working properly.

However, when Intel Macs first shipped, booting into Windows wasn't an option and was specifically disallowed, similarly to what's been done with Thunderbolt 3. It wasn't until the spring following release that Apple revealed Boot Camp, and providing a formal way to install Windows on an Mac, and lifting the restriction.

So, maybe, Apple will see the light, and either actually release the long-rumored Thunderbolt display with contained GPU, or put fewer road-blocks in the way of users wanting a better solution for a Mac laptop-turned-workstation.