[Xorg] Question about X Server Internal

Vladimir Dergachev volodya at mindspring.com
Sat Aug 21 16:00:10 PDT 2004

On Sun, 22 Aug 2004, Amir Bukhari wrote:

> I have some basic Questions on X Server. may be this very simple for
> experience programmer on X Server.
> 1- what I am trying since one week, is to find how a Window (including
> GC operations) is drawn to screen. I search for the code which write to
> the framebuffer of the video card. I know that cfb and mfb do that, but
> still not find where they access the framebuffer. The video card driver
> should export the framebuffer for its device to ddx layer. Could you
> describe how cfb code access the framebuffer or simple which structure
> store the framebuffer address?.

Most accelerated drivers do not access framebuffer directly, just cause 
the card to perform the corresponding operation.

> 2- is there a different between XImage and Pixmap?

AFAIK, XImage is a structure that is used for exchanging image data with 
Xserver (using, for example, shared memory).

Pixmap is an area you can draw to. In particular, pixmaps can be allocated 
directly in video memory.

The difference comes from the fact that XImage structure is located in 
your application virtual memory, but pixmap is located in Xserver virtual 

The Pixmap value that your application has is just a handle used to tell 
Xserver which pixmap you are using.

> 3- does the X server save always a copy of a window image, so that when
> copying the window to others window, also the portion of the window
> which not visible, is taken?

AFAIK not, in fact it usually does not double buffer at all.


                             Vladimir Dergachev

> for me Question 1 is important.
> -Amir
> _______________________________________________
> xorg mailing list
> xorg at freedesktop.org
> http://freedesktop.org/mailman/listinfo/xorg

More information about the xorg mailing list