From a252a42772f0c35228c8ac95c8bd86639089ccbd Mon Sep 17 00:00:00 2001 From: Ash Daly Date: Sun, 21 Dec 2025 16:11:05 +0000 Subject: [PATCH 01/15] fix(nvidia): install legacy driver on older GPUs --- install/config/hardware/nvidia.sh | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 494390b7..c1d05d53 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -11,11 +11,12 @@ # --- GPU Detection --- if [ -n "$(lspci | grep -i 'nvidia')" ]; then # --- Driver Selection --- - # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules + NVIDIA_DRIVER_CURRENT="current" + NVIDIA_DRIVER_LEGACY="legacy" if echo "$(lspci | grep -i 'nvidia')" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then - NVIDIA_DRIVER_PACKAGE="nvidia-open-dkms" + NVIDIA_DRIVER="$NVIDIA_DRIVER_CURRENT" else - NVIDIA_DRIVER_PACKAGE="nvidia-dkms" + NVIDIA_DRIVER="$NVIDIA_DRIVER_LEGACY" fi # Check which kernel is installed and set appropriate headers package @@ -31,19 +32,29 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then # force package database refresh sudo pacman -Syu --noconfirm - # Install packages - PACKAGES_TO_INSTALL=( + # Initial install packages + GENERAL_PACKAGES=( "${KERNEL_HEADERS}" - "${NVIDIA_DRIVER_PACKAGE}" - "nvidia-utils" - "lib32-nvidia-utils" "egl-wayland" - "libva-nvidia-driver" # For VA-API hardware acceleration "qt5-wayland" "qt6-wayland" ) - sudo pacman -S --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}" + # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules + # Pascal (10xx), Maxwell (9xx), Kepler (7xx) and older use legacy kernel modules that can only be installed from AUR + if [ "$NVIDIA_DRIVER" = "$NVIDIA_DRIVER_CURRENT" ]; then + DRIVER_PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) + sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" "${DRIVER_PACKAGES[@]}" + elif [ "$NVIDIA_DRIVER" = "$NVIDIA_DRIVER_LEGACY" ]; then + sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" + if ! command -v yay &>/dev/null; then + echo "ERROR: Older NVIDIA GPUs require nvidia-580xx-dkms from AUR." + echo "Please install yay." + exit 1 + fi + LEGACY_DRIVER_PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) + yay -S --needed "${LEGACY_DRIVER_PACKAGES[@]}" + fi # Configure modprobe for early KMS echo "options nvidia_drm modeset=1" | sudo tee /etc/modprobe.d/nvidia.conf >/dev/null From 9a704fdadb5cef898b71354f5b9f65a80fc83ae9 Mon Sep 17 00:00:00 2001 From: Ash Daly Date: Sun, 21 Dec 2025 16:12:06 +0000 Subject: [PATCH 02/15] chore: edit comment --- install/config/hardware/nvidia.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index c1d05d53..a93349f7 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -41,7 +41,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then ) # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules - # Pascal (10xx), Maxwell (9xx), Kepler (7xx) and older use legacy kernel modules that can only be installed from AUR + # Pascal (10xx), Maxwell (9xx), Kepler (7xx) and older use legacy branch that can only be installed from AUR if [ "$NVIDIA_DRIVER" = "$NVIDIA_DRIVER_CURRENT" ]; then DRIVER_PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" "${DRIVER_PACKAGES[@]}" From 1fd1b65cd0f68313804fed86daa7bfa63072d19b Mon Sep 17 00:00:00 2001 From: Ash Daly Date: Sun, 21 Dec 2025 16:13:53 +0000 Subject: [PATCH 03/15] chore: add noconfirm to yay command --- install/config/hardware/nvidia.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index a93349f7..83fb0a60 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -53,7 +53,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then exit 1 fi LEGACY_DRIVER_PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) - yay -S --needed "${LEGACY_DRIVER_PACKAGES[@]}" + yay -S --needed --noconfirm "${LEGACY_DRIVER_PACKAGES[@]}" fi # Configure modprobe for early KMS From 4e09523127299a542877a3c0a99fe093d8c19638 Mon Sep 17 00:00:00 2001 From: Ash Daly Date: Tue, 23 Dec 2025 11:19:11 +0000 Subject: [PATCH 04/15] fix(nvidia): do not install nvidia-580xx-dkms for GPUs older than Maxwell --- install/config/hardware/nvidia.sh | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 83fb0a60..8b38b19b 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -7,18 +7,10 @@ # Author: https://github.com/Kn0ax # # ============================================================================== +NVIDIA="$(lspci | grep -i 'nvidia')" # --- GPU Detection --- -if [ -n "$(lspci | grep -i 'nvidia')" ]; then - # --- Driver Selection --- - NVIDIA_DRIVER_CURRENT="current" - NVIDIA_DRIVER_LEGACY="legacy" - if echo "$(lspci | grep -i 'nvidia')" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then - NVIDIA_DRIVER="$NVIDIA_DRIVER_CURRENT" - else - NVIDIA_DRIVER="$NVIDIA_DRIVER_LEGACY" - fi - +if [ -n "$NVIDIA" ]; then # Check which kernel is installed and set appropriate headers package KERNEL_HEADERS="linux-headers" # Default if pacman -Q linux-zen &>/dev/null; then @@ -41,19 +33,19 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then ) # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules - # Pascal (10xx), Maxwell (9xx), Kepler (7xx) and older use legacy branch that can only be installed from AUR - if [ "$NVIDIA_DRIVER" = "$NVIDIA_DRIVER_CURRENT" ]; then + # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR + # All older drivers are directed to wiki + if echo "$NVIDIA" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then DRIVER_PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" "${DRIVER_PACKAGES[@]}" - elif [ "$NVIDIA_DRIVER" = "$NVIDIA_DRIVER_LEGACY" ]; then + elif echo "$NVIDIA" | grep -q -E "GTX 9|GTX 10"; then sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" - if ! command -v yay &>/dev/null; then - echo "ERROR: Older NVIDIA GPUs require nvidia-580xx-dkms from AUR." - echo "Please install yay." - exit 1 - fi LEGACY_DRIVER_PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) yay -S --needed --noconfirm "${LEGACY_DRIVER_PACKAGES[@]}" + else + echo "Your GPU is unsupported by NVIDIA or Arch." + echo "See: https://wiki.archlinux.org/title/NVIDIA" + exit 1 fi # Configure modprobe for early KMS From 9c8c789453650b3049b0f94df3abc486b4c2bda6 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 21:05:45 -0500 Subject: [PATCH 05/15] Simplify this check --- install/config/hardware/nvidia.sh | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 8b38b19b..e8c4e709 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -12,17 +12,7 @@ NVIDIA="$(lspci | grep -i 'nvidia')" # --- GPU Detection --- if [ -n "$NVIDIA" ]; then # Check which kernel is installed and set appropriate headers package - KERNEL_HEADERS="linux-headers" # Default - if pacman -Q linux-zen &>/dev/null; then - KERNEL_HEADERS="linux-zen-headers" - elif pacman -Q linux-lts &>/dev/null; then - KERNEL_HEADERS="linux-lts-headers" - elif pacman -Q linux-hardened &>/dev/null; then - KERNEL_HEADERS="linux-hardened-headers" - fi - - # force package database refresh - sudo pacman -Syu --noconfirm + KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers" # Initial install packages GENERAL_PACKAGES=( From c535b192355e9db9732e3efcce82b368c509ea3c Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 21:06:04 -0500 Subject: [PATCH 06/15] These already get installed or are dependencies --- install/config/hardware/nvidia.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index e8c4e709..f723c7c0 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -14,14 +14,6 @@ if [ -n "$NVIDIA" ]; then # Check which kernel is installed and set appropriate headers package KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers" - # Initial install packages - GENERAL_PACKAGES=( - "${KERNEL_HEADERS}" - "egl-wayland" - "qt5-wayland" - "qt6-wayland" - ) - # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR # All older drivers are directed to wiki From 65a238d8053ad755f5c559679f9eb9e1a02c8b21 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 21:42:26 -0500 Subject: [PATCH 07/15] Simplify --- install/config/hardware/nvidia.sh | 35 +++++++++++-------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index f723c7c0..726d1bc3 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -16,38 +16,27 @@ if [ -n "$NVIDIA" ]; then # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR - # All older drivers are directed to wiki - if echo "$NVIDIA" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then - DRIVER_PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) - sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" "${DRIVER_PACKAGES[@]}" - elif echo "$NVIDIA" | grep -q -E "GTX 9|GTX 10"; then - sudo pacman -S --needed --noconfirm "${GENERAL_PACKAGES[@]}" - LEGACY_DRIVER_PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) - yay -S --needed --noconfirm "${LEGACY_DRIVER_PACKAGES[@]}" + if echo "$NVIDIA" | grep -qE "RTX [2-9][0-9]|GTX 16"; then + PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) + elif echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then + PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) else echo "Your GPU is unsupported by NVIDIA or Arch." echo "See: https://wiki.archlinux.org/title/NVIDIA" exit 1 fi + pacman -S --needed --noconfirm "$KERNEL_HEADERS" "${PACKAGES[@]}" + # Configure modprobe for early KMS - echo "options nvidia_drm modeset=1" | sudo tee /etc/modprobe.d/nvidia.conf >/dev/null + sudo tee /etc/modprobe.d/nvidia.conf </dev/null +options nvidia_drm modeset=1 +EOF # Configure mkinitcpio for early loading - MKINITCPIO_CONF="/etc/mkinitcpio.conf" - - # Define modules - NVIDIA_MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm" - - # Create backup - sudo cp "$MKINITCPIO_CONF" "${MKINITCPIO_CONF}.backup" - - # Remove any old nvidia modules to prevent duplicates - sudo sed -i -E 's/ nvidia_drm//g; s/ nvidia_uvm//g; s/ nvidia_modeset//g; s/ nvidia//g;' "$MKINITCPIO_CONF" - # Add the new modules at the start of the MODULES array - sudo sed -i -E "s/^(MODULES=\\()/\\1${NVIDIA_MODULES} /" "$MKINITCPIO_CONF" - # Clean up potential double spaces - sudo sed -i -E 's/ +/ /g' "$MKINITCPIO_CONF" + sudo tee /etc/mkinitcpio.conf.d/nvidia.conf </dev/null +MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) +EOF sudo mkinitcpio -P From 13390441a9d25d026d48921529dab71314cc3731 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 21:42:35 -0500 Subject: [PATCH 08/15] Don't need to run this --- install/config/hardware/nvidia.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 726d1bc3..b2a3e053 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -38,8 +38,6 @@ EOF MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) EOF - sudo mkinitcpio -P - # Add NVIDIA environment variables to hyprland.conf HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf" if [ -f "$HYPRLAND_CONF" ]; then From fe8927b35151bb37eca125a7e14f0bf6496a868f Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 21:46:43 -0500 Subject: [PATCH 09/15] Simplify further --- install/config/hardware/nvidia.sh | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index b2a3e053..a5214209 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -1,12 +1,3 @@ -# ============================================================================== -# Hyprland NVIDIA Setup Script for Arch Linux -# ============================================================================== -# This script automates the installation and configuration of NVIDIA drivers -# for use with Hyprland on Arch Linux, following the official Hyprland wiki. -# -# Author: https://github.com/Kn0ax -# -# ============================================================================== NVIDIA="$(lspci | grep -i 'nvidia')" # --- GPU Detection --- @@ -38,15 +29,12 @@ EOF MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) EOF - # Add NVIDIA environment variables to hyprland.conf - HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf" - if [ -f "$HYPRLAND_CONF" ]; then - cat >>"$HYPRLAND_CONF" <<'EOF' + # Add NVIDIA environment variables + cat >>$HOME/.config/hypr/envs.conf <<'EOF' -# NVIDIA environment variables +# NVIDIA env = NVD_BACKEND,direct env = LIBVA_DRIVER_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia EOF - fi fi From 314abce4e8fd571e319bf23c949856fc5dfac11d Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 21:47:17 -0500 Subject: [PATCH 10/15] We know what we're doing --- install/config/hardware/nvidia.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index a5214209..6bd8a886 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -1,6 +1,5 @@ NVIDIA="$(lspci | grep -i 'nvidia')" -# --- GPU Detection --- if [ -n "$NVIDIA" ]; then # Check which kernel is installed and set appropriate headers package KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers" From e416988d4e925cf7b6cce6f16a659390a563a100 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 22:20:38 -0500 Subject: [PATCH 11/15] Rearrange and don't hard-fail --- install/config/hardware/nvidia.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 6bd8a886..0fbd4616 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -4,17 +4,14 @@ if [ -n "$NVIDIA" ]; then # Check which kernel is installed and set appropriate headers package KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers" - # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules - # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR if echo "$NVIDIA" | grep -qE "RTX [2-9][0-9]|GTX 16"; then + # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) elif echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then + # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) - else - echo "Your GPU is unsupported by NVIDIA or Arch." - echo "See: https://wiki.archlinux.org/title/NVIDIA" - exit 1 fi + # < GTX 9, See: https://wiki.archlinux.org/title/NVIDIA pacman -S --needed --noconfirm "$KERNEL_HEADERS" "${PACKAGES[@]}" From d0aabc162a8f88f8f120f5e9c3e9989ca6230245 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sat, 27 Dec 2025 22:20:44 -0500 Subject: [PATCH 12/15] Add packages to others --- install/omarchy-other.packages | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install/omarchy-other.packages b/install/omarchy-other.packages index 8a7ae45a..e531d56e 100644 --- a/install/omarchy-other.packages +++ b/install/omarchy-other.packages @@ -27,9 +27,12 @@ linux linux-firmware linux-headers macbook12-spi-driver-dkms +nvidia-580xx-dkms nvidia-dkms nvidia-open-dkms +nvidia-580xx-utils nvidia-utils +lib32-nvidia-580xx-utils lib32-nvidia-utils pipewire pipewire-alsa From df0a019c6ae43ea63c7801052e645446c6c0ba66 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 28 Dec 2025 12:34:13 -0500 Subject: [PATCH 13/15] Add migration --- migrations/1766942230.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 migrations/1766942230.sh diff --git a/migrations/1766942230.sh b/migrations/1766942230.sh new file mode 100644 index 00000000..a973b5b1 --- /dev/null +++ b/migrations/1766942230.sh @@ -0,0 +1,8 @@ +echo "Migrate legacy NVIDIA GPUs to nvidia-580xx driver (if needed)" + +# Only migrate GTX 9xx or 10xx (Pascal/Maxwell) +NVIDIA="$(lspci | grep -i 'nvidia')" +if echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then + omarchy-pkg-drop nvidia nvidia-dkms nvidia-open-dkms nvidia-utils lib32-nvidia-utils + omarchy-pkg-add nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils +fi From 2c7480135a1020642074fac7db4d14a99f59eb1e Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 28 Dec 2025 13:27:33 -0500 Subject: [PATCH 14/15] Add migration --- migrations/1766942230.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migrations/1766942230.sh b/migrations/1766942230.sh index a973b5b1..cb780f32 100644 --- a/migrations/1766942230.sh +++ b/migrations/1766942230.sh @@ -3,6 +3,6 @@ echo "Migrate legacy NVIDIA GPUs to nvidia-580xx driver (if needed)" # Only migrate GTX 9xx or 10xx (Pascal/Maxwell) NVIDIA="$(lspci | grep -i 'nvidia')" if echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then - omarchy-pkg-drop nvidia nvidia-dkms nvidia-open-dkms nvidia-utils lib32-nvidia-utils - omarchy-pkg-add nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils + # Piping yes to override existing packages + yes | sudo pacman -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils fi From 7e12473f8095261c388ba08ac0c507f7c198afa3 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 28 Dec 2025 13:27:37 -0500 Subject: [PATCH 15/15] Don't continue if we don't have a GPU --- install/config/hardware/nvidia.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index 0fbd4616..dba1e6b2 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -11,7 +11,11 @@ if [ -n "$NVIDIA" ]; then # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) fi - # < GTX 9, See: https://wiki.archlinux.org/title/NVIDIA + # Bail if no supported GPU + if [ -z "${PACKAGES+x}" ]; then + echo "No compatible driver for your NVIDIA GPU. See: https://wiki.archlinux.org/title/NVIDIA" + exit 0 + fi pacman -S --needed --noconfirm "$KERNEL_HEADERS" "${PACKAGES[@]}"