diff -up xf86-video-mga-1.6.2/src/mga_driver.c.jx xf86-video-mga-1.6.2/src/mga_driver.c --- xf86-video-mga-1.6.2/src/mga_driver.c.jx 2013-05-20 16:14:10.000000000 -0400 +++ xf86-video-mga-1.6.2/src/mga_driver.c 2013-05-20 16:14:48.381607479 -0400 @@ -2004,7 +2004,12 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) xf86DrvMsg(pScrn->scrnIndex, from, "Using %s cursor\n", pMga->HWCursor ? "HW" : "SW"); - if (xf86ReturnOptValBool(pMga->Options, OPTION_NOACCEL, FALSE)) { + if (xf86ReturnOptValBool(pMga->Options, OPTION_SHADOW_FB, TRUE)) { + pMga->ShadowFB = TRUE; + pMga->NoAccel = TRUE; + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, + "Using \"Shadow Framebuffer\" - acceleration disabled\n"); + } else if (xf86ReturnOptValBool(pMga->Options, OPTION_NOACCEL, FALSE)) { pMga->NoAccel = TRUE; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Acceleration disabled\n"); } else { @@ -2051,12 +2056,6 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags) (1 << pScrn->offset.green) | (((pScrn->mask.blue >> pScrn->offset.blue) - 1) << pScrn->offset.blue); } - if (xf86ReturnOptValBool(pMga->Options, OPTION_SHADOW_FB, FALSE)) { - pMga->ShadowFB = TRUE; - pMga->NoAccel = TRUE; - xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, - "Using \"Shadow Framebuffer\" - acceleration disabled\n"); - } if (xf86ReturnOptValBool(pMga->Options, OPTION_OVERCLOCK_MEM, FALSE)) { pMga->OverclockMem = TRUE; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Overclocking memory\n");