2015 21" iMac 4K [5th,2C,U] + R9 Fury X @ 16Gbps-TB2>TB3 (Sonnet Breakaway 350) + macOS 11.5 & Win10 1903 [itsage]
This build was done in conjunction with testing for @mac_editor's new eGPU utility, Kryptonite. Through the use of an EFI boot loader, we can now facilitate eGPU functionality on unsupported Macs in both macOS and Boot Camp without compromising system security. Hats off to you, @mac_editor!
2015 21" iMac - i5-5250U/HD Graphics 6000 iGPU/8GB RAM/1TB HDD
I'm using the 2015 21-in iMac primarily for soccer streaming in this game room. It still has the original spinning drive so it's definitely not in gaming shape. However, it's a great test unit for new macOS updates and eGPU solutions. A great pairing eGPU is the R9 Fury X + Sonnet Breakaway 350. The Fiji family of graphics cards were never officially used in a Mac but there are drivers. Either Purge-Wrangler script or the new Kryptonite loader can enable the use of these older AMD cards. Also thanks to @mac_editor with his work on tbt-flash, I was able to update the firmware of this Sonnet Breakaway 350 (15W PD) to provide 60W PD. The PSU was upgraded to a 550W unit so that there's no concerns with PD and high TDP cards.
The install process for Kryptonite is straight forward. You decide whether you want to use a removal drive such as USB thumb drive or internal drive by adding a small partition. I tested with both options and they worked the same. If you have an AMD card, you can simply move the EFI folder to the designated OPENCORE drive then bless it as a bootable volume.
Boot up process is through the native Apple Option boot. We would select the OPENCORE volume then load the OS volume. I noticed a longer boot and can hear the GPU fans indicating the operating system starts loading drivers. I didn't connect any external monitor through the eGPU, but I would imagine a connected monitor would show output at this stage too.
In Windows Boot Camp, there's a few more steps. Most Macs older than 2017 model year do not have Large Memory allocation in Windows and therefore would struggle with error 12 handling an AMD eGPU. I had previously followed @nando4's instruction to do DSDT Override for this 2015 21-in iMac. Once I added the modified DSDT file to Kryptonite EFI boot manager, the system was able to allocate Large Memory in and error 12 was gone. Here are the step-by-step:
- Install Windows 10 ISO through Bootcamp Assistant [in macOS]
- Install DDU to remove all default graphics drivers and disable Windows automated driver installation [in Windows]
- Create a 24MB FAT partition in Disk Utility and copy @mac_editor's Kryptonite onto it [in macOS]
- Copy the 2015 21" iMac dsdt.aml file to /EFI/OC/ACPI/dsdt.aml inside the EFI partition [in macOS]
- Set the parameters in config.plist (EFI/OC) to the path of dsdt.aml and SignalAppleOS to TRUE [in macOS]
- Hold OPTION at boot to select OPENCORE EFI drive then select Windows volume [boot selection]
- Install Intel iGPU drivers for the integrated graphics card then restart [in Windows]
- Shut iMac down then connect eGPU to Thunderbolt port closest to Ethernet port [system OFF]
- Boot into Windows via Kryptonite EFI [boot selection]
- Confirm a new Microsoft Basic Display Adapter in Device Manager then install Radeon drivers [in Windows]
If all goes well, you should see the AMD XConnect logo in the notification area of the Taskbar. For iGPU-only Macs, loopback internal display acceleration should work right away. If your Mac has a dGPU, you may need additional steps to either disable the dGPU and/or install modified Radeon drivers from bootcampdrivers.com so that dGPU and eGPU can work together.
I ran CL!ng and Luxmark 3.1 to check bandwidth and compute performance. I also ran Unigine in both macOS and Windows to compare loopback performance.
|macOS 11.5||Windows 10|
I can't thank @mac_editor enough for continuingly improving the solutions he has built for our community. Purge-Wrangler script has been working great for my 2013 Mac Pro and 2015 15-in MacBook Pro. With Kryptonite, I could re-enable SIP and ART to use eGPU. It's a remarkable improvement!
@itsage, lovely game room that - especially the bright colors. Love it - seems like a great place to chill.
I noticed a longer boot and can hear the GPU fans indicating the operating system starts loading drivers.
This should be addressed in final release. The package currently available for download contains debug kexts which output a lot of stuff for logging. Release kexts don't do this and also have compiler optimizations so may be faster.
"Desultory reading is delightful, but to be beneficial, our reading must be carefully directed." — Seneca
Great guide! Could follow through everything except this one part. I’ve got my plist open in propertree but can’t seem to figure this out.
Could you point me how to set the parameters in config.plist (EFI/OC) to the path of dsdt.aml? Ive got my file in EFI/OC/ACPI already.
@matthew_leedoubleukay, That's exactly where I stored the DSDT.AML file too. This is the screen capture of my plist. Look at Root>ACPI string. I set SignalAppleOS to True so that the Intel iGPU stays activated when booting into Windows.
@itsage, Oh I must have missed your settings for the ACPI section. Thanks for the patience. Happy to report that both Mojave and bootcamp are booting well on my 2015 macbook pro with kryptonite. Great build!
Just having some minor issues with my Sabrent HDD docking station. I have to remove all other drives other than the drive that bootcamp is on, or it will not appear at boot. But that's probably a docking station problem.