Can't get 4K over DisplayPort on RX 580

Sep 26, 2012
Asus Z170M-Plus
RX 460
MacBook Air
Mobile Phone
Hi again, back at it again with my graphics woes. I picked up an Asus RX 580 4G for only 80 bucks to replace my GTX 980 Ti, hoping that would smooth out future updates and the general UI. Currently I'm on the latest version of Mojave, 10.14.5.

First thing I did was install the latest versions of WEG+Lilu, 1.3.0 and 1.3.7 respectively. Unfortunately, I got a black screen, but I could remote log into my computer and confirm it was on. Now, I'm no stranger to this symptom; I've been dealing with this black screen issue with AMD cards since over two years ago. Thought the issue might be my motherboard, or my DisplayPort cable even. 4K60 over DP works great in Linux and Windows OOB. Since my buddy has an almost identical monitor, motherboard, CPU, and GPU, I did try to get his config.plist and EFI folder going (he uses WEG+Lilu), but I was met with the same issue.

OK, next thing was removing WEG and going with the classic manual framebuffer injection. Given my prior testing, I figured something was going on with the EDID of my monitor, and I seem to be correct. Selecting 'Inject EDID' in Clover while leaving the fields empty allows me to get to the desktop. Perhaps leaving the fields to auto-populate is causing me to not get over 1440p? Kinda doubt it. Anyways, with this setup I'm able to get up to 2560x1440 @ 60hz over DisplayPort, with no switching inputs around, and no pink tint over HDMI (I'm aware that's a completely fixable EDID/colorspace communication issue). When I first booted with this config, System prefs defaulted to a max of 1080p even when holding alt. I had to use SwitchResX to get there, but regardless at least I have proper color, DisplayPort, and a working rig. I had to make a few minor changes to my config.plist with this method as you'll see (inject Orinoco, 5 ports, inject ATI, and alternate board-ID from the iMac14,2 to bypass the AGDP crap).

I've attached proper problem reporting files for both of these scenarios so someone with more experience than myself can get up to speed on where I stand with these issues. After poking around with DCPIManager, I do find it interesting that WEG is just defaulting to the generic Radeon framebuffer and showing the proper 5 ports, while the manual set up with Orinoco shows 6 ports. I do indeed have a 5 port card, but I've read that sometimes manufacturers will have the firmware show an additional logical port due to one port being capable of splitting a signal with another port, or something to that effect. Anyways, seems like the next step forward might be experimenting with custom FB port patches, but I need a second opinion. Perhaps I overlooked something simple in another step.

Any suggestions or clarifying questions will be appreciated. I'm tearing my hair out.