The monitor I have is old and has often acted flaky, so I'm sure the ultimate blame resides with it, however setting the drm.edid_firmware= parameter on the kernel command line is in theory supposed to override whatever nonsense kernel modesetting, X11, and Wayland come up with, yet it doesn't seem to work. Do I have to specify a connector even though the docs say leaving it off will override the setting for all connectors?
Symptoms: When booting, it reaches the point where kernel modesetting happens and the text size it switches to makes it obvious it has picked the wrong resolution. When X comes up the wrong resolution is obvious. Under X, I can turn off the monitor and turn it back on, and when it comes back on, it always has the right resolution. Under Wayland if I do that it almost always is either a black screen or a jumbled mess of wiggly lines.
This is ubuntu 20.04 with amdgpu on a display port connecting to a UHD monitor.
I have no idea where to find Waylang logs, but I see gibberish about falling back to old probe method in the Xorg.log. What is it probing if I've given it an EDID file?
[ 12.737] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
[ 12.739] (WW) Falling back to old probe method for modesetting
[ 12.740] (WW) Falling back to old probe method for fbdev