Make X.Org pretty with DRI2 and UXA

  • May 27, 2009
  • Avatar for jacob
    Jacob
    Peddicord

That’s a scary headline. Chances are, after seeing that, you might not care about the rest of this article. But hang on for a second: Have an Intel graphics chipset, or use an ATI graphics card (open-source drivers or not)? Then this image might be familiar to you:

If you don’t notice it right away, the glxgears window is below the other two. Ugly. This is a problem with the current X.Org stack using a rendering mode known as DRI1. I won’t go in to technical details of why this happens, but it all boils down to this: Using DRI1, 3D applications are given a space of the screen to draw into, and this is then sent directly to the display. That sounds somewhat logical, but when you throw in more fancy operations, such as Compiz and desktop effects, things get tricky. Keith Packard of Intel does a good job explaining this and other problems with X acceleration.

Keith mentions a golden combination that can be used right now. Fedora 11, arriving in one week, will include everything needed for a pleasant X experience. Ubuntu 9.04 does ship UXA, but it is not on by default due to stability issues at the time it was released. Instead, EXA is used, the same mode included with 8.10.

If you’re using Ubuntu 9.04 or another distribution with UXA support that is almost ready, there is a one-liner you can add to /etc/X11/xorg.conf. In the Device section, add Option “AccelMethod” “uxa” as it is below:

bc.
Section “Device” Identifier “Configured Video Device” Option “AccelMethod” “uxa”
EndSection

Be prepared to revert the change later: without a newer kernel or X server, UXA mode has proven to be a little crashy. I’ve had good experiences while using at a 2.6.30 kernel, though I still do not use it for day-to-day computing. Even if you can’t get it to work for extended amounts of time yet, it still is nice to see this:

The glxgears test is positioned neatly in the background; you can see it through the semi-transparent terminal. And if that’s not enough proof that this works:

Avatar for jacob Jacob Peddicord

Home » Articles »