blob: a71e6b76ac04889e969c3669cd6db3f0e6cbc4f2 (
plain)
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
|
#!/bin/bash
# nouveau -> nvidia
set -e
# check if root
if [[ $EUID -ne 0 ]]; then
echo "You must be root to run this script. Aborting...";
exit 1;
fi
echo "Switching MODULES line in /etc/mkinitcpio.conf"
sed -i 's/MODULES="dm-mod nouveau"/#MODULES="dm-mod nouveau"/' /etc/mkinitcpio.conf
sed -i 's/#*MODULES="dm-mod nvidia"/MODULES="dm-mod nvidia"/' /etc/mkinitcpio.conf
echo "Uninstalling nouveau drivers, installing nvidia drivers."
declare -i NVIDIAINSTALL
NVIDIART=$(pacman -Qi|grep Name|grep linux-rt)
if [[ -n "$NVIDIART" ]]; then
NVIDIAINSTALL=$NVIDIAINSTALL+1
echo "Seems that linux-rt is installed. Marking nvidia-rt for installation."
fi
pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau mesa-libgl lib32-nouveau-dri lib32-mesa-libgl
case $NVIDIAINSTALL in
0)
pacman -S --noconfirm nvidia lib32-nvidia-libgl
;;
1)
pacman -S --noconfirm nvidia lib32-nvidia-libgl
aura -A --noconfirm nvidia-rt
;;
esac
echo "Switching X11 settings."
NVIDIACONF="/etc/X11/xorg.conf.d/20-nvidia.conf"
NOUVEAUCONF="/etc/X11/xorg.conf.d/20-nouveau.conf"
BKP=".bkp"
if [[ -f $NOUVEAUCONF ]]; then
mv $NOUVEAUCONF "$NOUVEAUCONF$BKP"
fi
if [ -f "$NVIDIACONF$BKP" ]; then
mv "$NVIDIACONF$BKP" $NVIDIACONF
fi
echo "Building new initramfs images."
mkinitcpio -p linux
if [[ -f "/etc/mkinitcpio.d/linux-rt.preset" ]]; then
mkinitcpio -p linux-rt
fi
|