diff --git a/src/i830_lvds.c b/src/i830_lvds.c index 18e5c2b..54a4838 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -563,6 +563,17 @@ i830_lvds_init(ScrnInfoPtr pScrn) bios_mode = i830_bios_get_panel_mode(pScrn, &dev_priv->panel_wants_dither); if (bios_mode != NULL) { if (dev_priv->panel_fixed_mode != NULL) { + /* Fixup for a 1366x768 panel with the horizontal trimmed + * down to 1024 for text mode. + */ + if (!xf86ModesEqual(dev_priv->panel_fixed_mode, bios_mode) && + bios_mode->HDisplay == 1366) + { + xfree(dev_priv->panel_fixed_mode->name); + xfree(dev_priv->panel_fixed_mode); + dev_priv->panel_fixed_mode = xf86DuplicateMode(bios_mode); + } + /* Fixup for a 1280x768 panel with the horizontal trimmed * down to 1024 for text mode. */