You are not logged in.
Hey everyone long time lurker first time poster!
Searched the forums and wiki, but maybe I am just using the wrong search terms. Any help is appreciated.
I haven't noticed if there is a specific thing triggering it, but my primary monitor will randomly go to 640X480. I am on KDE, and all of the information about my monitor is gone if I go to Display Configuration. Instead, it is labeled DP-1. The only resolution available is 640x480. It only affects my primary monitor. My other monitor has all its settings just fine. I have two Dell U2412M Monitors that are connected via DisplayPort. I can only fix it by disconnecting and reconnecting the monitor.
Next time it happens, is there anything I can grab that would help figure out whats going on??
I'm running on a ryzen 7 5800X and a radeon RX6700 XT with mesa and vulkan-radeon drivers.
REOPENING 03/23/2024
I finally replaced the diplay port cables and it didn't help. The recent update to plasma 6 motivated me to finally swap to wayland.
Last edited by DumbInACan (2024-03-24 03:31:58)
Offline
Is "randomly" actually random, or on boot? After having such an event, output of
sudo journalctl -b
would be interesting: https://wiki.archlinux.org/title/List_o … n_services on a guess lol, simpledrm so try adding
initcall_blacklist=simpledrm_platform_driver_init
to your kernel parameters.
Last edited by V1del (2023-12-22 12:36:35)
Offline
It isn't at boot. I am pretty bad about turning off my computer. A reboot wouldn't fix it the last time I tried. It could be triggered on wake, but I am have had it happen to me just while using the system too.
I appreciate the help. I will hold off adding that to the kernel parameters for a few days to see if I can get it to happen again and share journalctl results
Offline
Check the cable and/or connector. An intermittent fault suggests hardware failure.
Offline
I am on KDE
Wayland or X11?
For wayland: try the X11 behavior.
For X11, please post your Xorg log after such incident, https://wiki.archlinux.org/title/Xorg#General
Offline
Wayland or X11?
I'm on X11 I will post log when it happens next.
Check the cable and/or connector. An intermittent fault suggests hardware failure.
Good point, I will swap cables with the other monitor. If it happens on my other monitor next time, I'll know its the cable.
Last edited by DumbInACan (2023-12-23 19:41:52)
Offline
I wasn't the one on the computer when it last happened, so I didn't get a chance to grab the logs. I think we can confirm that it is the cable though. I swapped cables and it happened on the other monitor now. I am going to replace the cable when I get the chance. I am confident that will fix it, so I am preemptively marking it solved
Offline
Well it seems that replacing the cables didn't do the trick, and now both monitors go wacky tobaccy and go 640X480 with no info. It seems to mostly happen after waking from sleep or on a restart. I grabbed a
sudo journalctl -b
the last time it happened. What's the easiest way to post it here?
In the mean time I'm adding
initcall_blacklist=simpledrm_platform_driver_init
to my kernel parameters to see if that sovles the issue.
Offline
sudo journalctl -b | curl -F 'file=@-' 0x0.st
Please also post your Xorg log (ideally after such incident), https://wiki.archlinux.org/title/Xorg#General
Offline
I actually made the switch to wayland in the middle of all this. Now both monitors go to 640X480. Would Kwin have some sort of log or something I can grab? Also if it happens again, I will try
sudo journalctl -b | curl -F 'file=@-' 0x0.st
I did
sudo journalctl -b > incident.log
but the output was too large to just copy and paste in here.
Also should I use the --no-hostname flag?
Offline
cat incident.log | curl -F 'file=@-' 0x0.st
Also should I use the --no-hostname flag?
Your hostname isn't necessarily sensitive data.
Offline
cat incident.log | curl -F 'file=@-' 0x0.st
Also should I use the --no-hostname flag?
Your hostname isn't necessarily sensitive data.
Good point. Here is the output of
sudo journalctl -b
right after waking from sleep and it going to 640X480 with no monitor info.
Offline
Mar 21 21:38:32 archimedes kernel: Linux version 6.8.1-zen1-1-zen (linux-zen@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.42.0) #1 ZEN SMP PREEMPT_DYNAMIC Sat, 16 Mar 2024 17:15:23 +0000
Does the problem exist w/ the non-zen kernels?
Mar 21 23:24:19 archimedes systemd[1]: Reached target Sleep.
Mar 22 05:52:13 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read.
Mar 22 05:52:13 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read.
Mar 22 05:52:13 archimedes systemd[1]: Stopped target Sleep.
Mar 22 05:58:23 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read.
Mar 22 07:51:00 archimedes systemd[1]: Reached target Sleep.
Mar 22 07:57:09 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read.
Mar 22 07:57:09 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read.
Mar 22 07:57:09 archimedes systemd[1]: Stopped target Sleep.
Try to https://wiki.archlinux.org/title/Kernel … s_and_EDID
You can extract/copy the actual edids from /sys/class/drm/card*/edid
Offline
Mar 21 21:38:32 archimedes kernel: Linux version 6.8.1-zen1-1-zen (linux-zen@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.42.0) #1 ZEN SMP PREEMPT_DYNAMIC Sat, 16 Mar 2024 17:15:23 +0000
Does the problem exist w/ the non-zen kernels?
Mar 21 23:24:19 archimedes systemd[1]: Reached target Sleep. Mar 22 05:52:13 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read. Mar 22 05:52:13 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read. Mar 22 05:52:13 archimedes systemd[1]: Stopped target Sleep. Mar 22 05:58:23 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read. Mar 22 07:51:00 archimedes systemd[1]: Reached target Sleep. Mar 22 07:57:09 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read. Mar 22 07:57:09 archimedes kernel: amdgpu 0000:0b:00.0: [drm] *ERROR* No EDID read. Mar 22 07:57:09 archimedes systemd[1]: Stopped target Sleep.
Try to https://wiki.archlinux.org/title/Kernel … s_and_EDID
You can extract/copy the actual edids from /sys/class/drm/card*/edid
Hey @seth thanks for all your help. Sorry for the delayed response. I was trying to force load my edid, and kept getting an error.
I found https://edid.tv/ that let me download an edid of my monitor, and that seemed to work just fine. I will mark solved next week if the problem doesn't persist. Again, thank you for all your help!
Oh, and I'm not sure about non-zen kernels. I have only the zen kernel on this build.
Offline
It already happened again! "No EDID read." it gives me that same error at boot "No EDID read." when I restart instead of loading the EDID again. I'm so sad, I really thought that was going to work.
Is it my monitors or something?
Last edited by DumbInACan (2024-05-02 01:47:48)
Offline
Try to add it specifically to the relevant outputs, eg. "drm.edid_firmware=DP-1:edid/dells.bin,DP-2:edid/dells.bin" (check the outputs when it actually works, eg. after reconnecting the monitors)
for OUT in /sys/class/drm/card*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done
You'll need https://aur.archlinux.org/packages/edid-decode-git
You don't seem to have amdgpu in the initramfs?
https://wiki.archlinux.org/title/Kernel … _KMS_start (in that case you'll have to add the edids to the initramfs as well!)
I was trying to force load my edid, and kept getting an error.
What kind of error?
Offline
I am pretty sure that I edited mkinitcpio.conf correctly. amdgpu is in MODULES, and the path to edid is in FILES. I found the edid for my monitors online here. That file was half the size of the edid I produced. I figured it was something like the edid storing info for both monitors versus one. I just replaced the file I had made with the one from the Internet, and it worked! No more error reading the edid at boot.
Also I installed that aur package. I think I had used extra/read-edid before. One thing I noticed was the version I got directly from the monitors was 1.4 whereas the one on edid.tv was version 1.3.
This log is from it booting proper with the edid I DLed from edid.tv. This output is that for loop you provided previously. I booted without drm.edid_firmware and got this output from running that for loop
I'm not sure what I was doing before to get the edid, but I'm going to try using the ones the monitor provide again. This time I just copied them over from /sys/class/drm/card..{DP-1,DP-2} to usr/lib/firmware/edid/{DP1,DP2} and added an entry in drm.edid_firmware have for each monitor.
Hopefully that will finally solve it. Wish me luck!
Offline
So it sort of happened again. Only one monitor was effected. Instead of going down to 640X480, the monitor went entirely black. If I looked at display settings, the monitor shows up with a bunch of different options.
Please see log from right after the incident. Is it these monitors? I'm starting to feel like it might just be time to try upgrading my monitors
Offline
May 04 20:52:49 archimedes kernel: [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0
May 04 20:52:49 archimedes kernel: simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
You're not disabling the simpledrm device.
I suspect what happens is that DPMS kicks in the monitor unregisters, powers down and when got woken up isn't ready to response any edid and you're left with some VESA built-in modes.
Providing the edid for the kernel should™ address that but doesn't and the only reason I can come up w/ is that b/c of the simplydumb device your GPU ends up being card1 instead of card0
Offline
Well this is embarrassing I could have sworn I did that a while back.
I will now finally add
initcall_blacklist=simpledrm_platform_driver_init
Thanks again for all your help!
Offline
Well this is embarrassing I could have sworn I did that a while back.
I will now finally addinitcall_blacklist=simpledrm_platform_driver_init
Thanks again for all your help!
@DumbInACan Did that fix it for you? FWIW my secondary monitor (also a Dell U2412M!) is randomly reverting to 640x480. Nothing obvious in journalctl, and certainly nothing relating to EDID nor simpledrm. I haven't done a heap of troubleshooting yet, but just wanted to add another data point. I'm also using KDE and X11. I'm using NVidia.
Last edited by Salkay (2024-05-05 23:57:01)
Offline
https://www.dell.com/community/en/conve … a8debc8052
Are you currently also trying to inject an EDID for the output to not rely on the monitor-provided one (that's currently apparently not working for the OP and the simpledrm suspicion is about that, not the disbehaving output itself)
Offline
https://www.dell.com/community/en/conve … a8debc8052
Are you currently also trying to inject an EDID for the output to not rely on the monitor-provided one (that's currently apparently not working for the OP and the simpledrm suspicion is about that, not the disbehaving output itself)
Oh sorry, I misunderstood the thread. No, I'm not trying to do any of that. Thanks for the link, I've changed the two settings and I'll see if it persists.
Offline
If not, feel free to try to inject the EDID - if the monitor is dumb, there's probably no other way (and I currently don't understand why that doesn't seem to work/happen for the OP)
Offline
If not, feel free to try to inject the EDID - if the monitor is dumb, there's probably no other way (and I currently don't understand why that doesn't seem to work/happen for the OP)
Thanks seth. I'll definitely try that. I just read your link above to the wiki page. That seems promising.
FWIW when it works, my KDE system settings correctly identifies the monitor (i.e. as "Dell Inc. DELL U2412M"). However, when it failed, it was named something generic like "Nvidia". I *suspect* that meant there was either some issue with the monitor itself, which resulted in sending the wrong information, or presumably something wrong with my system reading it. Either way injecting the EDID sounds like it might work.
Offline