Hi. There are several bugs Primary display loses its resolution configuration when resuming from sleep, Primary display changes to 640x480 resolution after suspend (wayland only), Primary monitor switches to 480 resolution after suspend that all seem to stem from EDID not being acquired properly at a low level (driver or hardware).
I myself have suffered from this on NVIDIA GTX 1080 Ti, and this seems to affect quite a number of people.
I have found a workaround that could help 99% of affected users:
When my screen was properly recognized, I copied its edid to a file, and I’ve added a udev rule to run a script with
#!/bin/bash
mountpoint -q /sys/kernel/debug || mount -t debugfs none /sys/kernel/debug
sudo tee /sys/kernel/debug/dri/0000:01:00.0/DP-1/edid_override \
< /usr/lib/firmware/edid/my-monitor.edid >/dev/null
whenever my monitor gets plugged (where /usr/lib/firmware/edid/my-monitor.edid is the cached EDID).
The rule is:
ACTION==“change”, SUBSYSTEM==“drm”, DRIVERS==“nvidia”, DEVPATH==“*DP-1”, RUN+=“fix-edid.sh”
This could be made easy with KScreen detecting no EDID present, and in the defaulted 640x480 screen, offer the user to use the latest valid EDID. If the user chooses yes, they’re prompted for the sudo password, and this rule gets setup, then the user should simply power off and power on the monitor, and they get their display in order.
I know it’s not a KDE bug, but it would improve KDE if it could handle such degradation gracefully.
Should I fill in a bug report for that, even though it’s not a bug but a feature/enhancement request?