Hi all, A couple of weeks ago, I decided to install the latest version of compiz on my old Thinkpad R50e, which has an intel 855GM integrated graphics controller. I have Fedora 9 installed on it which comes with X.org 7.3 which I configured to run in 16bit (DefaultDepth in /etc/X11/xorg.conf). So I got the RPMs installed and ran it: the screen turns into plain white and the desktop isn't useable anymore. However, the 3D desktop cube is there and what I get is actually a cube with white 4 faces/textures. I looked up the internet and I managed to restore the normal behavior by disabling the EXA acceleration and putting back XAA and changing the X server color depth to 24bit.
Now, my goal is to get compiz working in 16bit mode since the X (and the 855GM) is much faster when running in that mode. So I had DefaultDepth changed back to 16bit again (glxinfo returns a list of visuals which are 16bit only and it indicates that direct rendering is enabled) and then ran compiz: the windows decoration disappeared (yes, I have emerald --replace specified in ccm and every other effect working properly in that mode) and I have a lot of: compiz (core) Warn: No GLXFBConfig for depth 32. That message comes from bindPixmapToTexture, in src/texture.c:249, and is caused by GLX failing to find a supported mode (which should be provided by the DRI driver, intel in my case) for 32bit pixmaps. Since it's not recommended to mess with X drivers at this point, I wondered if it could be possible to get the involved pixmaps (that would be used later for the decoration) constructed in 16bit (i.e the same color depth used by the screen). I looked up the pixmap creation code (associated with the warning message) and found that it's done in decor_shadow_create, in compiz/libdecoration/decoration.c:1106 and actually all pixmaps are created using: XCreatePixmap (xdisplay, xroot, d_width, d_height, 32); which states an explicit 32bit color depth for the pixmap. The same goes for emerald with code like, in emerald/src/main.c:52 visual = gdk_visual_get_best_with_depth(32) and pixmap = gdk_pixmap_new(NULL, w, h, 32); My questions are: 1. Is it really required to have offscreen pixmaps created in 32bit? 2. If not, is it possible to replace those pieces of code by something like: XGetWindowAttributes (xdisplay, xroot, &attr); texture->pixmap = XCreatePixmap (xdisplay, xroot, d_width, d_height, attr.depth)? That way I can have a nice compiz experience/performance even on my old 855GM. Regards, Ilyes Gouta. _______________________________________________ Dev mailing list [email protected] http://lists.compiz-fusion.org/mailman/listinfo/dev
