How Do I Override EDID Info in Xorg.conf?

Asked by Anlace

EDID is not reporting correct information to my video card resulting in extremely low resolution options (as I reported in depth here: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/194760). Information that I have found online so far is either dated or has simply resulted in a black screen or "out of range" errors when rebooting. Currently all versions of the Nvidia driver are giving the same results. Only the generic VESA driver is allowing me to use acceptable resolutions and that driver is very limited.

My video card is a new Nvidia GeForce 9800GTX and the monitor is ViewSonic VX2025WM (native resolution 1680x1050, Horizontal Refresh 30-82, Vertical Sync 50-75). Kubuntu 8.04.1, I also had the same problem with Ubuntu/Kubuntu 7.10 and 7.04. The monitor worked perfectly in 6.10 and earlier versions of Ubuntu/Kubuntu. The monitor also works perfectly in Windows XP Home and Pro, and all versions of OS X.

Can anyone help by pointing me in the right direction for editing my Xorg.conf file to exclude EDID and/or other monitor data that is limiting resolution to unusable lows.

Thank you for any and all information and help!

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu xorg-server Edit question
Assignee:
No assignee Edit question
Solved by:
Anlace
Solved:
Last query:
Last reply:
Revision history for this message
Tobias Wolf (towolf) said :
#1

There is much info in the Nvidia README. Can you read it and try to figure it out?
ftp://download.nvidia.com/XFree86/Linux-x86/173.14.05/README/appendix-b.html

Revision history for this message
Anlace (gail-laforest) said :
#2

Thank you Tobias. I hadn't thought of the ReadMe (doh!). Here is the link to the ReadMe file for the most current driver 173.14.09: http://us.download.nvidia.com/XFree86/Linux-x86/173.14.09/README/index.html. I will post again with the results of my work with this.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#3

In the "Device" section for the video card include the line :

  Option "IgnoreEDID" "1"

In the "Monitor" section include lines for your monitor

  Horizsync 28-100
  Vertrefresh 60-76

Values will vary depending upon your monitor, check the docs for it.

Revision history for this message
Anlace (gail-laforest) said :
#4

From the Nvidia ReadMe:

Option "IgnoreEDID" "boolean"

    This option is deprecated, and no longer affects behavior of the X driver. See the "UseEDID" option for details.

From the Monitor section:
 Horizsync 30.0-82.0
 Vertrefresh 50.0-75.0

As per ViewSonic's Specs for this monitor (http://viewsonic.com/support/lcddisplays/vx2025wm/#specs).

I have used these refresh rates in the past with Nvidia drivers in Ubuntu 6.1 and had it work like a charm but not with anything newer. Nothing that I have tried in xorg.conf seems to work, I admit to being frustrated with this. It's a decent monitor and a new vid card in a newly built PC, I would dearly love to use this hardware at least somewhat close to its capacity.

Here are the options that I've tried so far in xorg.conf. I get resolutions anywhere between 340x280 to 620x480 but nothing higher than that with any of the nvidia drivers. The xorg.conf log continues to say "Unable to validate any modes; falling back to the default mode "nvidia-auto-select"." Obviously the nvidia-auto-select is a very low resolution.

Here are some of the things I've tried so far with xorg.conf and have had no luck with so far:

 Option "ConnectedMonitor" "DFP"
 Option "UseEDID" "FALSE"
 Option "UseEDIDFreqs" "FALSE"
 Option "UseEDIDDpi" "FALSE"
 Option "ModeValidation" "NoEdidModes"
 Option "ExactModeTimingsDVI" "TRUE"
 Option "SLI" "Single"
 Option "DPI" "96 x 96"
 Option "IncludeImplicitMetaModes" "FALSE"

What am I missing? Am I trying to use options that are conflicting with one another? Why doesn't xorg respond like it used to and allow me to manually set up my monitor? dpkg-reconfigure xserver-xorg used to be perfect for inputting what I needed to just make it work, now even those old xorg.conf options are no longer working. Am I trying to achieve the impossible here?

Thank you for your replies, I am still hoping to figure this out one day soon.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#5

You've got the kernel module installed? (Clutching at straws)

Revision history for this message
Anlace (gail-laforest) said :
#6

