Modeline autoadjusting problem

Marc Ferland mferland at harfangmicro.com
Thu Dec 18 14:23:40 PST 2008


On Thursday 18 December 2008 16:34:11 Olivier Galibert wrote:
> On Thu, Dec 18, 2008 at 03:47:23PM -0500, Marc Ferland wrote:
> > Seems like the modeline is adjusted by the driver _even_ if I specified
> > the LVDSFixedMode "false" option. I really don't know what to do next...
> > How can I force my modeline to the driver?
>
> You can't.  Looking at the code, there is no way to tell the system
> you know what you're doing.  ->mode_fixup is called unconditionally,
> and i830_lvds_mode_fixup has no toggle to switch itself off.  That
> mode fixup function takes lvds_fixed_mode as gospel, and seems to do
> part of the chipset programming, so you can't just disable it anyway.
> Strange.  lvds_fixed_mode itself can only come from bios or ddc, not
> config from what I can see.
>
> It's weird there isn't a generic high level way to tell X not to trust
> the roms and trust the config instead, when it comes to modelines,
> dpi, things like that.
>

Thanks for the info Oliver! I looked up the i830_lvds_mode_fixup function and 
added a dummy "return TRUE;" just after the :

>  /* If we don't have a panel mode there's not much we can do */
>     if (pI830->lvds_fixed_mode == NULL)
>         return TRUE;

check.

Now the modeline seems to be taken into account (from what I see from the 
register dump log). At least it works for me now...

I don't know if anyone from Intel could tell me if this is the default 
behavior? Like Oliver, I also think this is pretty strange. What's the 
purpose of having modelines in xorg.conf if there overwritten by the BIOS....

In my case, I use an LCD with no EDID info (this is for an embedded platform). 
And the BIOS that comes with the board has wrong modelines hardcoded into it.

Regards,

Marc




More information about the xorg mailing list