On Sat, Jan 10, 2004 at 10:07:15PM -0500, Jonathan Thambidurai wrote: >I discovered two problems (and have attached basic fixes) with the fbdev >code. First, rotation (portrait mode) is messed up; disabling xrandr in >the fbdev driver fixes this (though xrandr should probably only be >disabled when rotation is specified in XF86Config, as is done in the sis >driver; my patch doesn't do this). Second, the fbdev driver doesn't >allow 24 bpp (I don't know if this was intentional, but it looked like >there was some initialization code which handled a 24 bpp depth). >Lastly, 24-bit rotation is quite corrupt; maybe this should be disabled >completely instead of giving a warning about corruption? The shadow >rotation code doesn't seem to handle 24 bpp rotation at all.
The 24-bit flags argument to xf86SetDepthBpp() should probably be: Support24bppFb | Support32bppFb | SupportConvert32to24 | PreferConvert32to24 Since the actual framebuffer format is passed explicitly, this should be safe in all cases. It will then default to using 32-bit bpp for depth 24 pixmaps. It is possible that this change will fix the rotation problem you are seeing at 24-bit. It would be better to disable randr only when rotation is enabled. Have you tried adding it to the else part of the following: if (!fPtr->rotate) FBDevDGAInit(pScrn, pScreen); else { xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n"); if (pScrn->bitsPerPixel == 24) xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp \n"); } David -- David Dawes X-Oz Technologies www.XFree86.org/~dawes www.x-oz.com _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel