Resolution

Differences between revisions 5 and 6
Revision 5 as of 2008-11-05 21:22:51
Size: 4989
Editor: c-67-168-233-128
Comment:
Revision 6 as of 2009-01-29 12:20:58
Size: 5248
Editor: 138
Comment: refresh rate problems
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
This typically happens when the graphics card is trying to use a resolution beyond what the monitor is capable of handling. This typically happens when the graphics card is trying to use a resolution (and refresh rate) beyond what the monitor is capable of handling.
Line 43: Line 43:
Review the {{{Xorg.0.log}}} to see how it interprets the EDID information and what resolution it arrived at. Often errors or warnings will indicate where it has gotten confused. For example, "Using fuzzy aspect match for initial modes" indicates it did not find a valid resolution and is extrapolating (evidently incorrectly).  * Review the {{{Xorg.0.log}}} to see how it interprets the EDID information and what resolution it arrived at. Often errors or warnings will indicate where it has gotten confused. For example, "Using fuzzy aspect match for initial modes" indicates it did not find a valid resolution and is extrapolating (evidently incorrectly).
Line 47: Line 47:
'''Refresh rates''':
 * Sometimes several refresh frequencies are available for the same resolution, and choosing one over another might help. A workaround is to adjust (restrict) the h/v sync ranges in the Monitor section, see below.

Over the years, Xorg has gotten much better at automatically detecting and configuring monitor resolutions.

For help on manually configuring screen resolutions, please see X/Config/Resolution. For procedures to troubleshoot resolution problems, read on.

How It Works

Computer monitors contain a small binary packet of information called Extended Display Information Data (EDID), which describes the monitor's size, modelines, etc. During startup or when a monitor is hotplugged, the X server queries this data from the monitor and uses it to set a resolution.

Problem: Monitor shows "Out of Range"

This typically happens when the graphics card is trying to use a resolution (and refresh rate) beyond what the monitor is capable of handling.

First, look and see if a resolution is hardcoded in your xorg.conf. These days this is rarely needed, but if you're using an xorg.conf from an older install or something, it could be set. Try moving aside your xorg.conf and boot without any xorg.conf so it's all auto-detected, or disable the resolution lines.

If booting with an auto-detected configuration doesn't work, then there is a deeper problem. Usually this indicates that the EDID information your monitor is providing is incorrect.

Workaround (for GNOME):

  • Start up Ubuntu in Recovery Mode and get a root prompt
  • Set GNOME to auto-login, by editing /etc/gdm/gdm.conf and setting AutomaticLoginEnable=true and AutomaticLogin to your preferred user account.

  • In your ~/.xprofile add a line to specify a safer resolution:

  # Depending on your video card, your output may be 
  # 'VGA-0', 'VGA0', 'DVI', 'LVDS', etc. instead of 'VGA'
  xrandr --output VGA --mode 1024x768

Workaround (for KDE):

  • Start up Ubuntu in Recovery Mode and get a root prompt
  • Hardcode the startup resolution in /etc/kde4/kdm/Xsetup (Change VGA to the proper name of your output, like DVI-1, LVDS, or whatever):

  xrandr --output VGA --mode 1024x768
  • Modify the mode 1024x768 to your preferred resolution in the above line

There may still be a brief 'out of range' error when the initial wallpaper is shown at full resolution, but then it shifts and login/normal operation follows.

Workaround (for XFCE)

  • Please fill this in

Troubleshooting Approach:

  • Review the Xorg.0.log to see how it interprets the EDID information and what resolution it arrived at. Often errors or warnings will indicate where it has gotten confused. For example, "Using fuzzy aspect match for initial modes" indicates it did not find a valid resolution and is extrapolating (evidently incorrectly).

The output from get-edid | parse-edid (from the read-edid package) can be used to examine the EDID more closely.

Refresh rates:

  • Sometimes several refresh frequencies are available for the same resolution, and choosing one over another might help. A workaround is to adjust (restrict) the h/v sync ranges in the Monitor section, see below.

Problem: Autodetection results in reduced resolutions available

X will boot up fine, but will come up with an invalid resolution. For instance, it may only provide resolutions 640x480 and 800x600. Both your monitor and card support combinations of resolutions much higher than that though.

Typically, this is caused by incorrect HorizSync and VertRefresh values. If you have either of these in your xorg.conf, try disabling them. If none are specified, then the next likelihood is that the default values being picked for your monitor are incorrect. You can check this by looking in your Xorg.0.log for something such as:

(II) Module "ddc" already built-in
(II) R128(0): VESA VBE DDC supported
(II) R128(0): VESA VBE DDC Level none
(II) R128(0): VESA VBE DDC transfer in appr. 2 sec.
(II) R128(0): VESA VBE DDC read failed
(==) R128(0): Using gamma correction (1.0, 1.0, 1.0)
(II) R128(0): Configured Monitor: Using default hsync range of 31.50-37.90 kHz
(II) R128(0): Configured Monitor: Using default vrefresh range of 50.00-70.00 Hz
(WW) R128(0): Unable to estimate virtual size

This indicates the system attempted to use DDC probing of the monitor but it failed, so it is using some generic defaults for hsync and vrefresh that are likely incorrect.

One thing to try is the NoDDC setting to shut off DDC detection:

Section "Device"
   ...
   Option "NoDDC" "1"
EndSection

A different approach is to override the h/v rates manually:

Section "Monitor"
        Identifier   "Monitor1"
        HorizSync    28.0 - 80.0
        VertRefresh  48.0 - 75.0
EndSection

Invalid EDID can also cause incorrect resolutions to be used. You can turn off EDID detection like this:

Section "Device"
   ...
   Option "IgnoreEDID" "1"
EndSection

If you turn off both DDC and EDID, you'll need to manually configure xorg.conf.

X/Troubleshooting/Resolution (last edited 2010-04-05 21:46:12 by pool-74-107-129-37)