mirror of
https://gitlab.com/prism7/archery.git
synced 2025-02-15 08:29:17 +01:00
Change: 'Graphics Setup' stage > Major code revision in order to comply with the latest Nvidia drivers changes
Change: Some minor indentation
This commit is contained in:
parent
2d9bde1332
commit
6d65c6f030
1 changed files with 199 additions and 254 deletions
153
Amelia.sh
153
Amelia.sh
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Amelia Installer
|
# Amelia Installer
|
||||||
# Version: 7.5
|
# Version: 7.6
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR
|
trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR
|
||||||
|
@ -1718,9 +1718,9 @@ Enter a number ${bwhite}(empty to skip)${blue}: "
|
||||||
> Select Nvidia architecture: "
|
> Select Nvidia architecture: "
|
||||||
NC "
|
NC "
|
||||||
|
|
||||||
[1] NV110 (Maxwell) Graphics or newer
|
[1] NV160 (Turing) Graphics or newer
|
||||||
|
|
||||||
[2] NV160 (Turing) Graphics or newer "
|
[2] NV110 (Maxwell) Graphics or newer "
|
||||||
BLUE "
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
|
@ -1732,120 +1732,46 @@ Enter a number: "
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
NC "
|
NC "
|
||||||
|
|
||||||
|
==> [${green}Turing+ OK${nc}]
|
||||||
|
"
|
||||||
|
elif [[ "${family}" == "2" ]]; then
|
||||||
|
sleep 0.2
|
||||||
|
NC "
|
||||||
|
|
||||||
==> [${green}Maxwell+ OK${nc}]
|
==> [${green}Maxwell+ OK${nc}]
|
||||||
"
|
"
|
||||||
elif [[ "${family}" == "2" ]]; then
|
|
||||||
sleep 0.2
|
|
||||||
YELLOW "
|
|
||||||
|
|
||||||
|
|
||||||
> Select Nvidia driver: "
|
|
||||||
NC "
|
|
||||||
|
|
||||||
[1] 'Nvidia-Open' driver
|
|
||||||
|
|
||||||
[2] 'Nvidia' driver "
|
|
||||||
BLUE "
|
|
||||||
|
|
||||||
|
|
||||||
Enter a number: "
|
|
||||||
read -r -p "
|
|
||||||
==> " nvdriver
|
|
||||||
|
|
||||||
if [[ "${nvdriver}" == "1" ]]; then
|
|
||||||
if [[ -n "${vendor2}" ]]; then
|
|
||||||
sleep 0.2
|
|
||||||
YELLOW "
|
|
||||||
|
|
||||||
### AMD Graphics have also been detected "
|
|
||||||
RED "
|
|
||||||
----------------------------------------------------------------------
|
|
||||||
### ${yellow}There may be incompatibilities with the ${nc}'Nvidia-Open' ${yellow}driver ${red}###
|
|
||||||
----------------------------------------------------------------------"
|
|
||||||
YELLOW "
|
|
||||||
|
|
||||||
|
|
||||||
> Please confirm your selection: "
|
|
||||||
NC "
|
|
||||||
|
|
||||||
[1] 'Nvidia-Open' driver
|
|
||||||
|
|
||||||
[2] 'Nvidia' driver "
|
|
||||||
BLUE "
|
|
||||||
|
|
||||||
|
|
||||||
Enter a number: "
|
|
||||||
read -r -p "
|
|
||||||
==> " nvdriver
|
|
||||||
|
|
||||||
if [[ "${nvdriver}" == "1" || "${nvdriver}" == "2" ]]; then
|
|
||||||
sleep 0.2
|
|
||||||
NC "
|
|
||||||
|
|
||||||
==> [${green}Driver Confirmed OK${nc}] "
|
|
||||||
else
|
else
|
||||||
echo
|
echo
|
||||||
invalid
|
invalid
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
sleep 0.2
|
|
||||||
NC "
|
|
||||||
|
|
||||||
==> [${green}Turing+ OK${nc}]
|
# Turing+ Family
|
||||||
"
|
if [[ "${family}" == "1" ]]; then
|
||||||
elif [[ "${nvdriver}" == "2" ]]; then
|
# Linux Kernel
|
||||||
sleep 0.2
|
|
||||||
NC "
|
|
||||||
|
|
||||||
==> [${green}Turing+ OK${nc}]
|
|
||||||
"
|
|
||||||
else
|
|
||||||
echo
|
|
||||||
invalid
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo
|
|
||||||
invalid
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
if [[ "${kernelnmbr}" == "1" ]]; then
|
if [[ "${kernelnmbr}" == "1" ]]; then
|
||||||
if [[ "${family}" == "1" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia nvidia-settings nvidia-utils opencl-nvidia"
|
|
||||||
nvname="nvidia"
|
|
||||||
elif [[ "${family}" == "2" ]]; then
|
|
||||||
if [[ "${nvdriver}" == "1" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-open nvidia-settings nvidia-utils opencl-nvidia"
|
|
||||||
nvname="nvidia-open"
|
nvname="nvidia-open"
|
||||||
elif [[ "${nvdriver}" == "2" ]]; then
|
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-open nvidia-settings nvidia-utils opencl-nvidia"
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia nvidia-settings nvidia-utils opencl-nvidia"
|
# Other Kernels
|
||||||
nvname="nvidia"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
elif [[ "${kernelnmbr}" == "2" ]]; then
|
|
||||||
if [[ "${family}" == "1" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-lts nvidia-settings nvidia-utils opencl-nvidia"
|
|
||||||
nvname="nvidia-lts"
|
|
||||||
elif [[ "${family}" == "2" ]]; then
|
|
||||||
if [[ "${nvdriver}" == "1" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-open-dkms nvidia-settings nvidia-utils opencl-nvidia"
|
|
||||||
elif [[ "${nvdriver}" == "2" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-lts nvidia-settings nvidia-utils opencl-nvidia"
|
|
||||||
nvname="nvidia-lts"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
if [[ "${family}" == "1" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-dkms nvidia-settings nvidia-utils opencl-nvidia"
|
|
||||||
elif [[ "${family}" == "2" ]]; then
|
|
||||||
if [[ "${nvdriver}" == "1" ]]; then
|
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-open-dkms nvidia-settings nvidia-utils opencl-nvidia"
|
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-open-dkms nvidia-settings nvidia-utils opencl-nvidia"
|
||||||
elif [[ "${nvdriver}" == "2" ]]; then
|
fi
|
||||||
|
# Maxwell+ Family
|
||||||
|
elif [[ "${family}" == "2" ]]; then
|
||||||
|
# Linux Kernel
|
||||||
|
if [[ "${kernelnmbr}" == "1" ]]; then
|
||||||
|
nvname="nvidia"
|
||||||
|
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia nvidia-settings nvidia-utils opencl-nvidia"
|
||||||
|
# Linux LTS Kernel
|
||||||
|
elif [[ "${kernelnmbr}" == "2" ]]; then
|
||||||
|
nvname="nvidia-lts"
|
||||||
|
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-lts nvidia-settings nvidia-utils opencl-nvidia"
|
||||||
|
# Other Kernels
|
||||||
|
else
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-dkms nvidia-settings nvidia-utils opencl-nvidia"
|
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-dkms nvidia-settings nvidia-utils opencl-nvidia"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
@ -1884,6 +1810,7 @@ Enter [y/n]: "
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
@ -5580,7 +5507,7 @@ ZRAM
|
||||||
nvidia_hook_conf() {
|
nvidia_hook_conf() {
|
||||||
|
|
||||||
if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then
|
if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then
|
||||||
if [[ "${kernelnmbr}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "1" ]] || [[ "${kernelnmbr}" == "2" && "${family}" == "2" && "${nvdriver}" == "2" ]]; then
|
if [[ "${nvname}" == "nvidia-open" ]] || [[ "${nvname}" == "nvidia" ]] || [[ "${nvname}" == "nvidia-lts" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
local stage_prompt="Nvidia-Hook"
|
local stage_prompt="Nvidia-Hook"
|
||||||
if arch-chroot /mnt <<-NVIDIA_HOOK > /dev/null 2>&1 ; then
|
if arch-chroot /mnt <<-NVIDIA_HOOK > /dev/null 2>&1 ; then
|
||||||
|
@ -5615,9 +5542,11 @@ uki_conf() {
|
||||||
if [[ "${uki}" == "y" ]]; then
|
if [[ "${uki}" == "y" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
local stage_prompt="UKI"
|
local stage_prompt="UKI"
|
||||||
|
|
||||||
if [[ ! -e "${esp_mount}"/EFI/Linux ]]; then
|
if [[ ! -e "${esp_mount}"/EFI/Linux ]]; then
|
||||||
mkdir -p "${esp_mount}"/EFI/Linux || exit
|
mkdir -p "${esp_mount}"/EFI/Linux || exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${bootloader}" == "1" ]]; then
|
if [[ "${bootloader}" == "1" ]]; then
|
||||||
if arch-chroot /mnt <<- UKI > /dev/null 2>&1 ; then
|
if arch-chroot /mnt <<- UKI > /dev/null 2>&1 ; then
|
||||||
mkdir /etc/cmdline.d || exit
|
mkdir /etc/cmdline.d || exit
|
||||||
|
@ -5635,12 +5564,15 @@ UKI
|
||||||
else
|
else
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -e /mnt/boot/initramfs-"${kernel}".img ]]; then
|
if [[ -e /mnt/boot/initramfs-"${kernel}".img ]]; then
|
||||||
rm /mnt/boot/initramfs-"${kernel}".img || exit
|
rm /mnt/boot/initramfs-"${kernel}".img || exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -e /mnt/boot/initramfs-"${kernel}"-fallback.img ]]; then
|
if [[ -e /mnt/boot/initramfs-"${kernel}"-fallback.img ]]; then
|
||||||
rm /mnt/boot/initramfs-"${kernel}"-fallback.img || exit
|
rm /mnt/boot/initramfs-"${kernel}"-fallback.img || exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [[ "${bootloader}" == "2" ]]; then
|
elif [[ "${bootloader}" == "2" ]]; then
|
||||||
if arch-chroot /mnt <<- UKI > /dev/null 2>&1 ; then
|
if arch-chroot /mnt <<- UKI > /dev/null 2>&1 ; then
|
||||||
mkdir /etc/cmdline.d || exit
|
mkdir /etc/cmdline.d || exit
|
||||||
|
@ -5733,7 +5665,7 @@ set_vars() {
|
||||||
# Set Default '/Temp' path
|
# Set Default '/Temp' path
|
||||||
vga_bootopts="nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_UsePageAttributeTable=1 nvidia.NVreg_PreserveVideoMemoryAllocations=1 "
|
vga_bootopts="nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_UsePageAttributeTable=1 nvidia.NVreg_PreserveVideoMemoryAllocations=1 "
|
||||||
fi
|
fi
|
||||||
# No Preserve-Nvidia-Video-Memory after suspend/hibernate/resume
|
# No-Preserve-Nvidia-Video-Memory after suspend/hibernate/resume
|
||||||
else
|
else
|
||||||
# Mkinitcpio Modules (Encryption) [Early Nvidia KMS]
|
# Mkinitcpio Modules (Encryption) [Early Nvidia KMS]
|
||||||
mkinitcpio_mods="MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm ${fs_mod})"
|
mkinitcpio_mods="MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm ${fs_mod})"
|
||||||
|
@ -5876,6 +5808,7 @@ ${magenta}###${nc}--------------------------------${magenta}[ ${bwhite}Chroot &
|
||||||
if [[ "${packages}" =~ ^(1|3|5|6|7|8|9|10|11)$ ]]; then
|
if [[ "${packages}" =~ ^(1|3|5|6|7|8|9|10|11)$ ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
main_chroot
|
main_chroot
|
||||||
|
|
||||||
if [[ -f /mnt/etc/lightdm/lightdm.conf ]]; then
|
if [[ -f /mnt/etc/lightdm/lightdm.conf ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
if [[ "${packages}" == "7" ]]; then
|
if [[ "${packages}" == "7" ]]; then
|
||||||
|
@ -5907,6 +5840,7 @@ SLICK
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${bluetooth}" ]]; then
|
if [[ -n "${bluetooth}" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
stage_prompt="Bluetooth Service"
|
stage_prompt="Bluetooth Service"
|
||||||
|
@ -5918,6 +5852,7 @@ BLUETOOTH
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${displaymanager}" ]]; then
|
if [[ -n "${displaymanager}" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
stage_prompt="Display Manager Service"
|
stage_prompt="Display Manager Service"
|
||||||
|
@ -5929,6 +5864,7 @@ DM_SERVICE
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${network}" ]]; then
|
if [[ -n "${network}" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
stage_prompt="Network Manager Service"
|
stage_prompt="Network Manager Service"
|
||||||
|
@ -5940,6 +5876,7 @@ NETWORK
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
btldr_conf
|
btldr_conf
|
||||||
trim_conf
|
trim_conf
|
||||||
vm_serv_conf
|
vm_serv_conf
|
||||||
|
@ -5954,6 +5891,7 @@ NETWORK
|
||||||
if [[ "${packages}" == "12" ]]; then
|
if [[ "${packages}" == "12" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
main_chroot
|
main_chroot
|
||||||
|
|
||||||
if [[ -f /mnt/etc/lightdm/lightdm.conf ]]; then
|
if [[ -f /mnt/etc/lightdm/lightdm.conf ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
if [[ "${greeternmbr}" == "1" ]]; then
|
if [[ "${greeternmbr}" == "1" ]]; then
|
||||||
|
@ -5985,6 +5923,7 @@ DEEPIN
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${customservices}" ]]; then
|
if [[ -n "${customservices}" ]]; then
|
||||||
cnfg
|
cnfg
|
||||||
stage_prompt="Custom Service(s)"
|
stage_prompt="Custom Service(s)"
|
||||||
|
@ -5996,6 +5935,7 @@ CUSTOM_SERV
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
btldr_conf
|
btldr_conf
|
||||||
trim_conf
|
trim_conf
|
||||||
vm_serv_conf
|
vm_serv_conf
|
||||||
|
@ -6010,16 +5950,19 @@ CUSTOM_SERV
|
||||||
if [[ "${packages}" == "2" || "${packages}" == "4" ]]; then
|
if [[ "${packages}" == "2" || "${packages}" == "4" ]]; then
|
||||||
stage_prompt="Optimized System"
|
stage_prompt="Optimized System"
|
||||||
cnfg
|
cnfg
|
||||||
|
|
||||||
if [[ "${packages}" == "2" ]]; then
|
if [[ "${packages}" == "2" ]]; then
|
||||||
displaymanager="sddm"
|
displaymanager="sddm"
|
||||||
elif [[ "${packages}" == "4" ]]; then
|
elif [[ "${packages}" == "4" ]]; then
|
||||||
displaymanager="gdm"
|
displaymanager="gdm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${nrg_plc}" ]]; then
|
if [[ -n "${nrg_plc}" ]]; then
|
||||||
arch-chroot /mnt <<-NRG > /dev/null 2>&1
|
arch-chroot /mnt <<-NRG > /dev/null 2>&1
|
||||||
${nrg_plc} performance
|
${nrg_plc} performance
|
||||||
NRG
|
NRG
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if arch-chroot /mnt <<-OPTIMIZED_CONF > /dev/null 2>&1 ; then
|
if arch-chroot /mnt <<-OPTIMIZED_CONF > /dev/null 2>&1 ; then
|
||||||
sed -i "/^#${SETLOCALE}/s/^#//" /etc/locale.gen || exit
|
sed -i "/^#${SETLOCALE}/s/^#//" /etc/locale.gen || exit
|
||||||
locale-gen || exit
|
locale-gen || exit
|
||||||
|
@ -6161,12 +6104,14 @@ OPTIMIZED_CONF
|
||||||
else
|
else
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
|
|
||||||
btldr_conf
|
btldr_conf
|
||||||
zram_conf
|
zram_conf
|
||||||
nvidia_hook_conf
|
nvidia_hook_conf
|
||||||
uki_conf
|
uki_conf
|
||||||
completion
|
completion
|
||||||
fi
|
fi
|
||||||
|
|
||||||
umount -R /mnt
|
umount -R /mnt
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue