From 67d6c1524e9770dfec3349f4734a8fc6fb080d5f Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Wed, 29 Jan 2025 20:59:22 +0900 Subject: [PATCH 1/5] enhance global function and added systemd boot entries --- install-scripts/Global_functions.sh | 4 ++-- install-scripts/nvidia.sh | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/install-scripts/Global_functions.sh b/install-scripts/Global_functions.sh index 3393fae..7b4edf4 100755 --- a/install-scripts/Global_functions.sh +++ b/install-scripts/Global_functions.sh @@ -28,7 +28,7 @@ install_package_pacman() { else # Package not installed echo -e "${NOTE} Installing $1 ..." - sudo pacman -S --noconfirm "$1" 2>&1 | tee -a "$LOG" + sudo pacman -S --noconfirm --needed "$1" 2>&1 | tee -a "$LOG" # Making sure package is installed if pacman -Q "$1" &>/dev/null ; then echo -e "\e[1A\e[K${OK} Package ${YELLOW}$1${RESET} has been successfully installed!" @@ -51,7 +51,7 @@ install_package() { else # Package not installed echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" + $ISAUR -S --noconfirm --needed "$1" 2>&1 | tee -a "$LOG" # Making sure package is installed if $ISAUR -Q "$1" &>> /dev/null ; then echo -e "\e[1A\e[K${OK} Package ${YELLOW}$1${RESET} has been successfully installed!" diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh index cef032f..c280d16 100755 --- a/install-scripts/nvidia.sh +++ b/install-scripts/nvidia.sh @@ -93,6 +93,25 @@ else echo "/etc/default/grub does not exist" fi +# Additional for systemd-boot users +if [ -f /boot/loader/loader.conf ]; then + backup_count=$(find /boot/loader/entries/ -type f -name "*.conf.bak" | wc -l) + conf_count=$(find /boot/loader/entries/ -type f -name "*.conf" | wc -l) + + if [ "$backup_count" -ne "$conf_count" ]; then + find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do + # Backup conf + sudo cp "$imgconf" "$imgconf.bak" + + # Clean up options and update with NVIDIA settings + sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g') + sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" + done + else + echo "systemd-boot is already configured..." + fi +fi + # Blacklist nouveau if [[ -z $blacklist_nouveau ]]; then read -n1 -rep "${CAT} Would you like to blacklist nouveau? (y/n)" blacklist_nouveau From fc2df0f9a352e4f5f2df4014d8726b5e1254afef Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Wed, 29 Jan 2025 21:01:22 +0900 Subject: [PATCH 2/5] updated nvidia --- install-scripts/nvidia.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh index c280d16..144a6c3 100755 --- a/install-scripts/nvidia.sh +++ b/install-scripts/nvidia.sh @@ -102,13 +102,14 @@ if [ -f /boot/loader/loader.conf ]; then find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do # Backup conf sudo cp "$imgconf" "$imgconf.bak" + echo "loader backed up" 2>&1 | tee -a "$LOG" # Clean up options and update with NVIDIA settings sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g') - sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" + sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" 2>&1 | tee -a "$LOG" done else - echo "systemd-boot is already configured..." + echo "systemd-boot is already configured..." 2>&1 | tee -a "$LOG" fi fi From 01a001f9a69cfe722f2ce77228f7129ac9612612 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Wed, 29 Jan 2025 21:37:06 +0900 Subject: [PATCH 3/5] updated nvidia installation re bootloaders --- install-scripts/nvidia.sh | 50 ++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh index 144a6c3..22ce293 100755 --- a/install-scripts/nvidia.sh +++ b/install-scripts/nvidia.sh @@ -70,49 +70,55 @@ else fi # Additional for GRUB users -# Check if /etc/default/grub exists if [ -f /etc/default/grub ]; then + printf "GRUB bootloader detected\n" 2>&1 | tee -a "$LOG" + # Check if nvidia-drm.modeset=1 is present 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 - 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 # Check if nvidia_drm.fbdev=1 is present 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 - 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 # 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 - 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 - -else - echo "/etc/default/grub does not exist" + + printf "Additional steps for GRUB completed\n" 2>&1 | tee -a "$LOG" fi # Additional for systemd-boot users if [ -f /boot/loader/loader.conf ]; then - backup_count=$(find /boot/loader/entries/ -type f -name "*.conf.bak" | wc -l) - conf_count=$(find /boot/loader/entries/ -type f -name "*.conf" | wc -l) + printf "systemd-boot bootloader detected\n" 2>&1 | tee -a "$LOG" - if [ "$backup_count" -ne "$conf_count" ]; then - find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do - # Backup conf - sudo cp "$imgconf" "$imgconf.bak" - echo "loader backed up" 2>&1 | tee -a "$LOG" - - # Clean up options and update with NVIDIA settings - sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g') - sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" 2>&1 | tee -a "$LOG" - done - else - echo "systemd-boot is already configured..." 2>&1 | tee -a "$LOG" - fi + backup_count=$(find /boot/loader/entries/ -type f -name "*.conf.bak" | wc -l) + conf_count=$(find /boot/loader/entries/ -type f -name "*.conf" | wc -l) + + if [ "$backup_count" -ne "$conf_count" ]; then + find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do + # Backup conf + sudo cp "$imgconf" "$imgconf.bak" + printf "Backup created for systemd-boot loader: %s\n" "$imgconf" 2>&1 | tee -a "$LOG" + + # Clean up options and update with NVIDIA settings + sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g') + sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" 2>&1 | tee -a "$LOG" + 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 + # Blacklist nouveau if [[ -z $blacklist_nouveau ]]; then read -n1 -rep "${CAT} Would you like to blacklist nouveau? (y/n)" blacklist_nouveau From b9b437cb23e41d89cb8e03e9b26ee9ab7c54599f Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Wed, 29 Jan 2025 21:51:06 +0900 Subject: [PATCH 4/5] updated nvidia.sh --- CHANGELOGS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index f2ddc64..f557fec 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,5 +1,8 @@ ## Changelogs +## 29 Jan 2025 +- enhanced nvidia.sh to consider additional bootloader entries for nvidia + ## 16 Jan 2025 - updated nvidia.sh to install non-git libva-nvidia-driver From dac6c373c9c4046506264a4361cd68d7e09faaeb Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Wed, 29 Jan 2025 23:10:46 +0900 Subject: [PATCH 5/5] updated changelogs --- CHANGELOGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index f557fec..781d054 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,7 +1,7 @@ ## Changelogs ## 29 Jan 2025 -- enhanced nvidia.sh to consider additional bootloader entries for nvidia +- enhanced nvidia.sh to add additional systemd-bootloader entries for nvidia ## 16 Jan 2025 - updated nvidia.sh to install non-git libva-nvidia-driver