Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
Created attachment 142526
boot log showing EDID failure
When connecting one of my monitors to the system it defaults to 1024x768 and not the native resolution and grepping through the kernel logs shows that AMDGPU fails to read the EDID of the display.
[ 5.054779] [drm:dc_link_detect [amdgpu]] ERROR No EDID read.
The display was working fine as of kernel 4.18.18 with the issues arising upon 4.19.2.
I am using a POLARIS 10 GPU and both displays are connected to DisplayPort with the Asus PG2780 having the issues with failing to grab the EDID.
DisplayPort-0 LG 25UM65-P
DisplayPort-1 ASUS PG278Q
Same problem here with RX480 and ASUS PG278Q.
Can't figure out what's broken.
Is it the bios of the card, the EDID of the monitor or the code in the amdgpu module ?
I'm also having having the "No EDID read." issue with this monitor and a wx 5100. With the generic Ubuntu 5.0.0-20 kernel on 10.94 as well as on my custom 5.1.17 kernel.
However, I don't even get anything on the screen. My monitor just flashes from black to lighter black... However, I'm running on POWER (PPC) so I may be encountering additional issues in my case.
However, the petitboot firmware gives me a text screen. The firmware is running 4.19.0 which suggests that something has broken since then as others have suggested.
I "fixed" this by disabling AMD Display Core and using https://github.com/akatrevorjay/edid-generator to generate a generic 2560x1440 edid binary. Could not get 144Hz to work yet though, but 2560x1440@60 works without problems.
My setup is RX570 with two monitors: PG278Q connected to DisplayPort and Dell U2718Q connected to HDMI. Dell works fine if Display Core is untouched (aka enabled) but once I disable it the picture gets blurry. So depending on dc=n, I only get 1 working monitor.
I also tried to export PG278Q edid binary from Windows and loading that while Display Core is enabled, but I get the next error:
[ 19.867534] [drm:edid_load [drm]] *ERROR* Size of EDID firmware "edid/rog_edid.bin" is invalid (expected 256, got 128
The monitor works on Windows and MacOS without any problems and the edid data seems correct.
Still an issue on kernel 5.11.2. I also have the Asus PG278Q, paired with an LG 34GK950F (both work fine on Windows). Tried a custom EDID but it won't load without passing amdgpu.dc=0 as @duncan pointed out, however the main LG display doesn't work at all without Display Core so this is not an option for me. Tested on a RX 6900XT, I can run any additional test that could help with this issue, please let me know.
@alucryd I fixed it by forcing the resolution with xrandr with the following Modeline found here:
Modeline "2560x1440" 241.5 2560 2608 2640 2720 1440 1443 1448 1481 -hsync +vsync
The issue is that I can't get 144hz to work, while I'm trying with all kinds of modelines...
I have the exact same issue it seems. I am unable to change the resolution, nor the refresh rate of my display. When trying to alter these settings in Gnome Control Center > Displays all I get is an error saying "unknown display" and the resolution tab is locked.
Monitor: PG278Q
GPU: AMD Radeon RX 6600
OS: Arch Linux running Gnome on Wayland
I have also encountered the same issue on an Arch Linux live-USB, and a Ubuntu live-USB. Windows had no issue.
Same problem, also with ACER XB270HU, but with an AMD Radeon RX 6700 XT on Fedora 38. Booting with the monitor attached works for me, and I currently work around the problem by applying the appropriate modeline via xorg.conf. But this prevents me from using Wayland, as there is no similar workaround and directly providing an EDID file via kernel parameter "drm.edid_firmware" doesn't seem to do anything at all.
I am in the exact same boat. Also using a PG278Q and I cant begin to describe how much pain this monitor has caused me, certainly my last asus monitor. Broken edid sucks.
So far I've been setting the modeline in xorg but as I want to dabble in wayland that won't be an option anymore. So I have been trying the drm.edid_firmware and it's just.. ignored completely. Even forcing it via /sys../edid_override has no effect, it just continues to print [drm:dc_link_detect [amdgpu]] ERROR No EDID read. and zero logoutput related to the edid I tell him to use.
Does anyone have any pointers how I can get amdgpu to load my custom edid if the above is ignored?
Edit:
After diving into the kernel source, I noticed that according to my logs it never got as far as even attempting to load an edid file, so I was searching for reasons why it would exit early and came across this in the load edid flow:
Here, it returns null if the drm_probe_dcc fails and does not even attempt to load an edid (override or specified edid_firmware). This lead me to try to force the display to on (First via echo on > /sys/kernel/debug/dri/0/DP-2/force) and reconnecting the display suddenly loaded the edid file. After, I forced the display via video=e kernel settings and the kernel now correctly loads the edid file I tell him to (and the resolution is set correctly). I havent actually checked whether it's really drm_probe_ddc which failed or whether its exiting early at another place - that is for another night.
I did some testing, it is indeed drm_probe_ddc that fails. However, it seems like drm_do_probe_ddc_edid fails to interpret the screens edid, as even when skipping all checks the displays edid does not get applied. Attaching the one read from my screen (on windows), in case anyone wants to run it through and see what part of it is failing the interpretation.
XB270HU.bin
I did try to find out what commit caused this regression, but it's not going well. Started off by compiling GCC 8.5.0-r1 (on gentoo), patched the old sources a bit to compile and tested. Was a bit on a ghost chase, as the system seems to have been compiling a kernel without the offending drivers, so without me trying to start X that went unnoticed a while. (Except that I couldn't find the kernel version where it stopped working)
Now I have compiled 2 Kernel versions that do contain some? driver.
Booting those (4.18.17 and 4.19.1) results in the GPU spinning it's fans for a second and then stopping to output completely, until I turn the device entirely off and start it up again. (Tested with FurMark on windows for a short time, seems to be fine)
Don't think I will take this much further, seem to just be cursed to not be the one to fix this issue.
I'm suffering from the exact same issue - it's haunting me since 2018 from VEGA to current RX 6900XT card.
It NEVER happens on the fresh install - you need to use your OS normally, install software ect, and only after months, sometimes years it comes out to ruin your day.
The bug creeps in gradually - until recently it happened on every cold boot, and today after I reinstalled xone driver for Xbox pad from AUR (using Manjaro currently), it happens every boot. It doesn't even show incorrect resolution, it's all black screen of death. The only way to make the computer run is, I shit you not, power cycle the display at the right time during startup.
Same 6 years old bug, all the way back to kernel 4.13-4.15 when I started using linux. Multiple displays, multiple AMD GPUs, same problem after few months
I get this too. I get DDC communication failed. (getvcp of feature x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)])
At the end of ddcutil detect --verbose. It works every time over HDMI. It worked sometimes via DP #1 (closed) of the 7900xtx dGPU, but has never worked via DP #2.
Recently I found my system doesn't boot with kernel 6.9 (stuck on the loading screen)
I looked into Manjaro forums and advice was to remove plymouth package - this is app that starts before everything else and provides animated loading screen.
After removal not only system works with kernel 6.9 but also EDID detection bug doesn't seem to trigger anymore.
I cannot confirm this to be working. I'm on manjaro too, plymouth not installed. Yet, it fails to read edid from my PG278Q.
The funny thing: IIRC, this issue was not present on some older 5.x kernel versions.
Only workaround so far: Provide the edid via kernel bootup parameter (extracted edid via Windows before by booting on a system with nVidia GPU): drm.edid_firmware=DP-3:edid/PG278Q.bin [1]
However, if the display goes into standby for too long, it defaults back to 640x480.