Simple Steps to make 3D accelaration work on Savage MX/IX using DRI

  1. Make sure DRI support is compiled as module in the Linux kernel you are going to use. Otherwise, no matter how many time you'll try to install DRI using the following method you'll not succeed if the DRI support (and therefore the modules DRM.ko and savage.ko) are built into kernel.
  2. create a temparary folder (e.g. ~/dri_temp) and download the following packages from DRI Snapshots
    1. http://dri.freedesktop.org/snapshots/common-********-linux.i386.tar.bz2
    2. http://dri.freedesktop.org/snapshots/savage-*******-linux.i386.tar.bz2
  3. now extract common package first (it will create a folder and all the code inside)
    1. tar xvjf common-********-linux.i386.tar.bz2
  4. extract savage package (it will add code to the folder created by common package extraction)
    1. tar xvjf savage-*******-linux.i386.tar.bz2
  5. enter into the folder created by common package extraction and run install.sh script
  6. Provide answers to the questions asked by the script (in most of the cases default answer is ok, so you'll just have to press "Enter" key a couple of times)
  7. Restart X (or reboot the computer if you do not know how to restart X)
  8. Modify /etc/X11/xorg.conf (or XF86Config)
    1. Section "Module"
      # ...
      Load "glx"
      Load "dri"
      # ...
      EndSection


      Section "Device"
      Driver "savage"
      ...
      ...
      EndSection

      Section "DRI"
      Mode 0666
      EndSection
  9. Modify /etc/modprobe.conf
    1. alias agpgart via-agp
  10. After restarting X, open a command prompt and run
"glxinfo |grep direct"
The above command should show "Yes" for direct rendering, if it doesn't
    • either you have missed some step mentioned above
    • or you have to download little bit older common and savage package from the same server from achieve folder and follow the steps again from step 3
    • or you are dealing with libGL hell
libGL library hell means that you are having more than 1 copy of libGL* in you system and glxinfo is linked to the non-DRI libGL.

To see how many libGL libraries are there, search for libGL* in you system.
To see to which libGL, "glxinfo", is linked to; run command "ldd glxinfo"

Remove (take a backup!) the extra copies libGL* and run "ldd glxinfo" again. Repeat from step 8.