Bogus video resolution in Linux 3.5-rc4

Takashi Iwai tiwai at suse.de
Mon Jun 25 12:24:01 PDT 2012


At Mon, 25 Jun 2012 19:40:48 +0200,
Sven Joachim wrote:
> 
> Am 25.06.2012 um 17:53 schrieb Takashi Iwai:
> 
> > Looking at the EDID data, the problem is likely that your monitor
> > doesn't give the proper preferred mode.
> > What does xrandr output show?
> 
> ,----
> | Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 8192 x 8192
> | DVI-I-1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
> |    1280x1024      75.0*    60.0  
> |    1024x768       75.1     75.0     70.1     60.0  
> |    832x624        74.6  
> |    800x600        72.2     75.0     60.3     56.2  
> |    640x480        72.8     75.0     66.7     60.0     59.9  
> | VGA-1 disconnected (normal left inverted right x axis y axis)
> `----
> 
> I should note that the monitor is actually connected via VGA, not DVI.
> This seems to be similar to https://bugs.freedesktop.org/50830, but
> since it never caused any real problems for me, I didn't bother.
> 
> > And, does the patch below help?
> 
> Somewhat: at least I get 1280x1024 again, but at 60 rather than 75 Hz.

I guess it worked casually because 1280x1024 at 75 was the highest
resolution / rate, so it was picked up as the preferred mode...

> The xrandr command shows various bogus modes.

Can't these values be displayed on your monitor at all?
If they can be displayed, they are valid modes, not really bogus.
After all, they are values that EDID of your montor advertises as
available ranges.


Takashi

> ,----
> | Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 8192 x 8192
> | DVI-I-1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
> |    1280x1024      60.0*+   75.0  
> |    1680x945       60.0  
> |    1400x1050      60.0  
> |    1600x900       60.0  
> |    1440x900       75.0     59.9  
> |    1280x960       60.0  
> |    1366x768       60.0  
> |    1360x768       60.0  
> |    1280x800       74.9     59.8  
> |    1152x864       75.0  
> |    1280x768       74.9     59.9  
> |    1024x768       75.1     75.0     70.1     60.0  
> |    1024x576       60.0  
> |    832x624        74.6  
> |    800x600        72.2     75.0     60.3     56.2  
> |    848x480        60.0  
> |    640x480        75.0     72.8     72.8     66.7     60.0     59.9  
> | VGA-1 disconnected (normal left inverted right x axis y axis)
> `----
> 
> Cheers,
>        Sven
> 
> 
> > ---
> > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> > index 5873e48..dab8580 100644
> > --- a/drivers/gpu/drm/drm_edid.c
> > +++ b/drivers/gpu/drm/drm_edid.c
> > @@ -116,6 +116,7 @@ static struct edid_quirk {
> >  
> >  	/* Proview AY765C */
> >  	{ "PTS", 765, EDID_QUIRK_FIRST_DETAILED_PREFERRED },
> > +	{ "PTS", 793, EDID_QUIRK_FIRST_DETAILED_PREFERRED },
> >  
> >  	/* Samsung SyncMaster 205BW.  Note: irony */
> >  	{ "SAM", 541, EDID_QUIRK_DETAILED_SYNC_PP },
> > @@ -1404,7 +1405,9 @@ do_detailed_mode(struct detailed_timing *timing, void *c)
> >  		if (!newmode)
> >  			return;
> >  
> > -		if (closure->preferred)
> > +		if (closure->preferred ||
> > +		    ((closure->quirks & EDID_QUIRK_FIRST_DETAILED_PREFERRED) &&
> > +		     !closure->modes))
> >  			newmode->type |= DRM_MODE_TYPE_PREFERRED;
> >  
> >  		drm_mode_probed_add(closure->connector, newmode);
> 


More information about the dri-devel mailing list