Files xf86-video-intel-2.2.0/src/bios_reader/bios_dumper and xf86-video-intel-2.2.0-r1/src/bios_reader/bios_dumper differ diff -NurpP xf86-video-intel-2.2.0/src/i830_driver.c xf86-video-intel-2.2.0-r1/src/i830_driver.c --- xf86-video-intel-2.2.0/src/i830_driver.c 2007-11-15 19:02:59.000000000 +0100 +++ xf86-video-intel-2.2.0-r1/src/i830_driver.c 2007-11-27 16:33:20.946482890 +0100 @@ -296,6 +296,7 @@ typedef enum { OPTION_INTELTEXPOOL, #endif OPTION_TRIPLEBUFFER, + OPTION_NOPROGRAMMED, } I830Opts; static OptionInfoRec I830Options[] = { @@ -318,6 +319,7 @@ static OptionInfoRec I830Options[] = { {OPTION_INTELTEXPOOL,"Legacy3D", OPTV_BOOLEAN, {0}, FALSE}, #endif {OPTION_TRIPLEBUFFER, "TripleBuffer", OPTV_BOOLEAN, {0}, FALSE}, + {OPTION_NOPROGRAMMED, "NoProgrammed", OPTV_BOOLEAN, {0}, FALSE}, {-1, NULL, OPTV_NONE, {0}, FALSE} }; /* *INDENT-ON* */ @@ -1336,6 +1338,9 @@ I830PreInit(ScrnInfoPtr pScrn, int flags xf86DrvMsg(pScrn->scrnIndex, from, "IO registers at addr 0x%lX\n", (unsigned long)pI830->MMIOAddr); + if (xf86ReturnOptValBool(pI830->Options, OPTION_NOPROGRAMMED, FALSE)) + pI830->noProgrammedMode = TRUE; + /* check quirks */ i830_fixup_devices(pScrn); diff -NurpP xf86-video-intel-2.2.0/src/i830.h xf86-video-intel-2.2.0-r1/src/i830.h --- xf86-video-intel-2.2.0/src/i830.h 2007-11-14 19:59:42.000000000 +0100 +++ xf86-video-intel-2.2.0-r1/src/i830.h 2007-11-27 16:35:21.945308103 +0100 @@ -460,6 +460,7 @@ typedef struct _I830Rec { Bool useEXA; Bool noAccel; + Bool noProgrammedMode; Bool SWCursor; #ifdef I830_USE_XAA XAAInfoRecPtr AccelInfoRec; Files xf86-video-intel-2.2.0/src/.i830.h.swp and xf86-video-intel-2.2.0-r1/src/.i830.h.swp differ diff -NurpP xf86-video-intel-2.2.0/src/i830_lvds.c xf86-video-intel-2.2.0-r1/src/i830_lvds.c --- xf86-video-intel-2.2.0/src/i830_lvds.c 2007-11-15 19:02:59.000000000 +0100 +++ xf86-video-intel-2.2.0-r1/src/i830_lvds.c 2007-11-27 16:32:59.946686779 +0100 @@ -906,7 +906,7 @@ i830_lvds_init(ScrnInfoPtr pScrn) /* If we didn't get EDID, try checking if the panel is already turned on. * If so, assume that whatever is currently programmed is the correct mode. */ - if (dev_priv->panel_fixed_mode == NULL) { + if (dev_priv->panel_fixed_mode == NULL && !pI830->noProgrammedMode) { CARD32 lvds = INREG(LVDS); int pipe = (lvds & LVDS_PIPEB_SELECT) ? 1 : 0; xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);