Using EDID data in xorg.conf

I have two Hanns-G JW199D (19″ 1440×900) LCDs connected to an nVidia GeForce 8400 GS video card. They worked great until I upgraded from openSUSE 10.3 to 11.0; Xorg seemed to have problems configuring the LCD connected to the video card’s VGA port. The image was cropped and at an odd, fuzzy resolution, but the LCD on the DVI port was fine.

I examined /var/log/Xorg.0.log and found this:

(WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0

I was fairly certain that this had always been the case, and that the monitor in question was being configured from the “Monitor” and “Modes” sections. But after fooling around with modeline generators and tweaking xorg.conf, I was unable to create a configuration that would give back my 1440×900 display.

Finally I thought, can’t I just apply the EDID data from the working monitor to the problem monitor?

I fired up nvidia-settings and used that to dump a binary copy of the EDID. Then I grabbed read-edid and ran the parse-edid which conveniently generated a “Monitor” section for me. I integrated this output into xorg.conf and I was back in action!

This entry was posted in HOW-TOs, Linux. Bookmark the permalink.

One Response to Using EDID data in xorg.conf

  1. satoshi says:

    Hey, could I get your edid output from get-edid? I tried doing the same after a recent update on Arch Linux, but get-edid | parse-edid returns:

    “The EDID data should not be trusted as the VBE call failed
    EDID claims 255 more blocks left
    EDID blocks left is wrong.
    Your EDID is probably invalid.
    parse-edid: EDID checksum failed – data is corrupt. Continuing anyway.
    parse-edid: first bytes don’t match EDID version 1 header
    parse-edid: do not trust output (if any).”

    And then the modes it gives me are all 4095×4095.

    Thanks 😀
    satoshi@sugardeath.net

Leave a Reply

Your email address will not be published. Required fields are marked *