diff -ur mga.0/src/mga_driver.c mga.1/src/mga_driver.c --- mga.0/src/mga_driver.c 2007-03-07 14:17:40.000000000 -0500 +++ mga.1/src/mga_driver.c 2007-03-07 15:17:35.000000000 -0500 @@ -1488,7 +1488,14 @@ /* Check that the returned depth is one we support */ switch (pScrn->depth) { case 8: + break; case 15: + if (pMga->is_G200SE_A) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Given depth (%d) is not supported by this driver\n", + pScrn->depth); + return FALSE; + } case 16: case 24: /* OK */ @@ -1501,24 +1508,6 @@ } } - if (pMga->is_G200SE_A) { - pMga->FbAddress = pMga->PciInfo->memBase[0] & 0xff800000; - pMga->IOAddress = pMga->PciInfo->memBase[1] & 0xffffc000; - pMga->ILOADAddress = pMga->PciInfo->memBase[2] & 0xffffc000; - pScrn->videoRam = 8192; - pMga->FbMapSize = pScrn->videoRam * 1024; - MGAMapMem(pScrn); - if (INREG(0x1E24) == 0x1) { - if ((pScrn->bitsPerPixel == 24) && (pScrn->depth == 24)) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Given color and fb depth combination not supported by this driver\n", - pScrn->depth); - return FALSE; - } - } - MGAUnmapMem(pScrn); - } - xf86PrintDepthBpp(pScrn); /*