After setting DefaultDepth in config file to 1 or 4, xorg crashes at start with "Caught signal 8. Server aborting". Problem lies in lines 2984-2992 of trident_driver.c: int cpp = pScrn->bitsPerPixel / 8; int area = AvailFBArea.y2 * pScrn->displayWidth; int areaoffset = area * cpp; xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using %i scanlines of offscreen memory for area's \n", AvailFBArea.y2 - pScrn->virtualY); if (xf86InitFBManagerLinear(pScreen, area, ((pTrident->FbMapSize/cpp) - area))) { For depths lower than 8 cpp is initialized to 0, then division by zero raises SIGFPE.
This bug is at least since Xorg 6.7 (introduced after XFree86 4.3). With XFree86 4.3 server starts but gives garbled output. As nobody noticed nor cared for so long time I suggest removing whole 1 and 4 bpp support from this driver (patch attached).
Created attachment 748 [details] [review] Patch removing 1 and 4 bpp support
applied to HEAD, thanks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.