updated nvidia installation re bootloaders

This commit is contained in:
JaKooLit
2025-01-29 21:37:06 +09:00
parent fc2df0f9a3
commit 01a001f9a6

View File

@@ -70,49 +70,55 @@ else
fi fi
# Additional for GRUB users # Additional for GRUB users
# Check if /etc/default/grub exists
if [ -f /etc/default/grub ]; then if [ -f /etc/default/grub ]; then
printf "GRUB bootloader detected\n" 2>&1 | tee -a "$LOG"
# Check if nvidia-drm.modeset=1 is present # Check if nvidia-drm.modeset=1 is present
if ! sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub; then if ! sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub; then
sudo sed -i -e 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub sudo sed -i -e 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub
echo "nvidia-drm.modeset=1 added to /etc/default/grub" 2>&1 | tee -a "$LOG" printf "nvidia-drm.modeset=1 added to /etc/default/grub\n" 2>&1 | tee -a "$LOG"
fi fi
# Check if nvidia_drm.fbdev=1 is present # Check if nvidia_drm.fbdev=1 is present
if ! sudo grep -q "nvidia_drm.fbdev=1" /etc/default/grub; then if ! sudo grep -q "nvidia_drm.fbdev=1" /etc/default/grub; then
sudo sed -i -e 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia_drm.fbdev=1"/' /etc/default/grub sudo sed -i -e 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia_drm.fbdev=1"/' /etc/default/grub
echo "nvidia_drm.fbdev=1 added to /etc/default/grub" 2>&1 | tee -a "$LOG" printf "nvidia_drm.fbdev=1 added to /etc/default/grub\n" 2>&1 | tee -a "$LOG"
fi fi
# Regenerate GRUB configuration # Regenerate GRUB configuration
if sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub || sudo grep -q "nvidia_drm.fbdev=1" /etc/default/grub; then if sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub || sudo grep -q "nvidia_drm.fbdev=1" /etc/default/grub; then
sudo grub-mkconfig -o /boot/grub/grub.cfg sudo grub-mkconfig -o /boot/grub/grub.cfg
printf "GRUB configuration regenerated\n" 2>&1 | tee -a "$LOG"
fi fi
else printf "Additional steps for GRUB completed\n" 2>&1 | tee -a "$LOG"
echo "/etc/default/grub does not exist"
fi fi
# Additional for systemd-boot users # Additional for systemd-boot users
if [ -f /boot/loader/loader.conf ]; then if [ -f /boot/loader/loader.conf ]; then
backup_count=$(find /boot/loader/entries/ -type f -name "*.conf.bak" | wc -l) printf "systemd-boot bootloader detected\n" 2>&1 | tee -a "$LOG"
conf_count=$(find /boot/loader/entries/ -type f -name "*.conf" | wc -l)
if [ "$backup_count" -ne "$conf_count" ]; then backup_count=$(find /boot/loader/entries/ -type f -name "*.conf.bak" | wc -l)
find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do conf_count=$(find /boot/loader/entries/ -type f -name "*.conf" | wc -l)
# Backup conf
sudo cp "$imgconf" "$imgconf.bak" if [ "$backup_count" -ne "$conf_count" ]; then
echo "loader backed up" 2>&1 | tee -a "$LOG" find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do
# Backup conf
# Clean up options and update with NVIDIA settings sudo cp "$imgconf" "$imgconf.bak"
sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g') printf "Backup created for systemd-boot loader: %s\n" "$imgconf" 2>&1 | tee -a "$LOG"
sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" 2>&1 | tee -a "$LOG"
done # Clean up options and update with NVIDIA settings
else sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g')
echo "systemd-boot is already configured..." 2>&1 | tee -a "$LOG" sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" 2>&1 | tee -a "$LOG"
fi done
printf "Additional steps for systemd-boot completed\n" 2>&1 | tee -a "$LOG"
else
printf "systemd-boot is already configured...\n" 2>&1 | tee -a "$LOG"
fi
fi fi
# Blacklist nouveau # Blacklist nouveau
if [[ -z $blacklist_nouveau ]]; then if [[ -z $blacklist_nouveau ]]; then
read -n1 -rep "${CAT} Would you like to blacklist nouveau? (y/n)" blacklist_nouveau read -n1 -rep "${CAT} Would you like to blacklist nouveau? (y/n)" blacklist_nouveau