Faking monitor EDID information

9

1

My monitor is sort of finicky. Sometimes I run a program that cycles through resolutions and the monitor will refuse to give its EDID information for a few days:

(/var/log/Xorg.0.log)
[   239.653] (II) fglrx(0): Restoring Recent Mode via PCS is not supported in RANDR 1.2 capable environments
[   260.113] (II) fglrx(0): Cannot get EDID information for CRT1
[   271.166] (II) fglrx(0): Cannot get EDID information for CRT1
(^ ran xrandr, this happens)

This causes the video card to think the maximum resolution it will support is 1600x1200, whereas I was running it at the optimal 1680x1050 that the monitor's manual says it supports. xrandr doesn't even list that mode as supported.

Now, I am having this same problem again because I was experimenting with Wine which caused Xorg to crash and forced me to reboot.

Sometimes I figure out how to get it back (I have forgotten just how), and sometimes it corrects itself.

The first time this happened, I figured I had better make a backup of the binary EDID information using read-edid, which I have saved in a 128-byte file on my hard drive. This leads me to my question:

How do you tell fglrx to read the EDID information from the file and not try to get it from the monitor?


Additional info:

I used to think this was the fault of the video card, but it's happening with a new video card (still fglrx drivers) as well, as well as new VGA cables.

The monitor is a Westinghouse LCM-22w3 plugged into the VGA port of the graphics card, an ATI Radeon HD 3200.

I've done some research into it, and apparently this is a somewhat common complaint of the LCM-22w3, but nobody seems to have any idea on how to solve the issue.

fglrx 8.92, xorg-server 1.9.5, kernel 2.6.38.7 x86_64 arch.

amphetamachine

Posted 2011-12-20T02:52:47.610

Reputation: 1 443

Answers

4

When I used a EDID-blocking VGA KVM switch, I used a small script to fix the resolution after logging in:

xrandr --newmode "1600x1200_60.00"  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00
xrandr --output VGA-1 --mode 1600x1200_60.00

I think I got the mode line from xrandr somehow (with the monitor plugged in directly). I tried putting it in the X configuration file, but the stupid X server kept ignoring it for various spurious reasons.

fstx

Posted 2011-12-20T02:52:47.610

Reputation: 932

1Thanks, that worked for me. Additinnaly, in order to get some default values for my screen I use the command cvt – remi – 2013-02-21T08:48:59.823

By the way, if you have 2 screens, when you set the resolution of the second screen (e.g. external screen with a laptop), I cannot use arandr anymore for fixing the screen positions. But you can still use xrandr with --left-of or whatever – remi – 2013-02-21T08:50:35.690

1

You might try

Option "IgnoreEDID" "TRUE"

and then specify your monitor's information manually. If IgnoreEDID doesn't work for you, try

Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"

Dr. JKL

Posted 2011-12-20T02:52:47.610

Reputation: 71

1[433447.647] (WW) fglrx(0): Option "UseEDIDFreqs" is not used [433447.647] (WW) fglrx(0): Option "UseEDIDDpi" is not used [433447.647] (WW) fglrx(0): Option "IgnoreEDID" is not used [433447.647] (WW) fglrx(0): Option "CustomEDID" is not used – amphetamachine – 2012-01-21T22:31:13.910

Which distro is this? I don't have an appropriate system to test on (but know from previous experience that CustomEDID should work, at least) -- you may need other prerequisites for a custom EDID to work. For example: http://en.gentoo-wiki.com/wiki/Radeon#Custom_EDID

– Dr. JKL – 2012-01-22T05:06:38.017

1This is Slackware, but that shouldn't matter. The drivers referred to in the link you provided are for the "radeon" F/OSS driver that ships with Xorg and not the proprietary "fglrx" I use (and need to make my 3d acceleration work). – amphetamachine – 2012-01-22T05:19:01.190

0

One non-free (okay, rather expensive) option is to use Gefen's DVI Detective. It's a device that will cache EDID information from a device and then constantly provide it to a PC.

I've had to use them before with PCs hooked to DVI KVMs that wouldn't reinitialize their displays after switching KVM ports. They worked great for that, and should work for your use as well.

afrazier

Posted 2011-12-20T02:52:47.610

Reputation: 21 316