:>I should know better than this, but I've just upgraded my Diamond
:>Stealth 64 Video VRAM (S64VV) to 4MB VRAM. In the manual for S64VV,
:>it says that you can get 24 bit color at 1280x1024 with 4MB. The
:>XF86_S3 server does not allow this, though.
:>4MB = 4194304 bytes...
:>3 bytes X 1280 X 1024 = 3932160 (Fits if pixels are packed)
:>4 bytes X 1280 X 1024 = 5242880 (Does not fit for aligned pixels)
:>I'm guessing that the XF86_S3 server uses nice, fast, aligned, 32-bit
:>words in the frame buffer for each pixel, and that Diamond's claim is
:>probably based on a slower windoze driver that actually packs the
:>pixels into 24 bits per pixel, at the cost of a performance hit for
:>misaligned memory access.
:>My question is, is there a way to make the XF86_S3 driver pack the
:>pixels, take the performance hit, and give me 1280x1024x24? (Without,
:>that is, rewriting the S3 driver ;)
:>Any hints/tips are greatly appreciated.
XFree86 3.3 will do 24 and 32 bpp with the XF86_S3V driver. However,
the maximum dot clock at those resolutions drops rather precipitously.
It depends what kind of card you have. I have the stealth 3D 3001, with
4MB of ram.
At 8 bits, the maximum dot clock is 135 MHz - 1600x1280 can be done
At 16 bits, the maximum dot clock is 95 MHz - 1280x1024 can be done
I can run the screen at 53 KHz without seeing any flicker (except for
very bright white windows). I also have an 1152x900 mode that runs
at 66 KHz.
Considering how cheap the card was, this is a major deal.
I had Xfree86 3.2 installed on my system, and just popped into
ftp.freebsd.org and snarfed the 2.2 binary for 3.3's XF86_S3V server
rather then recompile everything. It works like a charm.