From ac68aee47424b461e2abdc839eb3fd2a58169902 Mon Sep 17 00:00:00 2001 From: Jane Doe Date: Sun, 8 Mar 2026 16:19:10 +0200 Subject: [PATCH] Change: Nvidia: If Swap (Hibernation) has been selected by user, the installer will no longer load Nvidia modules early in the initramfs, to avoid the reported issues. Add: KDE Plasma QoL addons: Packages 'libappindicator, kde-inotify-survey' have been added Change: Edit/Add a few comments --- Amelia.sh | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/Amelia.sh b/Amelia.sh index 2d552f2..2727cf8 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -1,7 +1,7 @@ #!/bin/bash # Amelia installer for Archlinux - # Version: 1.2.4 + # Version: 1.2.5 # Source: https://gitlab.com/prism7/archery # Contact: leenooks7@gmail.com @@ -1997,7 +1997,7 @@ gfxpkgs_set() { ----------------------------------------------------------------${cyan} ### ${yellowl}INFO: ${nc}When Hibernating ${cyan}### - ### ${nc}Nvidia's ${yellowl}'Preserve Video Memory after suspend' ${nc}feature ${cyan}### + ### ${nc}Nvidia's ${yellowl}'Preserve-Video-Memory-After-Suspend' ${nc}feature ${cyan}### ### ${nc}is incompatible with ${yellowl}'Early KMS' ${nc}use ${cyan}###${nc} ----------------------------------------------------------------" @@ -6155,7 +6155,7 @@ pkg_collection() { displaymanager="plasmalogin" ;; 2) # Plasma Lite Desktop: - deskpkgs="${basepkgs[*]} ark bluedevil breeze-gtk colord-kde dolphin-plugins flatpak-kcm freerdp kate kcalc kclock kde-gtk-config kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdf kdialog keditbookmarks kget kimageformats kio-admin kio-gdrive kio-zeroconf konsole krdc krfb kscreen kwayland-integration kwrited okular purpose ocean-sound-theme packagekit-qt6 partitionmanager plasma5-integration plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-keyboard plasma-login-manager plasma-nm plasma-pa plasma-systemmonitor plasma-wayland-protocols plasma-x11-session spectacle appmenu-gtk-module arj dosfstools ffmpegthumbs icoutils kvantum libappimage lrzip lzop ntfs-3g power-profiles-daemon qt5-xmlpatterns qt6-connectivity qt6-multimedia-gstreamer unarchiver unrar xdg-desktop-portal-gtk" + deskpkgs="${basepkgs[*]} ark bluedevil breeze-gtk colord-kde dolphin-plugins flatpak-kcm freerdp kate kcalc kclock kde-gtk-config kde-inotify-survey kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdf kdialog keditbookmarks kget kimageformats kio-admin kio-gdrive kio-zeroconf konsole krdc krfb kscreen kwayland-integration kwrited okular purpose ocean-sound-theme packagekit-qt6 partitionmanager plasma5-integration plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-keyboard plasma-login-manager plasma-nm plasma-pa plasma-systemmonitor plasma-wayland-protocols plasma-x11-session spectacle appmenu-gtk-module arj dosfstools ffmpegthumbs icoutils kvantum libappimage libappindicator lrzip lzop ntfs-3g power-profiles-daemon qrca qt5-xmlpatterns qt6-connectivity qt6-multimedia-gstreamer unarchiver unrar xdg-desktop-portal-gtk" displaymanager="plasmalogin" ;; 3) # Gnome Desktop: @@ -6406,7 +6406,6 @@ ${magenta}###${nc}--------------------------${magenta}[ ${bwhite}Setting Up Wire " if sed -i "/^#WIRELESS_REGDOM=\"${REGDOM}\"/s/^#//" /mnt/etc/conf.d/wireless-regdom ; then ok - echo else stage_fail fi @@ -7173,13 +7172,12 @@ set_vars() { uki="n" fi - # Mkinitcpio Modules/Binaries/Hooks + ### Mkinitcpio Modules/Binaries/Hooks MODULES=() BINARIES=() HOOKS=() - #-------------------------------------------------------------------------------------------------- - # BINARIES SETUP + ## BINARIES SETUP # Btrfs Mkinitcpio Binary [[ "${fs}" == "2" ]] && BINARIES+=(/usr/bin/btrfs) @@ -7197,7 +7195,7 @@ set_vars() { encr_root_bootopts="${encr_root_opts} root=${encr_root_dev}" #-------------------------------------------------------------------------------------------------- - # LUKS SWAP SETUP + ## LUKS SWAP SETUP # Encrypted Swap Partition if [[ "${swapmode}" == "1" ]]; then @@ -7221,13 +7219,14 @@ set_vars() { encr_swap_bootopts="resume=${encr_root_dev} resume_offset=${offst}" fi #-------------------------------------------------------------------------------------------------- - # LUKS HOME SETUP + ## LUKS HOME SETUP if [[ "${sep_home}" == "y" && "${hometype}" == "1" ]]; then + # ATTENTION LUKS HOME PARTITION KERNEL CMDLINE encr_home_bootopts="rd.luks.name=$(blkid -s UUID -o value "${home_dev}")=home" fi #-------------------------------------------------------------------------------------------------- - # LUKS HOOKS SETUP + ## LUKS HOOKS SETUP # Nvidia Proprietary GFX Hooks if [[ "${nvidiaprop}" == "y" ]]; then @@ -7240,7 +7239,7 @@ set_vars() { [[ "${fs}" == "1" ]] && HOOKS+=(fsck) #-------------------------------------------------------------------------------------------------- - # LUKS MODULES SETUP + ## LUKS MODULES SETUP # LUKS Mkinitcpio Modules MODULES+=("${fs_mod}") @@ -7254,12 +7253,11 @@ set_vars() { # If LUKS Home: [[ -n "${encr_home_bootopts}" ]] && boot_opts+=("${encr_home_bootopts}") - #-------------------------------------------------------------------------------------------------- # NO ENCRYPTION elif [[ "${encrypt}" == "no" ]]; then - # HOOKS SETUP + ## HOOKS SETUP # Nvidia Proprietary GFX Hooks if [[ "${nvidiaprop}" == "y" ]]; then @@ -7268,9 +7266,9 @@ set_vars() { else HOOKS+=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems) fi + # Add Fsck Hook [[ "${fs}" == "1" ]] && HOOKS+=(fsck) - #-------------------------------------------------------------------------------------------------- # ATTENTION MAIN KERNEL CMDLINE boot_opts=() @@ -7279,14 +7277,18 @@ set_vars() { [[ "${autoroot}" == "y" ]] && boot_opts+=("${multiroot_bootopts}") fi #-------------------------------------------------------------------------------------------------- - # GFX CONFIGURATION + + ## GFX CONFIGURATION # Gfx Kernel Cmdline gfx_bootopts=() # Nvidia Proprietary if [[ "${nvidiaprop}" == "y" ]]; then - MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) + # No Hibernation -> EARLY KMS + if [[ -z "${swapmode}" ]]; then + MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) + fi gfx_bootopts+=(nvidia.NVreg_UsePageAttributeTable=1) # MultiGfx with Intel @@ -7294,7 +7296,7 @@ set_vars() { # MultiGfx with AMD [[ "${vendors}" =~ "AMD" ]] && MODULES+=(amdgpu radeon) - # Disable GSP Firmware + # Disable GSP Firmware -> NVIDIA 580xx [AUR] DRIVER ONLY [[ "${nogsp}" == "y" ]] && gfx_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0) # Enable Experimental Low Latency Interrupts [[ "${lowlat}" == "y" ]] && gfx_bootopts+=(nvidia.NVreg_RegistryDwords=RMIntrLockingMode=1) @@ -7378,7 +7380,7 @@ SLICK fi if [[ "${vendor}" != "Virtual Machine" && "${desktop}" != "11" ]]; then - local stage_prompt="Bluetooth Services Activation" + local stage_prompt="Bluetooth Service Activation" if arch-chroot /mnt <<-BLUETOOTH > "${void}" 2>&1 2> "${log}" ; then systemctl enable bluetooth || exit BLUETOOTH