> First I try the vga16 frame buffer driver,but i can only get
> some black/white strips on the screen.(after made some changes
> to the source,most important one is use pci to find and set the
> vbase address).
It is hardwired into the vga16fb driver the memory region (0xA000). This
is very wrong on non intel platforms. So that drivers pretty much doesn't
work on anything else.
> Then I try to use vesa driver. This one use some vgabios code
> I commented out the x86 relevant codes and made it compiled,
The VESA framebuffer is also intel specific. It uses the BIOS to setup the
video mode. This is done long before the cpu is placed into protect mode.
> Finally I back port the Riva TNT frame buffer code to 2.2,the result
> is the same as the vesa driver.
Hum. Try a cat /dev/urandom > /dev/fb0. If you don't see anything then the
virtual memory address of the framebuffer is wrong. It could be that the
physical address is wrong (smem_start). Go to the fbdev website
(http://www.linux-fbdev.org) and download a tool called fbtest and give it