-
Notifications
You must be signed in to change notification settings - Fork 49
/
busiddetection
72 lines (58 loc) · 2.06 KB
/
busiddetection
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#
# We always try to detect the busid of the nvidia card to overcome potential issues in the autoconfiguration
# due to small difference in hardware for certain laptops (i.e. ASUS 1215N).
#
# Maybe this is all too much and we should stick to the local detection.
#
DETECTED="UNDEFINED"
if [ `${LSPCI} |grep -c VGA` -eq 2 ]; then
DETECTED=`${LSPCI} | grep VGA | grep nVidia | awk '{ print "PCI:"$1 }' | sed s/\\\./:/g`
elif [ `${LSPCI} |grep -c 3D` -eq 1 ]; then
DETECTED=`${LSPCI} | grep 3D | grep nVidia | awk '{ print "PCI:"$1 }' | sed s/\\\./:/g`
fi
if [ "$NVIDIABUSID" = "UNDEFINED" ]; then
if [ "$DETECTED" = "UNDEFINED" ]; then
echo
echo "The BusID of the nVidia card can't be determined."
echo
echo "You must correct this manually in /etc/X11/xorg.conf.nvidia."
echo "Please report this problem.."
echo
echo "Press Any Key to continue."
echo
read
else
echo
echo "We will use the local configuration ${DETECTED}"
echo "for the BusID of the nVidia card."
echo
echo "Please submit your system if everything is working."
echo
echo "Press Any Key to continue."
echo
read
NVIDIABUSID=${DETECTED}
fi
else
if [ "$DETECTED" = "UNDEFINED" ] || [ "$NVIDIABUSID" == "$DETECTED" ]; then
echo
echo "We will use the autoconfigured ${NVIDIABUSID}"
echo "for the BusID of the nVidia card."
echo
elif [ "$NVIDIABUSID" != "$DETECTED" ]; then
echo
echo "The autoconfiguration doesn't match your local configuration"
echo "for the BusID of the nVidia card."
echo
echo "We will use the local configuration ${DETECTED} instead of ${NVIDIABUSID}."
echo
echo "Press Any Key to continue."
echo
read
NVIDIABUSID=${DETECTED}
fi
fi
sed -i 's/REPLACEWITHBUSID/'$NVIDIABUSID'/g' /etc/X11/xorg.conf.nvidia
if [ "$DISTRO" == "OPENSUSE" ] ; then
sed -i 's/REPLACEWITHBUSID/'$NVIDIABUSID'/g' /etc/X11/xorg.conf.nouveau
fi