#!/bin/sh

PREREQ=""

prereqs()
{
        echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
        prereqs
        exit 0
        ;;
esac

if [ "$gfx" = "auto" -o "$gfx" = "on" -o "$gfx" = "mesa" ]; then
lspci -n > /run/gfxdetect.pci
> /run/gfxdetect
rm -f /etc/modprobe.d/pcidetect.conf
if [ "$gfx" = "auto" -o "$gfx" = "on" ]; then
cat /run/gfxdetect.pci | while read x class card x
do
 VENDOR=${card%:*}
 DEVICE=${card#*:}
 case $class in
 0300:)
  case $VENDOR in
  1002)
   case $DEVICE in
    1304|1305|1306|1307|6600|6601|6602|6603|6606|6607|6610|6611|6613|6620|6621|6623|6631|6640|6641|6649|6650|6651|6660|6663|6667|666f|6700|6701|6702|6703|6704|6705|6706|6707|6708|6709|6718|6719|671c|671d|671f|6720|6721|6722|6723|6724|6725|6726|6727|6728|6729|6738|6739|673e|6740|6741|6742|6743|6744|6745|6746|6747|6748|6749|674a|6750|6751|6758|6759|675b|675d|675f|6760|6761|6762|6763|6764|6765|6766|6767|6768|6770|6771|6772|6778|6779|677b|6780|6784|6788|678a|6790|6791|6792|6798|6799|679a|679e|6800|6801|6806|6808|6809|6810|6811|6818|6819|6820|6821|6823|6824|6825|6826|6827|6828|682b|682d|682f|6830|6831|6837|6838|6839|683b|683d|683f|6840|6841|6842|6843|6849|684c|6850|6858|6859|6880|6888|6889|688a|688c|688d|6890|6898|6899|689b|689c|689d|689e|68a0|68a1|68a8|68a9|68b0|68b1|68b8|68b9|68ba|68be|68bf|68c0|68c1|68c7|68c8|68c9|68d0|68d1|68d8|68d9|68da|68de|68e0|68e1|68e4|68e5|68e8|68e9|68f0|68f1|68f2|68f8|68f9|68fa|68fe|9640|9641|9642|9643|9644|9645|9647|9648|9649|964a|964b|964c|964e|964f|9802|9803|9804|9805|9806|9807|9808|9809|980a|9830|9831|9832|9833|9834|9835|9836|9837|9838|9839|983a|983b|983c|983d|983e|983f|9900|9901|9903|9904|9905|9906|9907|9908|9909|990a|990b|990c|990d|990e|990f|9910|9913|9917|9918|9919|9990|9991|9992|9993|9994|9995|9996|9997|9998|9999|999a|999b|99a0|99a2|99a4)
    echo "fglrx $VENDOR$DEVICE" > /run/gfxdetect
    echo "blacklist radeon" > /etc/modprobe.d/pcidetect.conf
   esac
   ;;
  10de|12d2)
   case $DEVICE in
   0008|0009|0010|0018|0019) continue;;
   0020|0028|0029|002c|002d|00a0|0100|0101|0103|0150|0151|0152|0153) continue;;
   0110|0111|0112|0113|0170|0171|0172|0173|0174|0175|0176|0177|0178|0179|017a|017c|017d|0181|0182|0183|0185|0188|018a|018b|018c|01a0|01f0|0200|0201|0202|0203|0250|0251|0253|0258|0259|025b|0280|0281|0282|0286|0288|0289|028c) continue;;
   00fa|00fb|00fc|00fd|00fe|0301|0302|0308|0309|0311|0312|0314|031a|031b|031c|0320|0321|0322|0323|0324|0325|0326|0327|0328|032a|032b|032c|032d|0330|0331|0332|0333|0334|0338|033f|0341|0342|0343|0344|0347|0348|034c|034e)
    #echo "nvidia-173 $VENDOR$DEVICE" > /run/gfxdetect
    #echo "blacklist nouveau" > /etc/modprobe.d/pcidetect.conf
    continue ;;
   0040|0041|0042|0043|0044|0045|0046|0047|0048|004e|0090|0091|0092|0093|0095|0098|0099|009d|00c0|00c1|00c2|00c3|00c8|00c9|00cc|00cd|00ce|00f1|00f2|00f3|00f4|00f5|00f6|00f8|00f9|0140|0141|0142|0143|0144|0145|0146|0147|0148|0149|014a|014c|014d|014e|014f|0160|0161|0162|0163|0164|0165|0166|0167|0168|0169|016a|01d0|01d1|01d2|01d3|01d6|01d7|01d8|01da|01db|01dc|01dd|01de|01df|0211|0212|0215|0218|0221|0222|0240|0241|0242|0244|0245|0247|0290|0291|0292|0293|0294|0295|0297|0298|0299|029a|029b|029c|029d|029e|029f|02e0|02e1|02e2|02e3|02e4|038b|0390|0391|0392|0393|0394|0395|0397|0398|0399|039c|039e|03d0|03d1|03d2|03d5|03d6|0531|0533|053a|053b|053e|07e0|07e1|07e2|07e3|07e5)
    #echo "nvidia-304 $VENDOR$DEVICE" > /run/gfxdetect
    #echo "blacklist nouveau" > /etc/modprobe.d/pcidetect.conf
    continue ;;
   *)
    echo "nvidia $VENDOR$DEVICE" > /run/gfxdetect
    echo "blacklist nouveau" > /etc/modprobe.d/pcidetect.conf
   esac
   ;;
  esac
 ;;
 esac
done
fi
fi
