2019 27" iMac 5K (RP580X) [9th,6C,K] + RX 5700 XT @ 32Gbps-TB3 (Razer Core X) + macOS 10.15.6 & Win10 2004
- Screen Size: 27" internal display and a 27" external display
- CPU: Intel Core i5 9600K
- iGPU: n/a
- dGPU: Radeon Pro 580X
- OS eGPU is used with: macOS 10.15.6 and Windows 10 version 2004 build 19041.421
- Enclosure: Razer Core X
- Video Card: PowerColor AX RX 5700 XT 8GBD6-3DHE/OC (Red Devil)
- TB3 Cable: the 0.5m cable that came with Razer Core X
- No custom mods
- It's a 2019 27" 5k iMac
I had issues getting the AMD eGPU to work in Windows 10 1909 just like everyone else, I tried DDU in safemode many times but always had error code 12 with the eGPU and the associated audio device even with the dGPU disabled in device manager. Then I decided to update my Windows to the latest 2004 manually through Microsoft's website since Windows Update wasn't giving me the option to do so. Things to keep in mind, before I ran the update, DDU was ran in safemode to remove all AMD drivers, then I rebooted and installed Adrenalin 2020 Edition 20.8.1 Optional downloaded from AMD's website, installation completed but was still getting error code 12 in device manager.
After Windows completed updating to version 2004, the external monitor turned on displaying the login screen (internal display is blank) before shortly switching off with the login screen displaying on the internal display. I then logged in but my keyboard (Apple Magic Keyboard that came with iMac, plugged into USB) and my mouse were not functioning, Windows wasn't completely frozen, it was still loading programs that were set to load at startup so I pressed the power button to shut it down, it BSOD'd after a minute trying to shutdown, restarted itself and BSOD'd again, restarted itself and BSOD'd again then it booted into recovery and I chose safemode, logged in and went to device manager, disabled the dGPU's PCI express device again (as you all know, Microsoft reenables all disabled devices / resources etc in device manager after a major update, very annoying) and the audio device that belongs to eGPU, reboot, this time the login screen stays on the external display but the internal display is also turned on displaying a desktop background, the display settings is showing that the two monitors are running in extended mode. I changed the settings to display on the external display only which disabled the internal display because that's all I want when running Windows. I checked to see if everything is alright be rebooting a few times, the settings stick, ran a couple games and everything was good.
TL;DR: DDU in safemode to remove all AMD drivers, reboot, install AMD driver on eGPU (with dGPU disabled), install Windows version 2004 with the eGPU plugged in and turned on (wasn't intentional, I forgot to unplug the cable and turn it off before update started), boot back into safemode because Windows is stuck in BSOD loop, disable dGPU and the audio device associated with eGPU (or it'll BSOD over and over) and that's it.
I don't run benchmarks, but the game I play (in Windows, of course) went from dGPU 1080p resolution, constant 60fps with vertical sync on on internal display to same settings but running on eGPU outputting to external display at 4k, vertical sync off and 78-83fps.
I'm happy with it, no more 1080p on a 5k display.
Games run much much better in Windows now, going to see how it helps with Photoshop and various other digital painting / drawing apps in macOS.
Best part is that there is no modding of any sort and you can freely boot into Windows or macOS, no need to dig the iGPU out of Apple hell hole, no need to tinker with DSDT overrides and no need to replace PCI.SYS (I was very close to trying that).
Forgot to mention that AMD's XConnect works with all the apps and programs defaulting to running on eGPU.
Off topic, it took me a while to figure out why I couldn't adjust any settings on my external display connected to eGPU via OSD including brightness and contrast in macOS, it's because HDR is enabled in system preferences for this monitor, gotta turn that off first.
Edit1: was getting BSOD with the bthport.sys at boot today, couldn't resolve the issue so I "reset" it, which looks to be a reinstallation. After that I installed bootcamp drivers, turned on the eGPU, Windows Update installed driver for it then a restart, everything works, except in device manager the dGPU is getting error code 31 (not sure if it was the eGPU powering the internal display at that point or it was running on Microsoft basic display adapter), this is with nothing disabled in device manager, just a yellow warning on the dGPU with error code 31, and this is with Windows version 2004 build 19041.450.
Edit2: updated Windows all the way to 20H2, build 19042.630 through windows update, no problem; updates all the way up to Adrenaline 20.8.x no issues, see the next edit.
Edit3: Adrenaline 20.11.2 and 20.11.3 have issues where after installation restart I get stuck at the boot up screen with a windows sign and a spinning circle at the bottom of the screen; if I boot into safe mode, disable the AMD hd audio sound device and restart then everything's fine, until (lol) I boot into macOS then restart back into windows then I need to perform the safe mode step again. I've since resolved it by using system restore point to restore the system to the state before the new AMD driver was installed, then I installed 20.11.2, don't reboot after installation (but do so after some tinkering in device manager) and went into device manager and uninstalled + delete the AMD hd audio under "audio inputs and outputs" and another AMD hd audio under "sound, video and game controllers" (yours will be different from mine because I have a Cintiq 24 Pro connected as an external monitor which has Realtek USB audio connected through the iMac's USB port, but for some reason AMD's HD audio driver merges itself with the Realtek when the driver is installed and only separates after the AMD driver is deleted), refresh device manager, disable both drivers (the AMD and the Realtek) and restart, if it still doesn't work for you, disabling AMD Link Controller Emulation under system devices did the trick for me, I think that device has something to do with AMD Link.
Edit4: still having issue with the new driver when booting into Windows after having been in macOS. The workaround is to leave the eGPU off when booting into Windows, then at the login screen turn it on, leave it there for a minute or two (my Windows is installed on a HDD) then restart and it'll work again.
It was pretty much plug and play except the dGPU has an error in device manager. I'm very surprised there weren't extra loops to run around in and hoops to jump through to get the eGPU working, I was expecting hell for a few days.
@mini-i5, It works as expected in Mac, except that to use the eGPU to accelerate Photoshop it's gotta be turned on before I launch Photoshop or it chooses the dGPU. One annoying thing is that if Photoshop chooses the eGPU for acceleration I can't use it on internal display because of the bandwidth issue sending data back through the same TB3 connection to the internal display, which makes even the simplest brush stroke choppy.
@randomized, thanks for sharing your experiences.
@randomized, Most curious now if you can do this without Windows.. like with Octane X you can do this within Mac OS?
And, I apologize in advance.. Lol, I realize most of you are talking about gaming while I'm constantly referring to rendering with Octane in C4D.
@sean_sullivan, I don't use Octane, but I like how it speeds up and smooth out the choppy perspective warp in Photoshop with lots of planes, it helps quite a bit.
@geppo1965, sorry for the late reply, but if you're only setting it up for gaming, from what I've read on the internet I would just go with nVidia, they don't seem to need to jump through hoops to a) get it working, and b) maintain it through updates. Besides, the new RTX 3000 series is not so expensive compared to the previous gen that you need to sell a(n)/some organ(s)/body part(s)/sperm/egg(s) just to be able to just think about affording one.
I'm actually considering getting one of the new consoles for gaming after the world figures out which console is going the more popular one this time 'round since that's all I use Windows for, I don't want to have to cross my fingers and toes and hope nothing breaks every time there's a Windows or AMD update, subsequently spending many hours on trying to fix it.