mirror of
https://gitlab.com/prism7/archery.git
synced 2025-02-15 08:29:17 +01:00
Add: When Nvidia hardware is detected, the user can now select to disable 'GSP Firmware', in case it helps for a smoother experience.
Change: The list of graphics kernel parameters to be set, now derives from a versatile array, instead of the 'hard-coded' variables previously used. Change: Some prompts have been edited for better aesthetics.
This commit is contained in:
parent
c84b8b24d0
commit
6d04d3e877
1 changed files with 49 additions and 20 deletions
69
Amelia.sh
69
Amelia.sh
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Amelia Installer
|
# Amelia Installer
|
||||||
# https://gitlab.com/prism7/archery
|
# https://gitlab.com/prism7/archery
|
||||||
# Version: 8.3.9
|
# Version: 8.4.0
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
|
@ -1679,8 +1679,6 @@ Enter a number: "
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
vga_conf() {
|
vga_conf() {
|
||||||
|
|
||||||
local prompt="Graphics Setup"
|
|
||||||
|
|
||||||
if [[ "${vgaconf}" == "y" ]]; then
|
if [[ "${vgaconf}" == "y" ]]; then
|
||||||
if [[ "${vendor}" == "Intel" ]]; then
|
if [[ "${vendor}" == "Intel" ]]; then
|
||||||
perf_stream="dev.i915.perf_stream_paranoid = 0"
|
perf_stream="dev.i915.perf_stream_paranoid = 0"
|
||||||
|
@ -1732,9 +1730,9 @@ Enter a number ${bwhite}(empty to skip)${blue}: "
|
||||||
> Select Nvidia architecture: "
|
> Select Nvidia architecture: "
|
||||||
NC "
|
NC "
|
||||||
|
|
||||||
[1] NV160 (Turing) Graphics or newer
|
[1] NV160 (Turing) Graphics or newer [Nvidia Open Drivers]
|
||||||
|
|
||||||
[2] NV110 (Maxwell) Graphics or newer "
|
[2] NV110 (Maxwell) Graphics or newer [Nvidia Proprietary Drivers] "
|
||||||
BLUE "
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
|
@ -1774,6 +1772,28 @@ Enter a number: "
|
||||||
# Other Kernels
|
# Other Kernels
|
||||||
else
|
else
|
||||||
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-dkms nvidia-settings nvidia-utils opencl-nvidia opencl-headers vkd3d"
|
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia-dkms nvidia-settings nvidia-utils opencl-nvidia opencl-headers vkd3d"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local prompt="GSP Firmware Disabled"
|
||||||
|
sleep 0.2
|
||||||
|
YELLOW "
|
||||||
|
|
||||||
|
> Disable 'GSP' firmware (for troubleshooting) ? [y/n] "
|
||||||
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
|
Enter [y/n]: "
|
||||||
|
read -r -p "
|
||||||
|
==> " nogsp
|
||||||
|
|
||||||
|
if [[ "${nogsp}" == "n" ]]; then
|
||||||
|
skip
|
||||||
|
elif [[ "${nogsp}" == "y" ]]; then
|
||||||
|
ok
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
y_n
|
||||||
|
return 1
|
||||||
fi ;;
|
fi ;;
|
||||||
"")
|
"")
|
||||||
choice
|
choice
|
||||||
|
@ -1810,6 +1830,7 @@ Enter a number: "
|
||||||
skip
|
skip
|
||||||
fi
|
fi
|
||||||
vga_slct="yes"
|
vga_slct="yes"
|
||||||
|
local prompt="Graphics Setup"
|
||||||
ok
|
ok
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
|
@ -5895,28 +5916,32 @@ set_vars() {
|
||||||
# Mkinitcpio Hooks (Encryption)
|
# Mkinitcpio Hooks (Encryption)
|
||||||
mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)"
|
mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)"
|
||||||
# Graphics Kernel Parameters
|
# Graphics Kernel Parameters
|
||||||
vga_bootopts="nvidia.NVreg_UsePageAttributeTable=1"
|
vga_bootopts=(nvidia.NVreg_UsePageAttributeTable=1)
|
||||||
|
|
||||||
|
if [[ "${nogsp}" == "y" ]]; then
|
||||||
|
vga_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
||||||
|
fi
|
||||||
# Amd
|
# Amd
|
||||||
elif [[ "${vendor}" == "AMD" ]]; then
|
elif [[ "${vendor}" == "AMD" ]]; then
|
||||||
# Mkinitcpio Hooks (Encryption)
|
# Mkinitcpio Hooks (Encryption)
|
||||||
mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems fsck)"
|
mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems fsck)"
|
||||||
|
# Graphics Kernel Parameters
|
||||||
|
vga_bootopts=(amdgpu.dc=1)
|
||||||
# 'Southern Islands' support
|
# 'Southern Islands' support
|
||||||
if [[ "${islands}" == "1" ]]; then
|
if [[ "${islands}" == "1" ]]; then
|
||||||
# Mkinitcpio Modules (Encryption)
|
# Mkinitcpio Modules (Encryption)
|
||||||
mkinitcpio_mods="MODULES=(amdgpu ${fs_mod})"
|
mkinitcpio_mods="MODULES=(amdgpu ${fs_mod})"
|
||||||
# Graphics Kernel Parameters
|
# Graphics Kernel Parameters
|
||||||
vga_bootopts="radeon.si_support=0 amdgpu.si_support=1 amdgpu.dc=1"
|
vga_bootopts+=(radeon.si_support=0 amdgpu.si_support=1)
|
||||||
# 'Sea Islands' support
|
# 'Sea Islands' support
|
||||||
elif [[ "${islands}" == "2" ]]; then
|
elif [[ "${islands}" == "2" ]]; then
|
||||||
# Mkinitcpio Modules (Encryption)
|
# Mkinitcpio Modules (Encryption)
|
||||||
mkinitcpio_mods="MODULES=(amdgpu ${fs_mod})"
|
mkinitcpio_mods="MODULES=(amdgpu ${fs_mod})"
|
||||||
# Graphics Kernel Parameters
|
# Graphics Kernel Parameters
|
||||||
vga_bootopts="radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dc=1"
|
vga_bootopts+=(radeon.cik_support=0 amdgpu.cik_support=1)
|
||||||
elif [[ -z "${islands}" ]]; then
|
elif [[ -z "${islands}" ]]; then
|
||||||
# Mkinitcpio Modules (Encryption)
|
# Mkinitcpio Modules (Encryption)
|
||||||
mkinitcpio_mods="MODULES=(${fs_mod})"
|
mkinitcpio_mods="MODULES=(${fs_mod})"
|
||||||
# Graphics Kernel Parameters
|
|
||||||
vga_bootopts="amdgpu.dc=1"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
## Configuration = 'No'
|
## Configuration = 'No'
|
||||||
|
@ -5932,8 +5957,8 @@ set_vars() {
|
||||||
if [[ -n "${encr_swap_bootopts}" ]]; then
|
if [[ -n "${encr_swap_bootopts}" ]]; then
|
||||||
boot_opts+=("${encr_swap_bootopts}")
|
boot_opts+=("${encr_swap_bootopts}")
|
||||||
fi
|
fi
|
||||||
if [[ -n "${vga_bootopts}" ]]; then
|
if [[ -n "${vga_bootopts[*]}" ]]; then
|
||||||
boot_opts+=("${vga_bootopts}")
|
boot_opts+=("${vga_bootopts[*]}")
|
||||||
fi
|
fi
|
||||||
if [[ -n "${cust_bootopts}" ]]; then
|
if [[ -n "${cust_bootopts}" ]]; then
|
||||||
boot_opts+=("${cust_bootopts}")
|
boot_opts+=("${cust_bootopts}")
|
||||||
|
@ -5970,28 +5995,32 @@ set_vars() {
|
||||||
# Mkinitcpio Hooks
|
# Mkinitcpio Hooks
|
||||||
mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)"
|
mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)"
|
||||||
# Graphics Kernel Parameters
|
# Graphics Kernel Parameters
|
||||||
vga_bootopts="nvidia.NVreg_UsePageAttributeTable=1"
|
vga_bootopts=(nvidia.NVreg_UsePageAttributeTable=1)
|
||||||
|
|
||||||
|
if [[ "${nogsp}" == "y" ]]; then
|
||||||
|
vga_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
||||||
|
fi
|
||||||
# Amd
|
# Amd
|
||||||
elif [[ "${vendor}" == "AMD" ]]; then
|
elif [[ "${vendor}" == "AMD" ]]; then
|
||||||
# Mkinitcpio Hooks
|
# Mkinitcpio Hooks
|
||||||
mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)"
|
mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)"
|
||||||
|
# Graphics Kernel Parameters
|
||||||
|
vga_bootopts=(amdgpu.dc=1)
|
||||||
# 'Southern Islands' support
|
# 'Southern Islands' support
|
||||||
if [[ "${islands}" == "1" ]]; then
|
if [[ "${islands}" == "1" ]]; then
|
||||||
# Mkinitcpio Modules
|
# Mkinitcpio Modules
|
||||||
mkinitcpio_mods="MODULES=(amdgpu)"
|
mkinitcpio_mods="MODULES=(amdgpu)"
|
||||||
# Graphics Kernel Parameters
|
# Graphics Kernel Parameters
|
||||||
vga_bootopts="radeon.si_support=0 amdgpu.si_support=1 amdgpu.dc=1"
|
vga_bootopts+=(radeon.si_support=0 amdgpu.si_support=1)
|
||||||
# 'Sea Islands' support
|
# 'Sea Islands' support
|
||||||
elif [[ "${islands}" == "2" ]]; then
|
elif [[ "${islands}" == "2" ]]; then
|
||||||
# Mkinitcpio Modules
|
# Mkinitcpio Modules
|
||||||
mkinitcpio_mods="MODULES=(amdgpu)"
|
mkinitcpio_mods="MODULES=(amdgpu)"
|
||||||
# Graphics Kernel Parameters
|
# Graphics Kernel Parameters
|
||||||
vga_bootopts="radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dc=1"
|
vga_bootopts+=(radeon.cik_support=0 amdgpu.cik_support=1)
|
||||||
elif [[ -z "${islands}" ]]; then
|
elif [[ -z "${islands}" ]]; then
|
||||||
# Mkinitcpio Modules
|
# Mkinitcpio Modules
|
||||||
mkinitcpio_mods="MODULES=()"
|
mkinitcpio_mods="MODULES=()"
|
||||||
# Graphics Kernel Parameters
|
|
||||||
vga_bootopts="amdgpu.dc=1"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
## Configuration = 'No'
|
## Configuration = 'No'
|
||||||
|
@ -6007,8 +6036,8 @@ set_vars() {
|
||||||
if [[ "${autoroot}" == "y" ]]; then
|
if [[ "${autoroot}" == "y" ]]; then
|
||||||
boot_opts+=("${multiroot_bootopts}")
|
boot_opts+=("${multiroot_bootopts}")
|
||||||
fi
|
fi
|
||||||
if [[ -n "${vga_bootopts}" ]]; then
|
if [[ -n "${vga_bootopts[*]}" ]]; then
|
||||||
boot_opts+=("${vga_bootopts}")
|
boot_opts+=("${vga_bootopts[*]}")
|
||||||
fi
|
fi
|
||||||
if [[ -n "${cust_bootopts}" ]]; then
|
if [[ -n "${cust_bootopts}" ]]; then
|
||||||
boot_opts+=("${cust_bootopts}")
|
boot_opts+=("${cust_bootopts}")
|
||||||
|
@ -6363,7 +6392,7 @@ MULTILIB
|
||||||
tty="$(tty)"
|
tty="$(tty)"
|
||||||
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
||||||
trg=""
|
trg=""
|
||||||
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgapkgs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" parallel="" parallelnmbr="" multilib="" nvname="")
|
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgapkgs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" parallel="" parallelnmbr="" multilib="" nvname="" nogsp="")
|
||||||
export "${vars[@]}"
|
export "${vars[@]}"
|
||||||
clear
|
clear
|
||||||
first_check
|
first_check
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue