Apple's purge of external GPU enclosures using Thunderbolt and Thunderbolt 2 from macOS High Sierra 10.13.4 has prompted action from the eGPU community, resulting in the creation of scripts that add the compatibility back, plus another that allow for Nvidia card use instead of being limited to AMD cards.
In the fifth beta for High Sierra 10.13.4 out a few weeks before the March release of macOS High Sierra 10.13.4, Apple made changes to how the operating system handled eGPU enclosures using Thunderbolt 3 connections. While it made positive changes, including faster connection and disconnection of external Thunderbolt 3 GPU enclosures, it also removed the ability for Thunderbolt 2 enclosures to use the technology at all.
At the time, it was unclear if it was a permanent or temporary removal, but there was no further change of support by the time of the macOS update's public release. If permanent, this would effectively limit the eGPU compatibility to the 2016 and 2017 MacBook Pro and the 2017 line of iMacs, including the iMac Pro, leaving earlier hardware without Thunderbolt 3 ports unable to use the facility.
A script published to the eGPU.io community forums called "PurgeWrangler" aims to reverse the issue, reenabling support for Mac systems equipped with Thunderbolt 1 and Thunderbolt 2 ports, running macOS 10.13.4. The script "overrides" the Apple-produced block, according to its description, and brings back support for older Thunderbolt ports "without feature compromise."
Created by forum member "mac_editor," the script was first published on April 5 and has been released in version 2.0.0 on early Wednesday, with the major milestone number used to indicate considerable additions made to the code base. The latest release is claimed to have an improved console output structure, backup system, patch checking, advanced third-party developer integration options, and System Integrity Protection checks.
During early testing, other forum users claim it to have worked on a number of eGPUs and older Mac models, including the 2011, 2012, 2013, and 2014 models of MacBook Pro, late 2013 Mac Pro, a Mac mini 2012 with a Sonnet Breakaway Box, and other variants. Posts also indicate that, while promising, initial versions of the script didn't always work, for varying reasons. Graphics card compatibility and the length and quality of the Thunderbolt cable used appear to have an impact on how successful the script is for its users.
While support for AMD-based GPUs is included in the script with no further action required by users, due to Apple's support for many Radeon graphics cards, it does not directly support Nvidia GPUs. It is noted that it is possible if a separate NVIDIAEGPUSupport script is used.
Due to the nature of the project, including disabling System Integrity Protection in Terminal after booting in Recovery mode, it is likely that only the more adventurous and experienced macOS users will want to try running the scripts on their Mac. For other users, it is probably better to wait and see if Apple brings back support by itself, rather than go down the unofficial route.
Included in High Sierra 10.13.4, the eGPU support introduces a new menu item that shows if there is an ejectable eGPU enclosure connected or if there isn't one attached. It is also possible to connect an eGPU enclosure while the machine is running without requiring a log-out to enable it, and a more functional implementation of Clamshell mode.
Additionally, as Apple updates its software, users relying on the Nvidia eGPU support script need to wait for Nvidia to upgrade its web drivers for the cards, and possibly a script update as well to compensate for any changes.
Apple has published a list of recommended enclosures and graphics cards that will work with its eGPU facility, with the latter typically consisting of AMD video cards. Support is not limited to a specific graphics card vendor, so long as the card mostly complies with the reference specification.
Nvidia cards are notably absent from the Apple-provided list, and cannot be used without applying the third-party hack.