Created attachment 145598 [details]
dmesg output when using DP
I recently built a new machine (specs below), but I'm having trouble using the display port connector with my old monitor (BenQ XL2420G) - I get the following EDID error:
[drm:dc_link_detect [amdgpu]] *ERROR* No EDID read.
Following instructions to manually use an EDID appears to do nothing (https://wiki.archlinux.org/index.php/kernel_mode_setting). I generated an EDID with the "read-edid" package after modprobe-ing i2c-dev and HDMI connected, as well as my old machine's nvidia card via "acquire EDID" in nvidia-settings.
I'm not sure how quirky other G-Sync or high-refresh-rate monitors are, but this one *only* allows a 144 Hz refresh rate with display port. However, using HDMI, everything appears to be fine. My Windows partition in the same machine appears quite happy to use DP at 144 Hz, so I'm particularly baffled as to why linux is struggling. After scouring the internet, it appears no one else has the same issue, so it is possible that this monitor is simply not playing nicely.
I have supplied my lspci output, as well as dmesg outputs with "drm.debug=0x1e log_buf_len=4M" for both DP and HDMI connected. I am running up-to-date archlinux, using linux-firmware from the testing repo (which should just be neatly providing the navi firmware in a non-AUR package) and a bunch of packages from the mesa-git repo. My pacman -Q is also attached.
Any help would be greatly appreciated! Many thanks in advance.
ASUS TUF Gaming X570-PLUS WiFi
AMD Ryzen 3900X
Powercolor Red Devil 5700 XT
Created attachment 145599 [details]
dmesg output with HDMI connected
Created attachment 145600 [details]
Created attachment 145601 [details]
pacman -Q output
I forgot to mention - when using DP, after that EDID error, my screen displays a 640x480 tty. I can start X with it, but xrandr shows no other resolutions to use (probably because the KMS has no EDID info). I haven't been brave enough to manually generate and force EDIDs, but I figure that something else is wrong, as this all works fine under Windows.