All My Brain Where stuff from my brain lands

November 1, 2007

Upgrading to Xorg-X11 7.3 with ati-drivers 8.42.3 on Gentoo

Filed under: Software — Tags: , , , , , , , , — Dennis @ 11:28 am

I’m a sucker for bleeding edge technology. After posting before about upgrading to the 8.42.3 ati drivers, I realized I was using Xorg-X11 7.2, not 7.3, which is the latest. The latest 7.3 ebuild contains a block on the ati drivers. The block is no longer necessary though because the 8.42.3 drivers are compatible and have xorg-server 1.4 support built in.

Here is what I did to upgrade. Before you follow through with this, read the note about compiz at the bottom.

  1. Unmask packages

    You only have to unmask the appropriate packages if you are not using ACCEPT_KEYWORDS=”~x86″. If you have ACCEPT_KEYWORDS=”x86″, you can add these to /etc/portage/package.keywords:

    x11-base/xorg-x11 ~x86
    x11-libs/libXcursor ~x86
    x11-base/xorg-server ~x86
    x11-libs/pixman ~x86
    x11-libs/libXrender ~x86
    x11-proto/renderproto ~x86
    x11-proto/inputproto ~x86
    x11-libs/libXtst ~x86
    x11-libs/libXaw ~x86
    x11-libs/libXpm ~x86
    x11-apps/xinit ~x86
    x11-libs/libX11 ~x86
    x11-proto/xf86dgaproto ~x86
    x11-libs/xtrans ~x86
    x11-libs/libXfont ~x86
    x11-libs/libXi ~x86
    x11-drivers/xf86-input-keyboard ~x86
    x11-apps/xmodmap ~x86
    x11-libs/libXxf86dga ~x86
    x11-libs/libSM ~x86

  2. Create a new xorg-server ebuild

    This is to override the block on the ati drivers. (I’m assuming you already have the 8.42.3 drivers installed.)

    >cd /usr/local/portage
    >mkdir x11-base
    >cd x11-base
    >cp -r /usr/portage/x11-base/xorg-server .
    >cd xorg-server

    Now, edit the xorg-server ebuild (at the time of this writing, the file was xorg-server-1.4-r2.ebuild) and delete the block:
    # remove the following line in the PDEPEND variable

    Next, re-digest the ebuild
    >ebuild xorg-server-1.4-r2.ebuild digest

  3. Perform the upgrade

    >emerge -av xorg-x11

  4. Restart X

    After the emerge completes, you should be able to restart X and enjoy. I didn’t have to make any changes to the xorg.conf file that I was using for 7.2.

IMPORTANT: As far as I know, the new ati-drivers don’t support compiz when using xorg-server 1.4. You’ll get the following error:

compiz (core) - Fatal: GLX_EXT_texture_from_pixmap is missing
compiz (core) - Error: Failed to manage screen: 0
compiz (core) - Fatal: No manageable screens found on display :0.0

Since I’m motivated primarily by the desktop effects I get with compiz, I’m switching back to Xorg 7.2 for the time being.


  1. HI!

    Thanks for this artical, one question:

    “the new ati-drivers don’t support compiz when using xorg-server 1.4.”

    Work “compiz-fusion”?


    Comment by Klaus Keppler — November 10, 2007 @ 10:22 am

  2. That is correct. I actually wrote a follow up post about that too. If you want compiz-fusion, you’ll need to stick to xorg-server 1.3. Perhaps the next ati release will solve the issue. This driver does support xorg-x11-7.3 by the way, just not with compiz.

    Comment by Dennis — November 10, 2007 @ 7:43 pm

  3. Dennis

    Thanks for sharing your experiences. I still get the “GLX_EXT_texture_from_pixmap is missing” error using xorg-server This seems to force indirect-rendering on compiz-fusion which in turn causes unusably slow scrolling and video playback.

    Do you have direct rendering enabled with compiz.

    Comment by David Richings — November 16, 2007 @ 6:09 am

  4. Yes, I do. After going back to xorg-x11, have you tried
    “eselect opengl set ati”? Or perhaps switch back to xorg-x11 and then back to ati again. I wonder if you still need to recompile some other dependency.

    Compiz does work with direct rendering for xorg-server = 1.3 but even with direct rendering, it isn’t as fast as it ought to be. I’m hoping the next driver fixes that.

    Comment by Dennis — November 16, 2007 @ 7:00 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress

%d bloggers like this: