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