X woes - can't set the correct resolution no matter what...

Phil Meyer pmeyer at themeyerfarm.com
Thu Jul 12 15:28:15 UTC 2007


Valent Turkovic wrote:
> Hi.
>
> I have Fedora Core 6 and by default it choose i810 driver for X for my
> Intel 915 chip. 
> With i810 driver I had no problem using only my laptop screen - but when
> I connected external 19" screen all hell broke loose :) to be a bit
> poetic. or more to the point:
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238747
>
> In my comment #8 you can see that I changed to intel driver, but even
> that still doesn't work like I expect.
>
> I need my external monitor running at it's full resolution of
> 1280x1024 and desktop also at that resolution. I got desktop running
> with 1280x1024 but only on a 1024x768 screen resolution

It is probably not the driver, but your external monitor that has a problem.

One of the things that most of the current video drivers do is ask the 
monitor for its EDID.  In this data, the monitor reports its max 
Horizontal avd Vertical scan rates.  Look in /var/log/Xorg.0.log for 
EDID.  Here is an example:

(II) VESA(0): Year: 2006  Week: 0
(II) VESA(0): EDID Version: 1.3
(II) VESA(0): Digital Display Input
(II) VESA(0): Max H-Image Size [cm]: horiz.: 37  vert.: 23
(II) VESA(0): Gamma: 2.20
(II) VESA(0): No DPMS capabilities specified; RGB/Color Display
(II) VESA(0): First detailed timing is preferred mode
(II) VESA(0): redX: 0.614 redY: 0.353   greenX: 0.321 greenY: 0.561
(II) VESA(0): blueX: 0.152 blueY: 0.124   whiteX: 0.313 whiteY: 0.329
(II) VESA(0): Manufacturer's mask: 0
(II) VESA(0): Supported additional Video Mode:
(II) VESA(0): clock: 162.0 MHz   Image Size:  367 x 230 mm
(II) VESA(0): h_active: 1920  h_sync: 1968  h_sync_end 2000 h_blank_end 
2160 h_border: 0
(II) VESA(0): v_active: 1200  v_sync: 1201  v_sync_end 1204 v_blanking: 
1250 v_border: 0

If you scroll down through the log, you can see where all possible 
resolutions are gone through and it may even tell you why it decided on 
1024x768.

There are monitors that give bad data in the EDID (DDC).  For instance, 
the old version of the DELL 24" display was .1 (yes point 1) off, and 
therefore by default no driver would go above 1600x1200.  With that 
monitor it was necessary to tell the video driver to ignore the EDID 
data and simply do what was asked. :)

Here is how that is done:

Add values to the Monitor section that are at least capable of the 
resolution you need.

Section "Monitor"
...
        HorizSync    31.5 - 90.0
        VertRefresh  60.0 - 60.0
...

Now, in the screen section, tell it to ignore that part of the the EDID.

Section "Screen"
...
        Option      "ModeValidation" "NoMaxPClkCheck"
...

Hope this may help ya.

Good luck!




More information about the fedora-list mailing list