#!/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