From 5aacadd28dc808f14716325d595230dec3bfcabe Mon Sep 17 00:00:00 2001 From: Jane Doe Date: Sat, 8 Mar 2025 18:10:55 +0200 Subject: [PATCH] Change: 'Graphics Setup' stage > Nvidia Proprietary driver: If other than 'Nvidia' GPU vendors are also detected in the system, the installer will not remove the 'KMS' hook from '/etc/mkinitcpio.conf.d/mkinitcpiod.conf' HOOK array since the 'nouveau' module will be blacklisted anyway by the 'nvidia-utils' package after rebooting. This enables other vendor's graphics device(s), if needed. --- Amelia.sh | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Amelia.sh b/Amelia.sh index 93fe3d3..1d1b2bf 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -2,7 +2,7 @@ # Amelia Installer # Source: https://gitlab.com/prism7/archery -# Version: 8.10.0 +# Version: 8.10.1 set -euo pipefail ################################################################################################### @@ -1861,7 +1861,7 @@ vgapkgs_set() { sleep 0.2 RED " ---------------------------------------------------------------- - ### ${yellowl}WARNING: ${nc}${yellow}When ${nc}Hibernating ${red}### + ### ${yellowl}INFO: ${nc}${yellow}When ${nc}Hibernating ${red}### ### ${yellow}Nvidia's ${nc}'Preserve Video Memory after suspend' ${yellow}feature ${red}### @@ -6014,8 +6014,14 @@ set_vars() { elif [[ "${vendor}" == "Nvidia" ]]; then # Mkinitcpio Modules (Encryption) [Nvidia KMS] mkinitcpio_mods="MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm ${fs_mod})" - # Mkinitcpio Hooks (Encryption) - mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)" + # Configure KMS setting + if [[ "${intelcount}" -ge "1" || "${amdcount}" -ge "1" ]]; then + # Multi GPU Vendor Mkinitcpio Hooks (Encryption) + mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems fsck)" + else + # Nvidia GPU Vendor Mkinitcpio Hooks (Encryption) + mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)" + fi # Graphics Kernel Parameters vga_bootopts=(nvidia.NVreg_UsePageAttributeTable=1) @@ -6101,8 +6107,14 @@ set_vars() { elif [[ "${vendor}" == "Nvidia" ]]; then # Mkinitcpio Modules [Nvidia KMS] mkinitcpio_mods="MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)" - # Mkinitcpio Hooks - mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)" + # Configure KMS setting + if [[ "${intelcount}" -ge "1" || "${amdcount}" -ge "1" ]]; then + # Multi GPU Vendor Mkinitcpio Hooks + mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)" + else + # Nvidia GPU Vendor Mkinitcpio Hooks + mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)" + fi # Graphics Kernel Parameters vga_bootopts=(nvidia.NVreg_UsePageAttributeTable=1)