Intel 2.0.0 driver not seeing laptop screen resolutions properly

Greg KH greg at kroah.com
Fri May 18 23:09:22 PDT 2007


On Fri, May 18, 2007 at 10:41:27PM -0700, Keith Packard wrote:
> On Fri, 2007-05-18 at 15:23 -0700, Greg KH wrote:
> > On Tue, May 08, 2007 at 10:02:02PM -0700, Keith Packard wrote:
> > > On Tue, 2007-05-08 at 21:21 -0700, Eric Anholt wrote:
> > > 
> > > > So, we lose out on starting X after a resume from S3 has happened, on
> > > > that hardware (which, as I understand, is not uncommon)?  That seems
> > > > like a recipe for even more pain than the current situation.
> > > 
> > > I don't know which is more common -- hardware that unmaps the BIOS on S3
> > > resume or hardware which has bogus parameters in the video registers.
> > > And, at this point, we're at 'failing to ever work' being worse than
> > > 'failing to work after S3'.
> > > 
> > > In any case, we should certainly add config options that can control
> > > which method (video reg vs BIOS) we use for the initial mode selection.
> > 
> > Well, as the current driver version, from git, still is broken for my
> > laptop, I do agree that this should be some kind of option :)
> 
> 
> > Any help I can provide with testing?
> 
> Have you tried disabling the code that loads the mode from the video
> registers and verifying that it works for you?
> 
> Check i830_lvds.c around line 486; the code which calls
> i830_crtc_mode_get should just be disabled, and it should then use the
> BIOS table mode instead.
> 
> If this works, I'll code up an option that lets us switch between these
> two mechanisms.

Yup, this worked great, the patch I used is below, thanks.

> One other thing we can do is stick code that makes sure the current mode
> is reasonably sane; in your case, we can see a huge blanking period
> which makes no sense for normal panel usage. That should give us a clue
> as to which mode to believe.

Ok, if you need me to test anything, please let me know.

thanks,

greg k-h


diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index 566c868..602d597 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -493,9 +493,9 @@ i830_lvds_init(ScrnInfoPtr pScrn)
 	xf86CrtcPtr crtc = xf86_config->crtc[pipe];
 
 	if (lvds & LVDS_PORT_EN) {
-	    dev_priv->panel_fixed_mode = i830_crtc_mode_get(pScrn, crtc);
-	    if (dev_priv->panel_fixed_mode != NULL)
-		dev_priv->panel_fixed_mode->type |= M_T_PREFERRED;
+//	    dev_priv->panel_fixed_mode = i830_crtc_mode_get(pScrn, crtc);
+//	    if (dev_priv->panel_fixed_mode != NULL)
+//		dev_priv->panel_fixed_mode->type |= M_T_PREFERRED;
 	}
     }
 



More information about the xorg mailing list