1

I just decided to implement dual boot on my PC to have Ubuntu and Windows, so this is the first time I'm fully managing a Linux distro. Apologies if I do not fully understand all terms right away.

I installed Ubuntu (24.04.2) without many issues, but later on I noticed sometimes that, whenever I locked my PC (through Meta+L), at the moment of logging back in, my dock flickered by showing all the apps, only to disappear a moment later only leaving the Ubuntu logo. This repeats on and on with no apparent end to it.

Additionally, it not only flickers the dock, but it also skips my mouse and makes my keyboard start repeating the last key I pressed at times. I first was confused as it sometimes stopped on its own and sometimes it completely froze my system or blacked out my screen, forcing me to force shut down my computer.

I realized that this indeed only happens when I lock my screen either manually or when it times out. When I checked with the terminal on Ctrl+Alt+F3 (by pure accident), I realized that the rate at which the error amgpu 0000:0d:00.0: [drm] *ERROR* No EDID read appeared was exactly the same of the rate of the flickering on my screen.

I found out that this is somewhat mitigated if I randomly change between Ctrl+Alt+F1 and then back to Ctrl+Alt+F2, which makes the flickering persist a few seconds before stabilizing. However, whenever I change back to the terminal on Ctrl+Alt+F3, it gets back to the same flickering behaviour.

I have found that this is related to the monitor itself (as I did not know what EDID meant), but the response seems so diverse and with so many answers to so many distros out there that I think I'm a bit overwhelmed by it. I also find most cases they are not even able to see their monitor, which is not my case either. It is also important to say that I had been able to run the terminal before without any issue, so this sometimes appears to be random.

If you could guide me to the right track or if you experienced this, anything would definitely help. I tried to search for similar issues in here, but I could find none, I hope this is not a duplicate despite the several similar issues.


As an update, my kernel was at version 6.11

After trying what @Hi-Angel suggested, I updated to the latest stable version (6.13.7 currently) it seemed to work at first until I opened Steam and then played a game as normal, causing the error to appear once more. Once again, it got partially fixed when moving to the login screen and then back to my desktop through Ctrl+Alt+Fx but the error message continues to appear.

NotTheDr01ds
  • 22,082
Donagan
  • 21
  • 4

1 Answers1

1

So after doing a bit of research, I came to a workaround for this. It is not necessarily the best way to do it, but I have been preventing the same issue from freezing my system from time to time.

Workaround

What I did was first to update the GRUB's configuration file. (/etc/default/grub) and deactivated the Display Core, updating the following line as follows:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dc=0"

Once saved, you must run:

sudo update-grub

And then reboot your PC. Once I did that, the problem is not present anymore, although I am still trying to recognize what else can be done about this that does not require me deactivating this.

Investigation done

Before this, I tried the following:

  • Update the Kernel from 6.11 --> 6.13.7
  • Tried to change display, but the same continued to happen
  • I tried to change the resolution, which actually yielded yet another bug, but was informative

The issue starts after a few minutes from booting up. Once the terminal starts showing amdgpu 0000:0d:00.0: [drm] *ERROR* No EDID read. and if you reach this point, trying to change the Resolution to another one and then back to 1920 x 1080 started to show there were actually two displays connected.

Checking xrandr --listmonitors showed only one, but when checking logs with sudo dmesg | grep -i amdgpu, I found something that I later learnt were the names of two different buses:

  • 0000:01:00.0
  • 0000:0d:00.0 --> The actual device (GPU)

Since the error messages showed that it was the GPU which was having the EDID read issues, I'm still missing testing a few other things, namely:

  • Try another GPU
  • Update the Motherboard's BIOS

But for the most part, it seems that it is being an issue of my GPU somewhat being managed through the Display Core, which has issues when retrieving the Resolution, which causes a bunch of calls that start overloading the system. These two last statements seem to be the case when I found in the dmesg the following:

...
[    6.970198] amdgpu 0000:01:00.0: enabling device (0006 -> 0007)
[    7.303761] amdgpu 0000:0d:00.0: enabling device (0006 -> 0007)
...
[    7.537703] amdgpu 0000:0d:00.0: [drm] Cannot find any crtc or sizes

And later when the error messages happen:

[ 3731.359135] workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 1027 times, consider switching to WQ_UNBOUND
Donagan
  • 21
  • 4