Andy,

I am still running the system using the vesa driver, this is a working computer that needs to be stable and I simply haven't had time to tweek it in the last week.

I would very much like to have assistance with this problem and finding an acceptable work-around and/or solution if someone is available to help me troubleshoot tomorrow, Monday, July 21 (Pacific Standard Time). I'll have time to fuss with it after 10 am.

I will post any solution that presents itself, whether I come up with an answer myself or have assistance.

Thank you for the help so far!

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#7

You're on UTC-7 hours, I'm on UTC+2 which means 10am your time is 7pm my time. I should be able to be at home and online.

Revision history for this message
Anlace (gail-laforest) said :
#8

Good Morning/Evening,

Ok, where I would like to begin this morning is with the Nvidia binary driver setup. I will post as I progress through that. I will be using these steps:

https://help.ubuntu.com/community/NvidiaManual
I'm going to use the 173.14.05 driver (stable) instead of 173.14.09 (beta).

This is my xorg.conf file BEFORE I start, this is running the computer at 1680x1050 native resolution. I have edited out irrelevant sections (keyboard & mouse).

Section "Device"
 Identifier "Configured Video Device"
 Boardname "VESA driver (generic)"
 Busid "PCI:3:0:0"
 Driver "vesa"
 Screen 0
EndSection

Section "Monitor"
 Identifier "Configured Monitor"
 Vendorname "Generic LCD Display"
 Modelname "LCD Panel 1680x1050"
 Horizsync 30.0-82.0
 Vertrefresh 50.0 - 75.0
  modeline "800x600@56" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
  modeline "800x600@60" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
  modeline "1280x768@60" 80.14 1280 1344 1480 1680 768 769 772 795 -hsync +vsync
  modeline "1280x720@60" 74.48 1280 1336 1472 1664 720 721 724 746 -hsync +vsync
  modeline "1280x800@60" 83.46 1280 1344 1480 1680 800 801 804 828 -hsync +vsync
  modeline "1440x900@60" 106.47 1440 1520 1672 1904 900 901 904 932 -hsync +vsync
  modeline "1600x1024@60" 136.36 1600 1704 1872 2144 1024 1025 1028 1060 -hsync +vsync
  modeline "1680x1050@60" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -hsync +vsync
 Gamma 1.0
EndSection

Section "Screen"
 Identifier "Default Screen"
 Monitor "Configured Monitor"
 Device "Configured Video Device"
 Defaultdepth 24
 SubSection "Display"
  Depth 24
  Virtual 1680 1050
  Modes "800x600@60" "1280x768@60" "800x600@56" "1280x720@60" "1280x800@60" "1440x900@60" "1600x1024@60" "1680x1050@60"
 EndSubSection
EndSection

Section "ServerLayout"
 Identifier "Default Layout"
  screen 0 "Default Screen" 0 0
EndSection

Section "Module"
 Load "glx"
 Load "GLcore"
 Load "v4l"
EndSection

Section "ServerFlags"
EndSection

Revision history for this message
Anlace (gail-laforest) said :
#9

Other info (I need more coffee, sorry about the omission).

Before beginning I will be removing:

nvidia_new_glx (version 169.12+2.6.13-19.45)
nvidia-settings
nvidia-new-kernel-source
nvidia-kernel-common
xserver-xorg-video-nv

I have used Envy in the past with Ubuntu 7.04 and 7.1 with no luck so I didn't even bother to try it this time either.

Thanks for the help.

Revision history for this message
Anlace (gail-laforest) said :
#10

Cannot remove nvidia-kernel-common or xserver-xorg-video-nv.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#11

Ok, I'd be inclined to pare the config to the absolute minimum :

Section "Device"
 Identifier "Configured Video Device"
 Busid "PCI:3:0:0"
 Driver "nvidia"
EndSection

Section "Monitor"
 Identifier "Generic Monitor"
 Option "DPMS"
 Horizsync 30.0-82.0
 Vertrefresh 50-75
EndSection

Section "Screen"
 Identifier "Default Screen"
 Monitor "Configured Monitor"
 Device "Configured Video Device"
 Defaultdepth 24
 SubSection "Display"
  Depth 24
  Modes "1680x1050" "1280x720" "800x600""1680x1050@60"
 EndSubSection
