Success! Compositing on a second X server

by havoc

If you want to play with compositing on Fedora 8 using the Intel
drivers, here’s how I got it working.

  • For testing, you can run a second X server on the
    hardware. However, you first need to disable DRI on the main X server
    (and not use a compositing WM on the main X server). This is done by
    adding Option "NoDRI" to xorg.conf. If you don’t have a
    xorg.conf (I didn’t), run system-config-display and let it write out a
    minimal one. Add the NoDRI option to the Device section. Next, copy
    xorg.conf to something like xorg-dri.conf, and re-enable DRI in the
    copied file. Then you can run a second X server as something like
    X -config xorg-dri.conf -audit 0 -br -ac :8 -nolisten tcp
    vt8
    “. Careful: if your main X server has DRI running, you won’t
    get DRI on the new X server even though it’s in the config file. So be
    sure the main server lacks DRI (use “glxinfo” to check).
  • If you run Compiz on a server without DRI, the error is
    "No GLXFBConfig for default depth, this isn't going to work."
    You must have direct rendering enabled (check glxinfo).
  • Once you enable DRI, however, Compiz will say the
    GLX_EXT_texture_from_pixmap extension is missing. To fix
    this, you have to set LIBGL_ALWAYS_INDIRECT=1 in the environment.
    The desktop-effects control panel that comes with Fedora sets
    this env variable when it runs compiz. Yes, you should have direct
    rendering enabled, and then you have to set LIBGL_ALWAYS_INDIRECT=1.

(This post was originally found at http://log.ometer.com/2008-01.html#28)

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.