#!/bin/bash
KERNELVERSION=`uname -r`
VIDEODRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/media/video
FBDRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/video
#DRMDRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/char/drm
#AGPDRIVERDIR=/lib/modules/$KERNELVERSION/kernel/drivers/char/agp
MODULESDEPDIR=/lib/modules/$KERNELVERSION
MODULESCONFDIR=/etc
MODULESCONFFILE=$MODULESCONFDIR/modules.conf
OLDMODULESCONFFILE=$MODULESCONFDIR/modules.conf.bak
AUTOLOADFILE=/etc/rc.d/rc.local
OLDAUTOLOADFILE=/etc/rc.d/rc.local.bak
UTILITY_PACKAGE=Utility
PROGRAMNAME=s3utility
PACKAGEDATADIR=/usr/local/share/$PROGRAMNAME
BINDIR=/usr/local/bin
GTK_LIB_PIXMAP=/usr/lib/gtk/themes/engines/libpixmap.so

echo -e " -------- install start --------"
# VIA/S3G UniChrome familly driver install shell script

BINARY=Console

# check kernel version
case "$KERNELVERSION" in
    2.4.2-2)
    OS=RedHat
    VER=7.1
    ;;
    2.4.7-10)
    OS=RedHat
    VER=7.2
    ;;
    2.4.18-3)
    OS=RedHat
    VER=7.3
    ;;
    2.4.23)
    OS=RedHat
    VER=7.3-2
    ;;
    2.4.18-14)
    OS=RedHat
    VER=8.0
    ;;
    2.4.20-8)
    OS=RedHat
    VER=9.0
    ;;
    2.4.22-1.2115.nptl)
    OS=FedoraCore
    VER=1
    ;;
    2.6.5-1.358)
    OS=FedoraCore
    VER=2
    ;;
    2.6.9-1.667)
    OS=FedoraCore
    VER=3
    ;;
    2.4.18-6mdk)
    OS=Mandrake
    VER=8.2
    ;;
    2.4.19-16mdk)
    OS=Mandrake
    VER=9.0
    ;;
    2.4.21-0.13mdk)
    OS=Mandrake
    VER=9.1
    ;;
    2.4.22-10mdk*)
    OS=Mandrake
    VER=9.2
    ;;
    2.6.3-7mdk*)
    OS=Mandrake
    VER=10.0
    ;;
    2.4.25-2mdk*)
    OS=Mandrake
    VER=10.0
    ;;
    2.4.18-4GB)
    OS=SuSE
    VER=8.0
    AUTOLOADFILE=/etc/init.d/boot.local
    OLDAUTOLOADFILE=/etc/init.d/boot.local.bak
    ;;
    2.4.19-4GB)
    OS=SuSE
    VER=8.1
    AUTOLOADFILE=/etc/init.d/boot.local
    OLDAUTOLOADFILE=/etc/init.d/boot.local.bak
    ;;
    2.4.20-4GB)
    OS=SuSE
    VER=8.2
    AUTOLOADFILE=/etc/init.d/boot.local
    OLDAUTOLOADFILE=/etc/init.d/boot.local.bak
    ;;
    2.4.21-99-default)
    OS=SuSE
    VER=9.0
    AUTOLOADFILE=/etc/init.d/boot.local
    OLDAUTOLOADFILE=/etc/init.d/boot.local.bak
    ;;
    2.4.21-99-athlon)
    OS=SuSE
    VER=9.0
    AUTOLOADFILE=/etc/init.d/boot.local
    OLDAUTOLOADFILE=/etc/init.d/boot.local.bak
    ;;
    2.6.4-52-default)
    OS=SuSE
    VER=9.1
    AUTOLOADFILE=/etc/init.d/boot.local
    OLDAUTOLOADFILE=/etc/init.d/boot.local.bak
    ;;
esac

if [ "`uname -r | cut -c1-3`" = "2.6" ]; then
    KERNELVERSION=kernel-2.6
else
    KERNELVERSION=kernel-2.4
fi

echo Install $OS $VER VIA/S3G UniChrome familly graphic driver!

echo "Which CPU do you use ? "
echo "1. VIA C3-2(C5N/C5P), Intel Pentium 2/3/4"
echo "2. VIA C3"
echo "3. AMD K7/K8"
read choice

case "$choice" in
    1)
    CPUTYPE=pentium;;
    2)
    CPUTYPE=c3;;
    3)
    CPUTYPE=k7;;
esac


if [ "$KERNELVERSION" = "kernel-2.6" ]; then
    cp $OS/$VER/$CPUTYPE/$BINARY/via_v4l_drv.ko $VIDEODRIVERDIR/
    cp $VIDEODRIVERDIR/videodev.ko $VIDEODRIVERDIR/videodev.o.bak
    cp $OS/$VER/$CPUTYPE/$BINARY/videodev.ko $VIDEODRIVERDIR/
    cp $OS/$VER/$CPUTYPE/$BINARY/libddmpeg.so /usr/X11R6/lib/
    cp $OS/$VER/$CPUTYPE/$BINARY/viafb.ko $FBDRIVERDIR/
    cp $OS/$VER/$CPUTYPE/$BINARY/fbcon.ko $FBDRIVERDIR/
    rm -f /etc/fb.modes
    cp $OS/$VER/$CPUTYPE/$BINARY/viafb.modes /etc/fb.modes
else
    cp $OS/$VER/$CPUTYPE/$BINARY/via_v4l_drv.o $VIDEODRIVERDIR/
    cp $VIDEODRIVERDIR/videodev.o $VIDEODRIVERDIR/videodev.o.bak
    cp $OS/$VER/$CPUTYPE/$BINARY/videodev.o $VIDEODRIVERDIR/
    cp $OS/$VER/$CPUTYPE/$BINARY/libddmpeg.so /usr/X11R6/lib/
    cp $OS/$VER/$CPUTYPE/$BINARY/viafb.o $FBDRIVERDIR/
    rm -f /etc/fb.modes
    cp $OS/$VER/$CPUTYPE/$BINARY/viafb.modes /etc/fb.modes
fi
    ldconfig

    sed -e '/char-major-81/d' $MODULESCONFFILE > modules.conf.tmp
    echo "alias char-major-81 videodev" >> modules.conf.tmp
    echo "alias char-major-81-0 via_v4l_drv" >> modules.conf.tmp
    echo "alias char-major-81-1 via_v4l_drv" >> modules.conf.tmp
    echo "alias char-major-81-2 via_v4l_drv" >> modules.conf.tmp

    if [ -f modules.conf.tmp ] ; then
		cp modules.conf.tmp $MODULESCONFFILE
        rm modules.conf.tmp
    fi

    #sed -e '/agpgart.o/d' $AUTOLOADFILE > rc.local.tmp
    #echo "modprobe agpgart agp_try_unsupported=1" >> rc.local.tmp

    #cp rc.local.tmp $AUTOLOADFILE

    sed -e '/via_v4l_drv/d' $AUTOLOADFILE > rc.local.tmp
    echo "modprobe via_v4l_drv" >> rc.local.tmp

    cp rc.local.tmp $AUTOLOADFILE

    #sed -e '/via.o/d' $AUTOLOADFILE > rc.local.tmp
    #echo "modprobe via" >> rc.local.tmp

    if [ -f rc.local.tmp ] ; then
		cp rc.local.tmp $AUTOLOADFILE
		rm -f rc.local.tmp
    fi
    depmod -a
    #insmod $AGPDRIVERDIR/agpgart.o agp_try_unsupported=1
    modprobe via_v4l_drv
    #insmod $DRMDRIVERDIR/via.o

echo -e " -------- fbinstall end --------"

