Re: CVS XFree86 i830 failure on DELL inspiron 2600

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 25, 2005 at 08:11:45PM -0500, David Dawes wrote:
> On Fri, Feb 25, 2005 at 04:05:43PM -0500, David Dawes wrote:
> >On Fri, Feb 25, 2005 at 07:35:37PM +0100, Nicolas Joly wrote:
> 
> >>- The missing 1024x768 mode, that was there with the previous realease
> >>  module, seems to be invalidated due to HSync not in default range.
> >>  I'm getting a value of 33.8, indeed outside from 28.00-33.00
> >>  range.
> >>  I'm currently thinking that the new `i830GetModePool()' function
> >>  does not give exactly the same results as `VBEGetModePool()'.
> >>  I can get this working mode back by increasing the HSync range to
> >>  28.00-34.00 kHz.
> >
> >In the absence of DDC-probed monitor parameters or explicitly specified
> >parameters, it seems that the fallback monitor defaults were not getting
> >set before VBEGetModePool() was called.  Thus, modes that should have
> >been excluded were not being excluded.  The vesa driver still has this
> >bug.  I'll look into fixing VBEGetModePool() to correctly handle this
> >situation, and add warnings to xf86CheckModeForMonitor() for when it is
> >called before monitor parameters are set.
> 
> I've committed some changes that fix this.
> 
> >This has been resolved in the current i830 driver, which accounts for
> >the change in behaviour that you are seeing.  However, in the case of
> >flat panels, the driver can and should set better default monitor
> >parameters, namely parameters that are consistent with a panel sized
> >mode at 60Hz refresh.  Most drivers probably still don't handle this
> >correctly.  I modified the neomagic driver to do this shortly before the
> >4.4.0 release, and that's a good example of how it can be done.
> 
> The changes I've just committed provide an easier way of doing this too.
> You might want to see if you can make use of this in the i830 driver.

I tried to run with the appended patch and got very good results !

The laptop now works at 1024x768 from a config file generated with
`-configure' option, without any modification ...

Index: i830_driver.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v
retrieving revision 1.62
diff -u -r1.62 i830_driver.c
--- i830_driver.c	18 Feb 2005 02:55:08 -0000	1.62
+++ i830_driver.c	28 Feb 2005 15:50:13 -0000
@@ -2643,6 +2643,19 @@
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
 	      "Maximum space available for video modes: %d kByte\n", memsize);
 
+   if (!pScrn->monitor->DDC) {
+	int n = pI830->pipe;
+        /*
+         * If the monitor parameters are not specified explicitly, set them
+         * so that 60Hz modes up to the panel size are allowed.
+         */
+        xf86SetMonitorParameters(pScrn, pScrn->monitor,
+                                 pI830->pipeDisplaySize[n].x2,
+                                 pI830->pipeDisplaySize[n].y2,
+                                 60);
+
+   }
+
    /* By now, we should have had some monitor settings, but if not, we
     * need to setup some defaults. These are used in common/xf86Modes.c
     * so we'll use them here for GetModePool, and that's all. 

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.
_______________________________________________
XFree86 mailing list
XFree86@xxxxxxxxxxx
http://XFree86.Org/mailman/listinfo/xfree86

[Index of Archives]     [X Forum]     [Xorg]     [XFree86 Newbie]     [IETF Announce]     [Security]     [Font Config]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux Kernel]

  Powered by Linux