macOS External GPU has been possible for several years thanks to the selfless work of many in our eGPU community. Most notable is the automate-eGPU script Goalque wrote that enables eGPU in 10.9 to 10.12. Today Apple officially adds this highly-anticipated capability in macOS High Sierra 10.13.4 [17E199]. It’s now available to the general public but not without limitations. As released, only Thunderbolt 3 Macs can make use of external GPU with select AMD Radeon graphics cards.
The questions that immediately come to mind for many Mac users are whether there’s a workaround for non-supported systems, Thunderbolt 1/2 and Nvidia graphics cards. There are no easy answers, but the ball is now in Apple’s court. eGPU.io’s tremendous growth was due in part to a strong Mac user base looking for external graphics card solutions. Now that Apple has officially incorporated eGPU into their Mac platform, it’s high time for the folks in Cupertino to provide first-party support.
My first attempt with external graphics was a few summers ago when I realized the Mac Pro tower’s form factor would not return in the Mac lineup. The next logical upgrade path was through an external enclosure with PCIe slot. The Mac Pro trashcan planted this seed with its six Thunderbolt 2 ports that Apple engineers cleverly attached directly to the Xeon CPU [system block diagram]. So I hopped on that train and built an eGPU out of an AKiTiO Thunder2 enclosure. The setup process wasn’t for the faint of heart. Thanks to the resources already made available on TechInferno forums moderated by Nando, I was able to piece together a Radeon RX 470 eGPU for my Macs. The software that enabled this upgrade was Goalque‘s automate-eGPU script.
Shortly after joining and learning about eGPU in macOS on TechInferno forums, Nando, Goalque, and I were banned due to conflicts of interest with the site owners. This turned out to be a blessing in disguise. It gave us a fresh start to build a new forum, fully dedicated to external graphics card solutions. eGPU.io is now the new and hopefully permanent home for eGPU enthusiasts. Our main mission has always been to make external GPU easy and accessible to all. Intel, AMD, and Thunderbolt partners share the same vision. The complete picture came together on June 5th, 2017 when Apple announced macOS external GPU support in High Sierra at WWDC.
High Sierra beta was available shortly after the announcement. I tested with the Sonnet Breakaway Box + RX 580 eGPU that is the very same setup Apple used for its eGPU Development Kit. While it worked, this early build was limited to the AMD Radeon RX 580 only and hot-plugging was buggy. Goalque‘s script worked more reliably in 10.12 at that point in time. macOS 10.13 was released fall 2017 with external graphics card support for developers only. We kept ourselves in the loop throughout macOS external GPU development process from 10.13 to 10.13.3. While there was marginal improvement following each update and additional support for Radeon Vega GPUs, no major change was in sight.
Then came 10.13.4 Beta 1, version 17E139j, and with it an initial glimpse of the public release of macOS external GPU. Beta 1 was an amazing build that refined the user experience significantly over previous versions. External GPU was now plug-and-play with almost all Thunderbolt Macs. We were beyond excited and anxious for the final release day. This excitement was short-lived. Beta 2 wreaked havoc on the hierarchy of trust. It broke compatibility with Thunderbolt 1 and Thunderbolt 2 Macs. Longtime Mac users, myself included, felt a punch to the gut when subsequent 10.13.4 Beta continued this trend, refusing to work with non-Thunderbolt 3 Macs. If you’ve been enjoying external graphics with your older Macs, stay with 10.13.3 until further notice.
Reality eventually set in; Apple is a control freak, and for them to add a software feature to support third-party hardware is unprecedented. As seen below, there are about a dozen of Thunderbolt 3 eGPU enclosures compatible with macOS. It’s likely only a handful will be macOS-certified. In the whole scheme there’s a deadline to meet and the fewer Macs to focus on, the more quality assurance Apple can provide to ensure a successful launch. I remain hopeful macOS external GPU functionality will be extended to older Thunderbolt Mac systems in due time.
April 7th 2018 Update: mac_editor found a workaround to enable external GPU functionality for TB1/2 Mac on 10.13.4.
The most obvious and welcome change is true hot-plug capability for macOS external GPU. In High Sierra 10.13 to 10.13.3, hot-plugging was partial in that the system would ask you to log out then log back in to initialize the eGPU. In 10.13.4, this is no longer the case. Provided you have compatible hardware, you’ll see a brand new icon in the Top Menu bar for external graphics status. For now this icon’s sole purpose is to disconnect the external graphics card safely. 10.13.4 also shows the correct identification of supported Radeon GPUs. In previous builds these cards would show up as “R9 XXX”. I foresee future enhancements to include a dedicated panel in System Preferences so that users can manually select which graphics card is engaged depending on workload and energy settings.
Clamshell mode is another highlight. This had been working intermittently depending on the build. Through six beta builds of 10.13.4, clamshell mode worked flawlessly on my late 2016 15″ MacBook Pro and mid 2017 13″ MacBook Pro. Sleep behavior was an improvement over previous versions too. Putting the computer to sleep while the eGPU is connected also puts the eGPU to sleep. External GPU functionality resumes working when the computer is woken up. Sleep issues may have been the deciding factor to axe Thunderbolt 1 & 2 Mac support. Using an eGPU with my Mac Pro trashcan had often caused unpredictable sleep and wake-up behaviors.
In the current state macOS external GPU cannot provide loop-back acceleration to the internal display. This effects gaming use because the external graphics card is rendered useless without an external monitor. Professional applications that rely on OpenCL fare better because they can use all graphics cards presented in the system. In contrast AMD XConnect (Windows only) provides eGPU internal display acceleration. On the latest Adrenalin drivers, the performance difference between internal display vs. external monitor was limited to single-digit percentages.
Revision: Apple support article #HT208544 assigns the responsibility of internal display eGPU-acceleration on third-party software developers: “Pro applications and 3D games that accelerate the built-in display of an iMac or MacBook Pro. (This capability must be enabled by the application’s developer.)”
Timing for this release is rather unfortunate. Prices for graphics cards in general and AMD in specific have been inflated due to cryptomining. If you don’t currently have a compatible eGPU setup, it’s certainly not a good time to buy in. The recently announced Gigabyte RX 580 Gaming Box is one of the few reasonable options. For reference, this table shows all Radeon GPUs with native external graphics support in macOS High Sierra.
|Natively Supported macOS External GPUs|
|Radeon Vega||Radeon Ellesmere||Radeon Baffin|
|Pro WX 9100||Pro WX 7100||Pro WX 5100|
|Vega Frontier Edition||RX 580||Pro WX 4100|
|RX Vega 64 Liquid||RX 570||RX 560|
|RX Vega 64||RX 480||RX 560D|
|RX Vega 56||RX 470||RX 460|
On the developer front, third-party software needs to catch up to macOS external GPU in 10.13.4. Even though it’s been nearly a year since the release of 10.13 beta, many software have yet to take advantage of an eGPU. Apple’s own software needs improvement too. Final Cut Pro X was working very well with eGPU up until version 10.3.4. The latest version 10.4 ironically refuses to use the external graphics card for export. Then there’s the clusterfuck of software relying on Nvidia graphics cards for CUDA framework. The current Nvidia eGPU workaround may or may not survive this and ongoing macOS updates.
Last but not least is gaming in Windows. While eGPU in Bootcamp mode is neither supported nor related to this 10.13.4 release, many Mac users have been looking forward to using Thunderbolt 3 MacBook Pros as part-time gaming laptops. I wish there was better news to report. For the time being, we must continue to follow an exhaustive procedure to make use of external GPU in Bootcamp. I tried both Nvidia and AMD eGPUs with all three variations of the TB3 MacBook Pros and lived to document it. The benchmark results below demonstrate the difference between Windows vs. macOS external GPU performance.
|2016 15" MacBook Pro||10.13.4 RX580||W10 RX580||10.13.4 RXVega56||W10 RXVega56|
|Unigine Valley||36.2 FPS||47.5 FPS||58.8 FPS||70.2 FPS|
|Unigine Heaven||29.5 FPS||46.0 FPS||53.5 FPS||74.1 FPS|
|Tomb Raider 2013||48.7 FPS||83.0 FPS||84.4 FPS||124.2 FPS|
|Shadow of Mordor||12.2 FPS||70.9 FPS||45.8 FPS||96.5 FPS|
|Hitman||27.4 FPS||67.8 FPS||28.6 FPS||66.3 FPS|
|Dirt Rally||28.6 FPS||51.6 FPS||72.1 FPS||92.8 FPS|
Upgrading a Mac used to mean shoving hardware components inside the computer. Apple’s Thunderbolt 3 I/O only strategy on its MacBook Pro lineup is shaping the new Mac ecosystem by attaching out-of-body components. My interpretation of this add-on paradigm is similar to that of DSLR cameras. You buy the body (Mac) to get started, then invest in the lens and flash (TB3 peripheral) to get the most of your setup. A high-quality lens can last a long time and pair well to many bodies. So can a Thunderbolt eGPU enclosure with compatible Macs. Apple is seemingly positioning itself to sell Macs only as a replaceable component of a more complete computer setup.
Besides eGPU, other Thunderbolt 3 peripherals are gradually coming to the market. The LG Ultrafine 5K display is no longer the only Thunderbolt 3 monitor. Mantiz designed its new Thunderbolt 3 dock Titan to specifically cater to the MacBook Pro with matching esthetics and anodized space grey finish. There were a handful of Thunderbolt 3 external high-speed storage drives announced at CES 2018. AKiTiO recently introduced Thunderbolt 3 10Gbps Ethernet adapter. Sonnet has also started selling a Thunderbolt 3 memory card reader. These are just to name a few.
Consumer adoption is a crucial factor in determining macOS external GPU success. Thunderbolt technology has been available in a Mac since 2011. After so many years, Thunderbolt 3 has its best shot yet with a wide range of applications, eGPU being front and center. What concerns me most is the gnawing suspicion that top-level decision makers still have doubts about the costs vs benefits of TB3 technology. Thunderbolt external graphics solutions are costly for home users, much more so for business owners. In most production environments, the rule of thumb is to never run the latest OS version. Let the tech inclined suffer through bugs for a year before the production people get the stable release.
Next comes hardware investment. Most agencies I know still haven’t upgraded the majority of their equipment to Thunderbolt 3 Macs. After being neglected for many years without a proper “pro” Mac, Apple’s recent efforts excite some but leave many skeptical. Had Apple re-enabled external graphics in Thunderbolt 2 Macs, more users would be exposed to the benefits of this feature and would be more inclined to transition to the new ecosystem. Now is the time for first-party support to step up. The success of external graphics as a platform within Thunderbolt rests on the shoulders of Intel, Apple and Thunderbolt partners.
- [SCRIPT] Enable eGPU for TB1/2 Macs on macOS 10.13.4
- [KEXT] Enable eGPU for unsupported AMD graphics cards
- [APP] Nvidia eGPU support for macOS 10.13 to 10.13.3
- [GUIDE ] eGPU-accelerated Internal Display for macOS