I can’t answer all of that, but here is some information you might find useful…
Only EDID modes are allowed (for example, “
/etc/X11/xorg.conf” mode settings are ignored).
No extension mode is accepted.
The most recent EDID protocol (v2) works, and though I can’t say for sure earlier releases won’t work, I have seen people using older VGA monitors providing older protocols fail to parse.
Reading EDID is via the i2c protocol. If i2c for the correct controller is not enabled, then EDID won’t read. You could consider using your emulator (which is a good approach), and examine two things:
- Monitor “
dmesg --follow” as you connect the monitor, and see what logs show up.
- Add logging options to “
Section "Device" use
…and then after connecting the monitor, save a copy of “
/var/log/Xorg.0.log” (or it might be “
/var/log/Xorg.1.log” if “
DISPLAY” is “
:1” instead of “
:0”). This log will specifically state what the actual GPU driver thinks of every parsed EDID mode.
- Look for what you see from:
egrep -i -H '.*' `find /sys -name 'edid'`
Note that the
edid files contain what was parsed from your i2c query of the emulator. If one of these has content, then you know EDID was readable and that regardless of its protocol, it worked (at least so far as reading goes).
If EDID was read, then the Xorg log file will tell you the result of each mode. If there is no EDID, then all you have is some default mode you didn’t get lucky with.