Display Defaults To Low-Resolution In Ubuntu

General questions regarding Linux.

Moderators: Terry, FWLUG Administrator

Display Defaults To Low-Resolution In Ubuntu

Postby Randy » Mon May 10, 2010 11:07 am

All,

As some of you know, we ran into this little problem with one of the machines that Dave brought to Saturday's meeting:

You've installed Ubuntu (any recent version, so it would seem; Dave had installed Ubuntu 10.04), installed the nVidia driver and used a particular monitor during the install. Now, you've switched monitors and find out that you can't get a resolution any higher than 640x480. Why?

As we learned on Saturday, the Dell CRT monitor that was connected to this particular system was just old enough that Ubuntu was unable to detect what it's capabilities were. This is done via EDID. According to Wikipedia (http://en.wikipedia.org/wiki/EDID), "Extended display identification data (EDID) is a data structure provided by a computer display to describe its capabilities to a graphics card. It is what enables a modern personal computer to know what kind of monitor is connected."

Consequently, it used the fail-safe resolutions for standard VGA. You can verify this by using the xrandr utility which will show you minimum, current, and maximum resoltuions available. Just open up a terminal to use to use it.

Let's look at the Xorg server configuration under Ubuntu. Here's an example of what a typical /etc/X11/xorg.conf file looks like with the nVidia driver being loaded:

Code: Select all
Section "Screen"
   Identifier   "Default Screen"
   DefaultDepth   24
EndSection

Section "Module"
   Load   "glx"
EndSection

Section "Device"
   Identifier   "Default Device"
   Driver   "nvidia"
   Option   "NoLogo"   "True"
EndSection


If you're familiar with previous versions, particularly in the old days of XFree86, it's pretty sparse. Everything appears to be done through auto-detection now. What we did to work around the problem was for Terry to get the monitor specifications (what resolutions would it support) off the Internet. Next we made an addition to /etc/X11/xorg.conf by adding the HorizSync (in kHz) and VertRefresh (in Hz) values to the "Monitor" section of the xorg.conf file. Note, that my example above does not have this section defined.

Code: Select all
Section "Monitor"
        Identifier   "Configured Monitor"
        HorizSync    30-107
        VertRefresh  50-70
EndSection


I suspect Section "Monitor" gets added to the xorg.conf file when the display doesn't report EDID information. Adding the HorizSync/VertRefresh values gave us various resolutions and got the display up to 1024x768. We found out later that the monitor would go to an even higher resolution, but we left it at that. Most modern flat-screen displays should provide EDID data to the Xorg server. If one doesn't, this may help you to work around the problem.

Additionally, while writing this up, I discovered a package called "read-edid" in the Ubuntu repository. This installs get-edid and parse-edid and should be used via a pipeline command:

Code: Select all
get-edid | parse-edid


The output on the above doesn't mean much to me, but it should let you know if the display supports EDID or not. Dave/Terry feel free to add to this in case there is something that I left out. :)
Last edited by Randy on Mon May 10, 2010 2:45 pm, edited 1 time in total.
Reason: Change title to be more descriptive
-- Randy
User avatar
Randy
Site Admin
 
Posts: 351
Joined: Mon Feb 13, 2006 9:45 pm
Location: Fort Worth, Texas

Re: Display Defaults To Low-Resolution In Ubuntu

Postby maczimus » Mon May 10, 2010 5:58 pm

I am glad you guys figured it out!
User avatar
maczimus
 
Posts: 101
Joined: Fri Jul 06, 2007 8:40 pm
Location: Fort Worth


Return to FWLUG General Discussions

Who is online

Users browsing this forum: No registered users and 12 guests

cron