2011 21" iMac (HD6770M) [2nd,4C,S] + RX 460 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.12.5 [padams35] // 20Gbps vs 40Gbps TB3 cable
Just posting because I didn't see anyone else validating that, yes, eGPUs work with TB1 21.5" 6770m iMacs.
This guide is for MacOS 10.12.5. Systems running earlier 10.12.x will use the AMD9500Controller instead of the AMD9510 and won't require the second restart.
This build bumped my Geekbench OpenCL benchmark score up from 5,568->55,360 which puts my new build somewhere between the M380 and M390: a successful modernization upgrade.
Unigine Valley Extreme-preset benchmarking shows an improvement of 241[5.8fps] -> External:908[21.7fps] / Internal:698[16.7fps]. This has done an excellent job at making the previously unplayable playable for casual gaming. As an added bonus shifting the load to the eGPU also allows my iMac to run much cooler. Previously it had been getting toasty to the touch when running anything more advanced than CivV.
Gigabyte Radeon RX 460 Windforce OC 2GB
10A 120W 12vDC 2.5/5mm power supply by Mini-Box
HP Pavilion 22xw as my second monitor
Assembly and installation
1) Remove/relocate Thunder2 fan so the Gigabyte RX 460 will fit. I remounted the fan on the opposite side of the inlet only because I couldn't get the wires to disconnect.
2) Swap Thunder2 factory power supply with 120W unit.
3) Leave case off when running eGPU, slide into case for added protection when storing eGPU or traveling.
4) Disable SIP (requires rebooting into system recovery mode)
5) Update kexts to allow IOPCITunnelCompatible. goalque's automate-eGPU.sh script is a popular one-size-fits-all, but I decided to be a control freak and update the necessary kext files directly using the PlistBuddy in terminal
sudo /usr/libexec/PlistBuddy -c "Add :IOKitPersonalities:AMDBaffinGraphicsAccelerator:IOPCITunnelCompatible bool true" /System/Library/Extensions/AMDRadeonX4100.kext/Contents/Info.plist 2>/dev/null
sudo /usr/libexec/PlistBuddy -c "Add :IOKitPersonalities:Controller:IOPCITunnelCompatible bool true" /System/Library/Extensions/AMD9510Controller.kext/Contents/Info.plist 2>/dev/null
sudo /usr/libexec/PlistBuddy -c "Add :IOKitPersonalities:ATI\ Support:IOPCITunnelCompatible bool true" /System/Library/Extensions/AMDSupport.kext/Contents/Info.plist 2>/dev/null
sudo touch /System/Library/Extensions
6) Restart the computer while the Thunder2 is connected.
7) Restart the computer a second time since the .5 release seems to have trouble rebuilding and loading the relevant kexts on the same startup.
8) In System Preferences -> Displays -> Arrangement disable Mirror Displays and set the external monitor connected to the eGPU as the primary display by dragging the white bar.
(Image is in monochrome because while every guide ought to have a picture the local lighting was surprisingly non-photogenic.)
Hi, this is very interesting.
I owned the same iMac with the 6770m GPU and I'd love to give it a boost in graphics to pay some games. Light gaming mostly, but demanding for the standards of 2011 😉
Have you tried this setup with a bootcamp boot, I would probably use it this way as many games are only PC compatible. From what I read it is much more simpler this way, am I right? I would also like to use mi internal screen and not an external one, is it possible?
I would use the Akitio Node TB3 with an adapter to TB1 and maybe a Nvidia 1050 card.
can you confirm games and benchmarks are running faster with eGPU even using iMac internal display on macOS? have you already tried High Sierra?
Confirmed, a mid-2011 iMac internal display can benefit from an eGPU. For a visual illustration here is a copy of my benchmark result chart comparing eGPU performance on my mid-2011 iMac vs early-2015 Macbook Air. These benchmarks were run at 1280x800 in windowed mode to have a consistent benchmark resolution on all displays.
I have not yet tried using High Sierra.
I have the 2GB card and this tracks with the performance I've seen over TB1.
Yes, but beware higher resolutions will bottleneck TB1 a lot.
Is it possible to use iMac monitor alone with eGPU?
Sierra requires an external display (real or a faked with a dummy/ghost plug) for typical games because the only way to tell an application which GPU to use is to start it on a display driven by the correct GPU.
I think High Sierra can be configured to automatically prefer the eGPU with the latest setup scripts making an external display an optional performance enhancement.