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!
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