How to provide the correct information to file a bug regarding KVM switch and resolution problems?

The OS: Fedora Workstation 39 with GNOME Shell in a Wayland session
The hardware:

The symptoms: My user reports they use the laptop with an external monitor at home. Whenever they restart the laptop, the resolution on either the laptop, or the external monitor resets to something else - sometimes too small, sometimes too large, sometimes stretched unproportionally. So every time they have to re-configure it. Anyone with similar experiences?

During the troubleshooting progress I found out that they use the aforementioned KVM switch. They emphasize that their Windows laptop does not have such issues. I suspect the KVM switch does something with the EDID, and when I searched the web I found several such reports of people having problems with KVM switches.

I’d like to file a bug but I want to provide the necessary information. What would I need and how could I acquire this information? I know of get-edid and parse-edid. I could ask my user to parse the EDID information before and after the issue occurs and while the KVM switch talks to the other machine. I could provide kernel messages. Anything else?

Possibly have the user provide the output of those commands when booting both with the KVM connected and with the monitor directly connected so there is a comparison of the values reported by the monitor when directly connected and the values reported when connected thru the KVM switch.

If there is ANY difference then it would be caused by the KVM itself.

I also find that sometimes if the screens are set to mirror that the resolutions may be correct, but if set to join then sometimes the overall resolution may be incorrect as it may pick one or the other as the primary and the second one configured may have an invalid resolution.

In one case reported here recently I believe the pair was configured as 3840x1440 when one was 1920x1080 and the other was 1920x1440. The result was not usable.

xrandr may also provide usable information.

Is it really a bug though? According to Docs » The Linux kernel user’s and administrator’s guide » EDID, what you are seeing might be considered expected behavior.

Excerpt:

In the good old days when graphics parameters were configured explicitly in a file called xorg.conf, even broken hardware could be managed. Today, with the advent of Kernel Mode Setting, a graphics board is either correctly working because all components follow the standards - or … A KVM sends its own EDID data instead of querying the connected monitor.

As a remedy for such situations, the kernel configuration item CONFIG_DRM_LOAD_EDID_FIRMWARE was introduced. It allows to provide an individually prepared or corrected EDID data set in the /lib/firmware directory …

Excerpted from GT Mailing List Archive - Heads up: Video mode and booting with KVM switch:

Save the edid from your monitor to /lib/firmware/edid/ and include in your
kernel commandline “drm_kms_helper.edid_firmware=edid/your_edid.bin”. You
can also set your video mode in comman line “video=DVI-I-1:1024x768@85”.
The names for your connectors are found in “/sys/class/drm/*/status”.

1 Like

I marked your response as a solution. I couldn’t apply it, though, as the user isn’t very cooperative and tends to blame Linux for everything not working. :person_shrugging:

1 Like

That user would not receive any more support from me if they were actively anti-linux. The best solution would be to distance yourself from that type of situation.