These are my notes on running mac mini mid-2011 with macOS HighSierra 10.13.6 with eGPU.
original:
- mac mini mid-2011
- Intel Core i5 2,3 GHz
- 16 GB DDR3 RAM
- 2 x internal SSD
- Intel HD Graphics 3000 512 MB (CPU integrated graphics)
- does not have the T2 chip
- Eizo EV2313W display (23" 1920 x 1080)
- connected via HDMI-to-DVI connector
needed:
- eGPU Blackmagic RX 580, sourced locally for 200 EUR
- Thunderbolt 3 -> Thunderbolt 1 adapter (Apple part number MYH93ZM/A), sourced locally for 50 EUR
- Thunderbolt 1 0.5m cable (MD862ZM/A, sourced via eBay for 60 EUR)
Total: 310 EUR
The HDMI-to-DVI adapter can be reused to connect the display to the Blackmagic eGPU.
The original solution was called Purge Wrangler and was a shell script that seems to basically binary patch some of the kexts to their pre-10.13.x versions which restricted the use of eGPUs to only TB 3. This required to disable System Integrity Protection (SIP) (via csrutil in Recovery boot mode). This was superseded by Kryptonite which uses different approach - boots the system via OpenCore boot loader which allows for in-memory patching via EFI and thus it is not necessary to disable SIP.
Side note: in macOS Ventura (13.x.y), macOS no longer shipped the kext binaries. Instead, it delivered a cache (seems like a boot archive of sorts). This meant the kexts could not be binary patched anymore, making PureWrangler obsolete for such systems. Anyhow, installing macOS Ventura would not work anyway on the Intel CPUs without AVX2.0 support (likely due to the drivers recompiled with said CPU extensions/instructions) as explained on https://egpu.io/forums/postid/103090/
Fun fact: the Kryptonite installer depends on http://pci-ids.ucw.cz/read/PC/ (https://github.com/mayankk2308/kryptonite/blob/6e97e36e5332cdd9d1aec2b480e940ab58f0d0d8/Installer/hardware.sh#L45C36-L45C66) to retrieve device ID for the discrete GPU.
The Kryptonite itself requires a partition for the OpenCore boot loader. This should be created on an internal drive ideally, i.e. on the boot SSD in my case.
The fall back to the old internal GPU seems easy as stated in the installer source code:
Booting via the bootloader will enable eGPUs. To boot a clean system, simply boot without the bootloader.
To select the boot loader, "restart your Mac while holding OPTION key".
What if the eGPU gets broken ? Will it be possible to fall back ?
- tech specs for mid-2011/late-2012 mac mini
- most importantly it notes it has single Thunberbolt 1 port
- the difference between these two variants is USB 2 vs. 3: https://everymac.com/systems/apple/mac_mini/mac-mini-aluminum-unibody-faq/differences-between-late-2012-mac-mini-mid-2011-mac-mini-aluminum.html
- https://egpu.io/external-gpu-macos-10-13-4-update/ - supported eGPUs for macOS High Sierra 10.13.4
- this was the macOS update that broke the eGPU compatibility with Thunderbolt 1 & 2 Macs, the PureWrangler fixed the problem
- https://forums.macrumors.com/threads/anyone-tried-an-external-gpu-with-a-2012-mini.2050188/
- initial discussion that got me started
- https://egpu.io/best-external-graphics-card-builds/ (search for "2012 mac mini")
- https://egpu.io/forums/builds/2012-mac-mini-rx58010gbps-tb1-blackmagic-tb3-egpu-macos-10-14/
- constains instructions on how to use Purge-wrangler to enable AMD eGPUs
- says this had positive effect on the thermal of the mac mini since the eGPU decodes video, even in the browser (did not say which)
- https://egpu.io/blackmagic-egpu-review-apples-ultrafine-curse/ - disassembly and details about the Blackmagic eGPU
- https://egpu.io/forums/mac-setup/script-enable-egpu-on-tb1-2-macs-on-macos-10-13-4/
- PureWrangler.sh discussion page
- https://github.com/mayankk2308/purge-wrangler/wiki/Beginner's-Guide - PureWrangler install guide
- https://support.apple.com/en-us/102363 - Apple support page about eGPUs