Fixing Ubuntu display resolution settings using custom EDID

When my previous display started getting fuzzy, I plugged in another display and got a much clearer view until I rebooted. After the reboot, the display came up as 1280 x 1024 resolution instead of my usual 1600 x 1200. I went searching and found references to capturing the EDID from the display and correcting the EDID information. Using the Nvidia X Server Settings applet I captured the EDID, but the Phoenix editor was unable to open the file. In researching further, I was looking in the X-Server logs, and the binary data in the capture was the same as what I saw in the log file, so that at least checked out, and I have no idea why Phoenix can not open the file.

However, there is usually another method to the same destination. I plugged in my previous display and captured the EDID information from that display. Then I specified it in the "Screen" section of my xorg.conf file, snippet as follows:

Section "Screen"
Option "CustomEDID" "CRT-1:/etc/X11/edid-nokia_445za.dat"
EndSection

Note: I learned the correct device name from the X-Server log, in my case it was "CRT-1".

Upon reboot now, the clearer monitor comes up with 1600 x 1200 @ 85Hz refresh. Success!

I think this should also work for computers attached to a KVM switch, where the display adapter is unable to query the monitor with the KVM switch connected in between.

Bad syntax for "Screen" section, at least in Ubuntu 10.04.

In Ubuntu 10.04, at least, a "Screen" section needs an Identifier line. If I put your suggested text into /usr/lib/X11/xorg.conf.d/10-custom-edid.conf and restart, X fails to start and this text is inserted into /var/log/Xorg.0.log:

(==) Using config directory: "/usr/lib/X11/xorg.conf.d"
Parse error on line 3 of section Screen in file /usr/lib/X11/xorg.conf.d/10-custom-edid.conf
This section must have an Identifier line.

I haven't seen the right resolution for my EDID-less monitor yet, so there is at least one other issue too.

Clarification

Greetings Tim, I only showed the context of the one line to specify the custom EDID file. You add that one line to what ever else happens to be in that specific section of your xorg.conf file. I have used this procedure successfully with Ubuntu 10.04 and nVidia binary drivers. Hopefully you have equal success shortly. Thanks for your comment!