blob: e862d8c5321eddf692b48d8ecb3503cae49a62e0 (
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
58
|
#!/bin/bash
# nvidia -> nouveau
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 nvidia drivers, installing nouveau drivers."
declare -i NVIDIAINSTALL
NVIDIART=$(pacman -Qi|grep Name|grep nvidia-rt)
if [[ -n "$NVIDIART" ]]; then
NVIDIAINSTALL=$NVIDIAINSTALL+1
echo "Seems that nvidia-rt is installed. Marked for removal."
fi
case $NVIDIAINSTALL in
0)
pacman -Rdds --noconfirm nvidia nvidia-libgl lib32-nvidia-libgl
;;
1)
pacman -Rdds --noconfirm nvidia nvidia-rt nvidia-libgl lib32-nvidia-libgl
;;
esac
pacman -S --noconfirm nouveau-dri xf86-video-nouveau lib32-nouveau-dri
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 $NVIDIACONF ]; then
mv $NVIDIACONF "$NVIDIACONF$BKP"
fi
if [[ -f "$NOUVEAUCONF$BKP" ]]; then
mv "$NOUVEAUCONF$BKP" $NOUVEAUCONF
fi
echo "Building new initramfs images."
mkinitcpio -p linux
if [[ -f "/etc/mkinitcpio.d/linux-rt.preset" ]]; then
mkinitcpio -p linux-rt
fi
if [[ -f "/etc/mkinitcpio.d/linux-mainline.preset" ]]; then
mkinitcpio -p linux-rt
fi
|