[Solved] Sapphire Pulse Radeon RX 580 + Asus XG Station Pro + MBP 13" 4TB3 (2018, MacOS 11.1): System crashes when external 4K display is switched on
some background (skip to the problem below if you like):
I want to use my MBP 13" 4xTB3 (2018, MacOS 11.1) with three external displays (LG 27UL850 (4K, 27 inch)), optionally together with the internal display. While running the MBP with two of those three displays both with and without the internal display is easy, smooth, and stable, I cannot connect the third external display. This is due to the integrated GPU only supporting two external displays.
Hence, I decided to buy an eGPU to drive at least one (possibly all three displays) from that eGPU and the internal display from the integrated GPU.
Since I want to have a *quiet* (i.e., silent) eGPU just to drive that third external display, with no fancy 3D gaming whatsoever, I bought the Sapphire Pulse Radeon RX 580 GPU and the Asus XG Station Pro GPU case.
The GPU is recommended by Apple on its support website ( https://support.apple.com/en-us/HT208544 ) for eGPU setups. The GPU case, while not being explicitly mentioned on Apple's support website, is claimed by its vendor to be macOS-certified for that specific GPU model ( https://www.asus.com/Motherboards-Components/External-Graphics-Docks/All-series/XG-STATION-PRO/).
What could go wrong then ...?
I put the GPU properly in the GPU case, connected the latter with the supplied TB3 cable to one of the TB3 ports on the MBP. I then connected one of the three displays via DP with the GPU. The other two displays I did not connect, just to check this basic setup first. Since the GPU case cannot supply enough power to the MBP, I also connected the MBP PSU to the MBP (so only two of the four TB3 ports on the MBP were connected). The MBP lid was open displaying the MacOS desktop.
MacOS detected the GPU properly (proper menu icon appears, activity monitor shows it). The GPU could even be disconnected via the menu icon. Everything seemed fine at first glance, but as soon as I switched on the external display, the system started to freeze after a few seconds and then crashed. This happened reproducibly. Sometimes "only" the WindowServer process crashed and I "just" had to relogin without a full system crash, depending on the timing of disconnecting the eGPU connector from the MBP.
Multiple reboots with and without the eGPU connected on reboot did not help. Neither did switching from DP to HDMI, switching TB ports, using a shorter high-quality TB cable (the crashing then happens a few seconds later), booting with the lid closed (clamshell mode). I even used another, non 4K-display. Without success. Sometimes, the desktop background did appear for a few seconds before the system crashed, but with heavy artifacts. However, most of the time the external display never showed anything but stayed black.
I then tried to run Geekbench 5 without any display connected to the GPU (so just the MBP and the GPU/case combo). While a few of the tests were passed, eventually the Geekbench application stalled. I also tried to set the "Prefer external graphics card" setting for Safari and browsed some 3D-enhanced websites. This was very sluggish compared to the internal GPU. Eventually, the system crashed.
What's going here? I mean, this is officially recommended/certified hardware. Shouldn't it be plug'n play. Did someone manage to get this working with *this particular* GPU/case combo, a TB3 MBP, and at least one external display?
Any help to solve this issue is highly appreciated.
Yes, the GPU is new (the product, not the model).
Indeed there is a small switch on the GPU itself. Within the box that shipped the GPU there was a small sheet of paper about that switch. There are two options: Gaming Mode (the default) and Compute Mode with the warning that the system may become unstable in gaming applications when in Compute Mode.
There is no mentioning of what "Compute Mode" actually is in the instructions, so I thought it might be mining or so.
Anyway, I toggled the switch from "Gaming Mode" to "Compute Mode" in the actual setup I want to use as described above (one external display connected via DP to the GPU case and then via TB3 from the GPU case to one of the TB3 ports on the MBP, additionally, the other two external displays via my docking station to one of the other TB3 ports on the MBP, the lid of the MBP open; hence four displays in total, two TB3 ports used).
And ... it works! Toggling the switch from "Gaming Mode" to "Compute Mode" seems to do the trick.
I will still check whether I can drive the three external displays over the GPU (such that the integrated GPU then only drives the internal display).
@harlekin99, That's good to hear. You should check through all monitor output ports through Compute vBIOS. I know from past builds that RX 580 can provide four monitor outputs with ease in macOS and Windows.