Dynamically enable/disable ShadowFB?

Karl J. Runge runge at karlrunge.com
Sat Jun 25 19:39:49 PDT 2005


Please forgive my naive question; my knowledge of the X server
implementation is very minimal.

I am wondering how difficult it would be to dynamically enable and disable
the ShadowFB during the course of an X server session.  Timing is not
an issue, a few seconds switching would be fine.  The main thing is to
maintain the connections to all of the X clients, perhaps requiring them
to refresh at the right time.

Ignoring what the switching interface should be (e.g. extension,
a module with its own signaling channel, etc.), I'm wondering if this
sort of switching is possible at all.  It may be too difficult to enable
something like this except at startup.

Background for my question: I have a "screen scraping" VNC server
http://www.karlrunge.com/x11vnc whose performance is limited by the slow
XShmGetImage/XGetImage speeds for most hardware (typically less than
~10MB/sec except for a few rare cases).  Use of the ShadowFB greatly
speeds up the GetImage (often 50-100 times) because of the shadowed
framebuffer in main memory.

The reason for the dynamic switching would be to only use the
unaccelerated ShadowFB when VNC clients are connected (usually a small
fraction of the time).  This is not for my own use: I am trying to come
up with something generally useful for the users of the tool besides
telling them to always use the unaccelerated ShadowFB driver.

Thanks very much,


More information about the xorg mailing list