52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "this program requires root access"
|
|
exit
|
|
fi
|
|
|
|
kernel_modules="vfio_pci vfio vfio_iommu_type1 vfio_virqfd"
|
|
|
|
ovmf_xrandr="xrandr --output HDMI1 --mode 2560x1440 --rate 59.95 --output HDMI2 --mode 1920x1080 --rate 59.93 --left-of HDMI1"
|
|
default_xrandr="xrandr --output HDMI-3 --mode 2560x1440 --rate 59.95 --output DVI-D-2 --mode 1920x1080 --rate 59.93 --left-of HDMI-3"
|
|
|
|
select choice1 in "enable vfio" "disable vfio" "exit"; do
|
|
case $choice1 in
|
|
"enable vfio")
|
|
sudo echo "options vfio-pci ids=1002:67b1,1002:aac8" >> /etc/modprobe.d/vfio.conf
|
|
sudo sed -i -e "s/MODULES=()/MODULES=($kernel_modules)/g" /etc/mkinitcpio.conf
|
|
sed -i -e "s/$default_xrandr/$ovmf_xrandr/g" /home/josh/.config/i3/config
|
|
break;;
|
|
"disable vfio")
|
|
sudo rm /etc/modprobe.d/vfio.conf
|
|
sudo sed -i -e "s/MODULES=($kernel_modules)/MODULES=()/g" /etc/mkinitcpio.conf
|
|
sed -i -e "s/$ovmf_xrandr/$default_xrandr/g" /home/josh/.config/i3/config
|
|
break;;
|
|
"exit")
|
|
exit;;
|
|
esac
|
|
done
|
|
|
|
echo "regenerate the initramfs?"
|
|
select choice2 in "yes" "no"; do
|
|
case $choice2 in
|
|
"yes")
|
|
sudo mkinitcpio -p linux
|
|
echo "make sure to switch to PEG/IGD in bios"
|
|
echo "reboot now?"
|
|
select choice2 in "yes" "no"; do
|
|
case $choice2 in
|
|
"yes")
|
|
sudo reboot
|
|
break;;
|
|
"no")
|
|
break;;
|
|
esac
|
|
done
|
|
break;;
|
|
"no")
|
|
exit;;
|
|
esac
|
|
done
|
|
|