Faking monitor EDID information

13,700

Solution 1

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.

Solution 2

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"
Share:
13,700

Related videos on Youtube

amphetamachine
Author by

amphetamachine

Updated on September 18, 2022

Comments

  • amphetamachine
    amphetamachine over 1 year

    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
    amphetamachine over 12 years
    [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
  • Dr. JKL
    Dr. JKL over 12 years
    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: en.gentoo-wiki.com/wiki/Radeon#Custom_EDID
  • amphetamachine
    amphetamachine over 12 years
    This 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).
  • remi
    remi about 11 years
    Thanks, that worked for me. Additinnaly, in order to get some default values for my screen I use the command cvt
  • remi
    remi about 11 years
    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