[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: framebuffer



> Thanx for the reply.What I am asking is that the frame buffer mode is like
> a Standard VGA,where u don't have the card specific driver but it will run
> on
> any card without the driver.Let's take a eg of a bitmap .We will assume
the
> resolution to be 800x600.Now for each pixel there will be a entry in the
> video
> memory of tha value.If it's 8bpp then there will be 8 bits per pixel,if it
> is
> 16bpp then there will be 16 bits in the Video RAM.This is what decides the
> size
> of the Video RAM.Now the VGA contoller reads in the value accordinglty and
> adjusts the RGB value and puts it on the screen.It's the driver that
writes
> it on the
> Video RAM the pixelvalues.In what way does this differ in the frame buffer
> mode?
> And how it does?fundamentally what does this frame buffer mean when
compared
> to
> the above mentioned normal process.

the basic concept of framebuffer under linux is slightly different. All the
videocards out there have a framebuffer. This is accessed thru a video
driver. The reason why you need the video driver is that firstly the video
driver sets up this framebuffer for your app and once that is done, the
video driver is also used to interface with the video chipset to provide
acceleration! Things like mouse pointers, etc are normally handled by the
hardware, for which u need the video driver. Anything that cannot be
accelerated is output directly to the video card's frame buffer. Now under
linux, say for running X u wud normally need a driver for your video card in
the x server, which then sets up the video mode and the framebuffer. The
twist that i guess is confusing u is that this feature can also be provided
by the linux kernel. The linux kernel provides a framebuffer interface! When
u do this the video drivers are not in the X server, but in the kernel. To
run X using these kernel drivers, u run it in framebuffer mode! The whole
thing might be a bit confusing at first, but basically here there are 2
framebuffers in question, the first one is the actual framebuffer provided
by your video card hardware, which contains the actual data that u see on
your monitor. The other framebuffer is the linux kernel's interface for this
framebuffer!

Bye,
    /\ |\/| |3 /\ r