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
|
||||
# https://gitlab.com/prism7/archery
|
||||
# Version: 8.3.9
|
||||
# Version: 8.4.0
|
||||
|
||||
set -euo pipefail
|
||||
###################################################################################################
|
||||
|
@ -1679,8 +1679,6 @@ Enter a number: "
|
|||
###################################################################################################
|
||||
vga_conf() {
|
||||
|
||||
local prompt="Graphics Setup"
|
||||
|
||||
if [[ "${vgaconf}" == "y" ]]; then
|
||||
if [[ "${vendor}" == "Intel" ]]; then
|
||||
perf_stream="dev.i915.perf_stream_paranoid = 0"
|
||||
|
@ -1732,9 +1730,9 @@ Enter a number ${bwhite}(empty to skip)${blue}: "
|
|||
> Select Nvidia architecture: "
|
||||
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 "
|
||||
|
||||
|
||||
|
@ -1774,6 +1772,28 @@ Enter a number: "
|
|||
# Other Kernels
|
||||
else
|
||||
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 ;;
|
||||
"")
|
||||
choice
|
||||
|
@ -1810,6 +1830,7 @@ Enter a number: "
|
|||
skip
|
||||
fi
|
||||
vga_slct="yes"
|
||||
local prompt="Graphics Setup"
|
||||
ok
|
||||
}
|
||||
###################################################################################################
|
||||
|
@ -5895,28 +5916,32 @@ set_vars() {
|
|||
# Mkinitcpio Hooks (Encryption)
|
||||
mkinitcpio_hooks="HOOKS=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)"
|
||||
# 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
|
||||
elif [[ "${vendor}" == "AMD" ]]; then
|
||||
# Mkinitcpio Hooks (Encryption)
|
||||
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
|
||||
if [[ "${islands}" == "1" ]]; then
|
||||
# Mkinitcpio Modules (Encryption)
|
||||
mkinitcpio_mods="MODULES=(amdgpu ${fs_mod})"
|
||||
# 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
|
||||
elif [[ "${islands}" == "2" ]]; then
|
||||
# Mkinitcpio Modules (Encryption)
|
||||
mkinitcpio_mods="MODULES=(amdgpu ${fs_mod})"
|
||||
# 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
|
||||
# Mkinitcpio Modules (Encryption)
|
||||
mkinitcpio_mods="MODULES=(${fs_mod})"
|
||||
# Graphics Kernel Parameters
|
||||
vga_bootopts="amdgpu.dc=1"
|
||||
fi
|
||||
fi
|
||||
## Configuration = 'No'
|
||||
|
@ -5932,8 +5957,8 @@ set_vars() {
|
|||
if [[ -n "${encr_swap_bootopts}" ]]; then
|
||||
boot_opts+=("${encr_swap_bootopts}")
|
||||
fi
|
||||
if [[ -n "${vga_bootopts}" ]]; then
|
||||
boot_opts+=("${vga_bootopts}")
|
||||
if [[ -n "${vga_bootopts[*]}" ]]; then
|
||||
boot_opts+=("${vga_bootopts[*]}")
|
||||
fi
|
||||
if [[ -n "${cust_bootopts}" ]]; then
|
||||
boot_opts+=("${cust_bootopts}")
|
||||
|
@ -5970,28 +5995,32 @@ set_vars() {
|
|||
# Mkinitcpio Hooks
|
||||
mkinitcpio_hooks="HOOKS=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)"
|
||||
# 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
|
||||
elif [[ "${vendor}" == "AMD" ]]; then
|
||||
# Mkinitcpio Hooks
|
||||
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
|
||||
if [[ "${islands}" == "1" ]]; then
|
||||
# Mkinitcpio Modules
|
||||
mkinitcpio_mods="MODULES=(amdgpu)"
|
||||
# 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
|
||||
elif [[ "${islands}" == "2" ]]; then
|
||||
# Mkinitcpio Modules
|
||||
mkinitcpio_mods="MODULES=(amdgpu)"
|
||||
# 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
|
||||
# Mkinitcpio Modules
|
||||
mkinitcpio_mods="MODULES=()"
|
||||
# Graphics Kernel Parameters
|
||||
vga_bootopts="amdgpu.dc=1"
|
||||
fi
|
||||
fi
|
||||
## Configuration = 'No'
|
||||
|
@ -6007,8 +6036,8 @@ set_vars() {
|
|||
if [[ "${autoroot}" == "y" ]]; then
|
||||
boot_opts+=("${multiroot_bootopts}")
|
||||
fi
|
||||
if [[ -n "${vga_bootopts}" ]]; then
|
||||
boot_opts+=("${vga_bootopts}")
|
||||
if [[ -n "${vga_bootopts[*]}" ]]; then
|
||||
boot_opts+=("${vga_bootopts[*]}")
|
||||
fi
|
||||
if [[ -n "${cust_bootopts}" ]]; then
|
||||
boot_opts+=("${cust_bootopts}")
|
||||
|
@ -6363,7 +6392,7 @@ MULTILIB
|
|||
tty="$(tty)"
|
||||
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
||||
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[@]}"
|
||||
clear
|
||||
first_check
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue