Hi,
I happened to find my old Riva128 card and tried the rivafb driver.
Noticed that color (and the logo)is wrong at > 8bpp.
Looking at the code, it exports the visual as FB_VISUAL_DIRECTCOLOR at
16 and 32 bpp, but the DAC was not set up as such. Also the palette is
set up as Truecolor.
What I found interesting was that accessing the framebuffer directly,
the pixel must be in directcolor (with a properly configured DAC) but
using the accel functions, the pixel value that is passed must be in
truecolor format.
I'm not sure if this is true for all NV hardware, but I'm attaching a
patch that fixed this problem for the Riva 128 at least. If no other
archs are affected, I'll fix the patch to be specific for NV_ARCH_03
only. (patch is against 2.4.19)
Tony
PS:
James,
While doing this, I was able to modify the rivafb 2.5 driver and included
hardware supported drawing functions. I'm planning to port the hardware cursor as well.
You may wish to work with other cards then.
(Ani, only if you don't mind -- since I'm planning to revive an old box using the
Riva card and rivafb)
|