--- trident_driver.c.ORIG 2006-04-08 03:50:26.000000000 +0200 +++ trident_driver.c 2006-11-07 13:52:23.000000000 +0100 @@ -2223,8 +2223,17 @@ } if (!pTrident->displaySize) { + int currentmode = (mod >> 4) & 3; + if (pTrident->Chipset == XP5) { + if (currentmode == 0) { + xf86DrvMsg(pScrn->scrnIndex, + X_INFO,"trident tells panel has 1280x1024 " + "but we believe it should be 1024x768\n"); + currentmode = 2; + } + } for (i = 0; LCD[i].mode != 0xff; i++) { - if (LCD[i].mode == ((mod >> 4) & 3)) { + if (LCD[i].mode == currentmode) { pTrident->lcdMode = i; xf86DrvMsg(pScrn->scrnIndex, X_PROBED,"%s Panel %ix%i found\n",