EndSection

In my setup I have the IgnoreEDID option previously discussed, which I have from an old Debian installation, but left it in as it works.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#12

What're the errors removing those packages?

Revision history for this message
Anlace (gail-laforest) said :
#13

On Monday, July 21, 2008 11:44:08 am Andy Ruddock wrote:
> Your question #39299 on xorg-server in ubuntu changed:
> https://answers.launchpad.net/ubuntu/+source/xorg-server/+question/39299
>
> Status: Open => Needs information
>
> Andy Ruddock requested for more information:
> Ok, I'd be inclined to pare the config to the absolute minimum :
>
> Section "Device"
> Identifier "Configured Video Device"
> Busid "PCI:3:0:0"
> Driver "nvidia"
> EndSection
>
> Section "Monitor"
> Identifier "Generic Monitor"
> Option "DPMS"
> Horizsync 30.0-82.0
> Vertrefresh 50-75
> EndSection
>
> Section "Screen"
> Identifier "Default Screen"
> Monitor "Configured Monitor"
> Device "Configured Video Device"
> Defaultdepth 24
> SubSection "Display"
> Depth 24
> Modes "1680x1050" "1280x720" "800x600""1680x1050@60"
> EndSubSection
> EndSection
>
>
> In my setup I have the IgnoreEDID option previously discussed, which I have
> from an old Debian installation, but left it in as it works.

Ok, I will start with this xorg.conf file before installing the binary nvidia
drivers. I will post the results of that.

Thanks for the help Andy!

Revision history for this message
Anlace (gail-laforest) said :
#14

On Monday, July 21, 2008 11:46:09 am Andy Ruddock wrote:
> Your question #39299 on xorg-server in ubuntu changed:
> https://answers.launchpad.net/ubuntu/+source/xorg-server/+question/39299
>
> Andy Ruddock requested for more information:
> What're the errors removing those packages?

Removing nvidia-kernel-common would also remove:
linux-generic
linux-restricted-modules-2.6.24-19-generic
linux-restricted-modules-generic

Removing xserver-xorg-video-nv would also remove:
xserver-xorg-video-all

It seemed to me that removed all of those would cripple my system and that's
not the goal ;-)

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#15

This is the full xorg.conf file from my laptop at work, which uses the nvidia drivers.

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
 Identifier "Generic Keyboard"
 Driver "kbd"
 Option "XkbRules" "xorg"
 Option "XkbModel" "pc105"
 Option "XkbLayout" "no"
 Option "XkbVariant" "nodeadkeys"
 Option "XkbOptions" "lv3:ralt_switch"
EndSection

Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Option "CorePointer"
EndSection

Section "InputDevice"
 Identifier "Synaptics Touchpad"
 Driver "synaptics"
 Option "SendCoreEvents" "true"
 Option "Device" "/dev/psaux"
 Option "Protocol" "auto-dev"
 Option "HorizEdgeScroll" "0"
EndSection

Section "Device"
 Identifier "Configured Video Device"
 Driver "nvidia"
 Option "NoLogo" "True"
EndSection

Section "Monitor"
 Identifier "Configured Monitor"
EndSection

Section "Screen"
 Identifier "Default Screen"
 Monitor "Configured Monitor"
 Device "Configured Video Device"
 Defaultdepth 24
EndSection

Section "ServerLayout"
 Identifier "Default Layout"
 screen "Default Screen"
 Inputdevice "Synaptics Touchpad"
EndSection
Section "Module"
 Load "glx"
EndSection

Revision history for this message
Anlace (gail-laforest) said :
#16

The xorg.conf file suggested caused the xserver not to load, the screen continually flashing. I dropped into TTY3, rebooted into recovery mode, used x-fix, booted and used KDE's Kcontrol to reset my resolution from 800x600 (apparently the vesa default) to 1680x1050. I then hand-edited the xorg.conf file to use my monitors refresh rates. The resulting xorg.conf file looks identical to the one I posted above.

Back to square one.

I'm going to try the binary nvida driver now. I'll post how that works for me.

Thanks for the assist.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#17

Ok. Anything in /var/log/Xorg.0.log which might indicate the problem?

