#!/bin/bash # This script install ATI driver for Slackware. # alemao@sacodelixo.com.br VER=8.36.5 SRC="/home/alemao/downloads" DST0="/tmp/ati0" DST1="/tmp/ati1" KERNEL=`uname -r` install() { # delete/create directories. rm -rf $DST0 $DST1 >/dev/null 2>&1 mkdir -p $DST1/usr/{lib,bin,sbin} $DST1/lib/modules/$KERNEL/drivers/video # descompact the driver. cd $SRC chmod +x $SRC/ati-driver-installer-$VER-x86.x86_64.run echo "--> unpacking driver" ./ati-driver-installer-$VER-x86.x86_64.run --extract $DST0 >/dev/null 2>&1 || return 1 # copy only the useful stuff. echo "--> copying files" cd $DST1 # arch. cp -r $DST0/arch/x86/lib . cp -r $DST0/arch/x86/usr/sbin usr/ cp -r $DST0/arch/x86/usr/X11R6/* usr/ # common. cp -r $DST0/common/{etc,lib} . cp -r $DST0/common/usr/include usr/ cp -r $DST0/common/usr/X11R6/* usr/ # x710. cp -r $DST0/x710/usr/X11R6/lib usr/ # build kernel module. cd $DST1/lib/modules/fglrx/build_mod cp 2.6.x/Makefile . echo "--> building module" make >/dev/null 2>&1 || return 1 # copy kernel module to right place and delete build dir. echo "--> copying kernel module" cp fglrx.ko ../../$KERNEL/drivers/video cd $DST1 rm -rf lib/modules/fglrx # backup your old libGL. if [ ! -f /usr/lib/libGL.so.1.2.old ]; then cp /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1.2.old fi # now install the files. cp -a * / >/dev/null 2>&1 depmod -a echo "--> completed" # clean up everything. cd /tmp rm -rf $DST0 $DST1 } uninstall() { rm -rf /etc/ati/ /lib/modules/$KERNEL/drivers/video /usr/lib/libfglrx* rm -f /usr/lib/modules/linux/libfglrxdrm.so /usr/lib/modules/drivers/fglrx_drv.so \ /usr/lib/modules/dri/fglrx_dri.so /usr/lib/modules/glesx.so /usr/lib/modules/esut.a \ /usr/include/X11/extensions/fglrx_gamma.h usr/include/GL/*ATI.h /usr/bin/fgl* \ /usr/bin/aticonfig /usr/bin/amdcccle /usr/sbin/atieventsd mv /usr/lib/libGL.so.1.2.old /usr/lib/libGL.so.1.2 echo "--> remove complete" } # check what to do. if [ "$1" == "" ]; then echo "Usage: ati-driver [install | uninstall]" elif [ "$1" == "uninstall" ]; then uninstall elif [ "$1" == "install" ]; then install fi