Xvfb & backing store: still not working
ijs at txcorp.com
Mon Apr 11 15:16:20 PDT 2005
I am writing to ask your advice on the backing store in Xvfb. I wrote
before on the same problem:
In my previous post I wrote that the xwd command would return errors
for some windows, which I must admit was caused by a bug in my script.
But the problem is far from being resolved. The backing store that I
got is not always working. I always get images of my windows, but
unfortunately they are not always right. I often get images of
The interesting thing is that sometimes the backing store works for
all 40 windows that I open, sometimes it works for a few windows, and
sometimes for none. I am unable to find something on which this might
Roland Mainz suggested that perhaps Xvfb doesn't set some hooks.
Therefore before calling miInitializeBackingStore(pScreen) I put into
InitOutput.c of Xvfb these lines:
pScreen->BackingStoreFuncs.SaveAreas = fbSaveAreas;
pScreen->BackingStoreFuncs.RestoreAreas = fbRestoreAreas;
I scanned the sources of xc/programs/Xserver/xfree86 for clues on what
other hooks to initialize or what might be missing in Xvfb, but
unfortunately found nothing.
Another idea was that Xvfb may fail with the memory allocation for the
BS pixmaps, which are created at
xc/programs/Xserver/mi/mibstore.c:3741. I ran my tests many times and
noticed that pixmap creation never fails at that point. Conclusion:
memory limits and pixmap creation are not the problem.
I debugged randomly a few places, and found one thing suspicious. The
ID of created BS pixmaps are always 0,
i.e. pBackingPixmap->drawable.id == 0 in
xc/programs/Xserver/mi/mibstore.c:miCreateBSPixmap. Do you think this
might be causing some troubles?
I would appreciate if someone could point me to what might be wrong
Thanks for reading.
More information about the xorg