The nvidia packages installed on the laptop are :
nvidia-glx-new
nvidia-kernel-common
nvidia-settings

as well as :
linux-restricted-modules-common
linux-restricted-modules-generic

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#18

Here's something I've just found. Once you've got the nvidia binary driver installed try adding the following to your "Monitor" section.

Section "Monitor"
     ...
     Option "Metamodes" "1680x1050"
EndSection

Revision history for this message
Anlace (gail-laforest) said :
#19

The binary nvidia driver install went well except I am now on at 640x480 (1680x1050 virtual or I wouldn't be able to use my screen at all).

With this setup nvidia-glx-new would not work, I could get no acceptable resolutions at all.

Both of the restricted-modules packages you've listed are installed.

I am going to run through some of the things that I've done before in the past that have helped correct resolution issues. I'll keep posting. I need to take a break for about 2 hours then I will be back.

Thanks for the help.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#20

Ok, afraid I'll have to hit the sack before those two hours are up - must get up for work in the morning. I'll take a look at this in the morning - hopefully you'll just be reporting a success.

Revision history for this message
Anlace (gail-laforest) said :
#21

Thanks for your help Andy.

In case anyone else has been tracking this too, I installed the Nvidia driver with no joy. Resolution locked in at 640x480 but let me pan with a virtual resolution of 1680x1050. Once again the nvidia-auto-select mode is very low resolution. Interestingly in nvidia-settings the monitor is listed as DFP-0 with a native resolution of 640x480 but when I move to the monitor tab it claims a resolution of 1680x1050.

Once again I am using the vesa driver to get acceptable resolution.

Is there anyone else out there that would be willing to help me out with this? I dearly love Linux and all that it represents but this is frustrating to no end.

I am also going to post on the Nvidia forum though my experience in the past is that they tend to point fingers back to the distro in question.

Thanks again.

Revision history for this message
Anlace (gail-laforest) said :
#22

Still researching here and I have found that the EDID information from my monitor is corrupt. Not sure what I can do about that but since editing xorg.conf to ignore EDID isn't working something has got to give.

I'll keep posting until I find an answer.

Revision history for this message
Anlace (gail-laforest) said :
#23

I got the Nvidia driver to work when I plugged the analog cable from my monitor into the video card. That means using an adapter and it would be ideal to have digital but so far I do not see a noticeable difference.

I will keep researching restoring EDID information back into the monitor for its DVI connection, in the meantime this is an acceptable work around.

Thanks again for the help.

Revision history for this message
Anlace (gail-laforest) said :
#24

Sorry about all the posts but more info here.

I used the Nvidia Settings program to generate a valid EDID.bin profile, then I added the "Option "CustomEDID" "DFP-0:/path/to/edid.bin". I unplugged the analog cable, plugged in the digital and booted into perfect resolution.

When I ran sudo get-edid I still got a failure:

get-edid: get-edid version 1.4.1

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
        Function supported
        Call successful

        VBE version 300
        VBE string at 0x11110 "NVIDIA"

VBE/DDC service about to be called
        Report DDC capabilities

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
        Function supported
        Call successful

        Monitor and video card combination does not support DDC1 transfers
        Monitor and video card combination supports DDC2 transfers
        0 seconds per 128 byte EDID block transfer
        Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
        Read EDID

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
        Function supported
        Call failed

The EDID data should not be trusted as the VBE call failed
������Zc����+.���ZI�$PT����@qO1
!9�0b▒'@h�6��Q6Y062507673
�2KR
      �VX2025wm

But at least my monitor is running as it should in Linux.

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#25

Glad you managed to get it going. As a matter of interest, read-edid reports the same error on my laptop where the nvidia drivers work fine.

Revision history for this message
Anlace (gail-laforest) said :
#26

> Andy Ruddock posted a new comment:
> Glad you managed to get it going. As a matter of interest, read-edid
> reports the same error on my laptop where the nvidia drivers work fine.

That is interesting because I also had no problems at all until version 7.04
of Ubuntu. I figured that either Ubuntu or Xorg changed the way that data is
read from the monitor. What is frustrating about that is apparently any
xorg.conf EDID ignore/bypass/change directions are ignored, that's obvious
from the xorg.0.log when the Nvidia driver finds no valid modes. I admit
that my understanding of how display modes are determined is rudimentary at
best.

Interesting too is the fact that this monitor works fine in XP Pro and Home
even though the registry entry for EDID reads as BAD_EDID. It also works in
all varieties of OS X. Haven't tried Vista, my clients tend to get rid of it
after using it for a month or so and go back to XP (MS = job security). I
won't run Vista if there is any way possible to avoid it completely.

I am a computer support person on an island in the Pacific Northwest USA and
there are times, when I'm very busy, that I end up using this monitor on a
variety of computers and platforms. So possibly swapping it out caused the
EDID to corrupt.

At one point about a year into using this monitor the DVI port quit sending a
signal and all I could get from it was a black screen. I managed to get it
working again but that too may have caused EDID corruption.

What I wonder about is if new monitors are as prone to EDID corruption as
these older ones apparently are. I am going to look into a way to flash the
EDID info back to the monitor (if it doesn't take all day). Bottom line is
it's working.

Thanks for hanging in there yesterday!

Revision history for this message
Andy Ruddock (andy-ruddock) said :
#27

X is indeed a dark art. If you get any free time I heartily recommend the section of "The UNIX Haters Handbook" dedicated to X.
I have no knowledge of how the EDID is stored by monitors and how it might possibly become corrupt - I would have thought it would be hard-coded at manufacture as it's not going to change throughout the lifetime of the product.
Ah well... as long as you're up and going.

Revision history for this message
Zimmer (zimm-z) said :
#28

In the Screen section of xorg.conf I found that
Option "UseEdid" "False"
stopped the nvidia driver using edid data and forced the single mode I put for the monitor.

Still struggling with an ACER AL1511 but at least seem to have a consistent xorg.conf and a decent res.

Revision history for this message
DavidW (9-launchpad-ddwilliams-net) said :
#29

I know this is a stale thread - but it did help me
The trick is to use "UseEdid" "False"

I have an old LG monitor and a new widescreen projector - both ran fine in 1280x720 before I upgraded from 7.10 to 8.10
Event though the projector is 1280x720 native the new (8.10) ubuntu automatics report it as a CRT and set to 640x480 or 800x600 and it sticks at this no matter what you try.

Plug in the old L1810B and it only reports VESA 4:3 modes - which is no good - the EDID is fine - just as the screen is 4:3 there are no 16:9 or 16:10 modes listed.

So type in the correct stuff into xorg.conf, cross fingers, reboot - and now I get the choices I want!

So to help other sufferers: (^ marks a line I have added by hand - delete the ^ before using - but then you knew that anyway) and remember I am told that you can really **** your monitor if the mode line is not right - so at your own risk please...

Section "Monitor"
 Identifier "Configured Monitor"
^ VendorName "LG"

^ ModelName "L1810B"

^ HorizSync 30.0 - 70.0

^ VertRefresh 56.0 - 85.0

^ Option "dpms"
^ modeline "1280x720@60" 74.48 1280 1336 1472 1664 720 721 724 746 -hsync +vsync
^ modeline "1280x1024" 108.000 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
 EndSection

Section "Screen"
 Identifier "Default Screen"
 Monitor "Configured Monitor"
 Device "Configured Video Device"
 DefaultDepth 24
^ Option "UseEdid" "False"
 Option "AddARGBGLXVisuals" "True"
^ SubSection "Display"
^ Depth 24
^ Modes "1280x720@60" "1280x1024"
^ EndSubSection
EndSection

Section "Module"
 Load "glx"
EndSection

Section "Device"
 Identifier "Configured Video Device"
 Driver "nvidia"
 Option "NoLogo" "True"
EndSection

Revision history for this message
rwreed (randywreed) said :
#30

Anlace solution worked for me with one provisio, I have a dual monitor setup (VGA & DVI) the VGA worked fine the DVI was limited to 640x480 resolution. The Xorg log indicated an EDID error. I used nvidia-settings to acquire EDID but unlike with Anlace mine was not in GPU-0->DFP-0 but in GPU-0 -> CRT-0. Once the edid.bin file was generated and added to the Xorg.conf file as indicated by Anlace above the monitor worked wonderfully.