Comment 8 for bug 958439

Revision history for this message
Bryce Harrington (bryce) wrote :

The described symptoms are characteristic of a monitor edid issue. I presume if you attach some other monitor it'll work fine.

Setting "UseEdid" "False" in your xorg.conf might help force X to ignore the bad edid and use other mechanisms for determining your monitor's characteristics. But that's just a blunt workaround.

The same kernel is used in both livecd and installed system, so it's not that. Although, there might be differences in how the two are configured (might compare lsmod and /proc/cmdline for any differences.) The installed system boots with lightdm and plymouth for graphics, whereas the livecd uses ubiquity to bring up X; those are the major differences in how X comes up between the two. I wouldn't think those affect edid reading at all though. You can run 'sudo xdiagnose' to toggle off boot graphics and a few other things to experiment with.

There is a tool called 'read-edid' which provides 'get-edid' and 'parse-edid', which is useful for examining the edid. xrandr --verbose will also print the edid, but only when -nouveau is in use.

Your Xrandr.txt shows your monitor as 0mmx0mm, which is a good sign that either your monitor is a projector, or something's wrong with your edid.

Some monitors have writable edid, which can get corrupted under some circumstances. You might check your monitor vendor's website for edid flash utilities or troubleshooting directions.

If you are using an adapter to connect the monitor, sometimes those corrupt the edid. Try a different adapter.

It is possible to override the edid that X uses. Connect your monitor to a computer where things work properly and you get the correct resolutions and so on. Run `find /sys -name 'edid'` to locate your edid file, and cat it to /etc/X11/my_edid.dat. The xorg.conf option will be something like:

  Option "CustomEDID" "VGA-1:/etc/X11/my_edid.bin"

Even if this works, it's a rather crude work around since it only fixes X. We're working on a way to do the edid replacement at the kernel level, so if you get this far, ping me again and I'll give further directions.

In any case, whatever options you try please update this bug with what workarounds helped and which didn't, and that'll help pinpoint where the failure is. Attach any edids (broken or working) you extract, for us to examine.