Rage128 (esp. RageM3) bad line length issue - I figured it out...

Derrik Pates dpates at dsdk12.net
Wed Nov 28 06:00:28 EST 2001


I finally determined why it is that the XFree Rage128 driver always gets
the wrong framebuffer row width. In XFree 4.1.0's source, in
xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c, lines 1105 to
1118 call XF86ValidateModes with a minPitch of 8 * 64 (512) and a max
pitch of 8 * 1024 (8192). The default pitch increment value is 64 *
pScrn->bitsPerPixel, such that the row width is ALWAYS a multiple of 64.
However, on the Rage M3 that laptops with an 800x600 LCD panel, like the
original iBook and iBookSE (and the FireWire versions) are outfitted with,
the 800-pixel row width is NOT, EVER, a multiple of 64. I tried changing
the pitch increment to 16 * pScrn->bitsPerPixel, and the X server then
correctly determined the real row width (of 800 pixels) by itself, with no
forcing and no other help. Please correct this before 4.2.0's release -
the CVS HEAD version has the same (too large) pitch increment, and should
be corrected.

Also, sorry about the crosspost to three lists, but I believe that this is
relevant to all these lists. If you reply to this message, please remove
references to the other mailing lists.

Derrik Pates      |   Sysadmin, Douglas School   |    #linuxOS on EFnet
dpates at dsdk12.net |     District (dsdk12.net)    |    #linuxOS on OPN


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list