In an attempt to help forum member, @ruuuuuu resolve error 12 with the RX 580 Gaming Box I found a workaround that keeps all Thunderbolt 3 ports in the 2018 13" MacBook Pro enabled. Through two hours of trial and error, the PCI Express Root Port #3 - 9DBA [wireless card] seems to be the main culprit of error 12. Once I disabled this Root Port, the Gigabyte RX 580 Gaming Box worked well on all Thunderbolt 3 ports.
2018 13" QC MacBook Pro - i5-8259U/Iris Plus Graphics 655 iGPU/8GB RAM/512GB SSD
Take a look at the four PCI Express Root Ports in Windows for the 2018 13" MacBook Pro. PCIe x4 Root Port #13 - 9DB4 connects to many crucial internal components such as the NVMe drive, trackpad, keyboard, Audio and iSight. This port is interconnected with the Apple T2 chip so I prefer to leave it alone. Next one down is the PCIe x1 Root Port #3 - 9DBA that connects to the Wireless card. PCIe x4 Root Port #5 - 9DBC connects to the left Thunderbolt 3 ports and PCIe x4 Root Port #9 - 9DB0 connects to the right Thunderbolt 3 ports.
- Boot into Recovery mode to disable SIP through Terminal. Open Startup Security Utility to set Secure Boot to No Security and External Boot to Allow booting from external media [in Option Boot]
- Download Windows 10 ISO and install through Boot Camp Assistant [in macOS and Windows]
- Complete Boot Camp driver installation then open Device Manager to disable PCI Express Root Port #3 - 9DB4 (to wireless card) [in Windows]
- Download and install rEFInd then mount EFI partition to enable spoof_osx_version 10.9 [in macOS]
- Connect eGPU to the left Thunderbolt 3 port closest to display hinge then hit POWER button [Computer off]
- Select Windows volume then hit ENTER [in rEFInd Boot]
- Wait for Windows to complete booting and open Device Manager to verify there's a second Display Adapter. [in Windows]
- Proceed to download and install latest Radeon drivers [in Windows]
If all goes well, you should see AMD Xconnect notification and icon. During my trial and error process, the RX 580 eGPU can actually work on either side Thunderbolt 3 ports. I found using the left TB3 port closest to the display hinge works most reliable. Here are screen captures of HWiNFO.
If you tried other methods and would like to give this a try, make sure to run DDU first and remove all Nvidia and AMD graphics drivers.
I didn't have time to run benchmarks. The setup can work with both the internal display and external monitor. FIFA19 is an exception in that it refuses to work with internal display.
The only inconvenience with this workaround is to disable the Wireless card Root Port before you shut down Windows then re-enabled once AMD XConnect detects and works with RX 580 eGPU. All four TB3 ports remain enabled is a nice tradeoff. I will try hot-plugging external SSD and see whether there's issues.
@itsage I thought the wireless card as a culprit was evident because sometimes hot-plugging an eGPU in Windows Bootcamp disconnects the wireless device for a bit. Anyway, this is a great find because having just 2 TB ports available can be painful (I use all at all times ;p).
The disabling/enabling of the device could be scripted as Windows has the option to run some on startup/shutdown. Same with the other PCIe controllers. All in all, if one had time, could build a series of automations to automatically run to resolve error 12.
I noticed this behavior of wireless card disconnection when hot-plugging eGPU too. It happens on Windows laptops too. Having a script to automate this process would be great!
@itsage When I was into testing the 2018 MBP on Windows (now works with both AMD and NVIDIA eGPU equally well while plugged in from boot - just no internal display), I looked into scripting the controllers but left the idea there once I got my setup working. I have actually been looking at some better ways at patching macOS as well (non-EFI) such as with kexts (hence slow on the app). The problem with the latter approach is dependencies (major OS upgrades could break kext libraries even though patches may be same: example is the Thunderbolt3Unblocker that depends on xnu_override - didn't work on Mojave when I checked last).
If I have the time, I could look into this (though I honestly don't think I'll have any until semester-end). Is your bootcamp guide about disabling resources up-to-date with this new info? It'd be great to have all the resource disabling stuff in one place.
I have uninstalled the patch and then setup my new mbp13 2018 i7 on macOS 10.14.1. Everything works fine with the gaming box rx580 apart from the fact that when i do a stabilisation on fcpx the system crashes and i get an error //"macos_system_state":"running","bug_type":"210","os_version":"Bridge OS 3.1//
Is there any additional setting i need to change in relation to the patch. Also performance is not as much better as with my mbp13 2015 as i was expecting. Any suggestions would be highly appreciated.
I have a setup exactly the same with one of your recent builds and looking for some guidance in a couple of issues. I run the purge wrangler patch on my tb2 mbp 13 2015 before but uninstalled before the last backup that i used for the new setup.
A. Crashes: i have setup my new mbp13 2018 i7 on macOS 10.14.1. Everything works fine with the gaming box rx580 apart from the fact that when i do a stabilisation on fcpx the system crashes and i get an error //"macos_system_state":"running","bug_type":"210","os_version":"Bridge OS 3.1//
B, Performance: Do you think that i need to change any setting? I got a new mbp 13 2018 2.7 16gb 1 tb paired with the gaming box rx580 and a Dell 29' 2k and the benchmarks i get are not as i expected and not better than what i got with my 2015 mbp 13 with TB2. With the mbp 13 2018 i get the 41fps (1040) on Heaven ultra setting 1080p vs 39fps on the mbp 2015 and 67.5 fps on the basic preset. Cinebench is at 62fps vs 61fps. Dirt Rally on macOS at 55 fps. FCPX looks to perform a bit faster but similar to the mbp2015 but as the projects i quickly looked at were only 3.3 min the difference might not be apparent, i will revert when checking longer projects.
I run macOS 10.14.1 (18B75)
Do you think that i need to change any setting?
@tsakal Your new Mac supports that eGPU natively so uninstalling the patch is sufficient. Bridge OS crashes are not related to the patch. Wait for a fix from Apple (10.14.2 has less panics IMO), or reinstall macOS over existing install. Also performance of the eGPU won’t suddenly increase if you change macs.
Thanks a lot for the prompt reply. Re performance i am not expecting miracles but i was expecting a 25% boost due to the tb3 vs tb2. You guys are more experienced, that is why i am checking whether i have missed some setting somewhere. By the way with the 2018 mbp 13 and 10.14.1 i see the internal gpu being engaged more or less all the time.
One more thing.
I noticed on my mbp 13 2018 that when i plug the Apple USB-C charger the mbp power switches from the gaming box 100w the the Apple charger 60w. GPU performance and mbp heat management should be better to power through the charger, right? Any thoughts ?
Re Performance, cinebench is at 62 fps the same as with the mbp 13 2015. It should be a bit higher. I am afraid that apple has started to throttle non blackmagic cards, unless i do something wrong.