From 8fc21de71600bc2b04f14c543c097cba7443d7a9 Mon Sep 17 00:00:00 2001 From: Boria138 Date: Tue, 22 Aug 2023 16:36:42 +0600 Subject: [PATCH] Added automatic detection of RTX support by Nvidia card Unfortunately for lack of a 16 series card the code was not tested --- data_from_portwine/scripts/functions_helper | 51 +++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 9b05a1bb..baa991c9 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -1061,3 +1061,54 @@ pw_find_exe () { exit 0 fi } + +nvidia_check_arch(){ + local gpu_info=$(lspci | grep "VGA\|3D") + + if [[ "$gpu_info" =~ NVIDIA ]]; then + if [[ "$gpu_info" =~ G[0-9]*|GT[0-9]*|MCP[0-9]* ]]; then + nv_arch=Tesla + elif [[ "$gpu_info" =~ GF[0-9]* ]]; then + nv_arch=Fermi + elif [[ "$gpu_info" =~ GK[0-9]* ]]; then + nv_arch=Kepler + elif [[ "$gpu_info" =~ GM[0-9]* ]]; then + nv_arch=Maxwell + elif [[ "$gpu_info" =~ GP[0-9]* ]]; then + nv_arch=Pascal + elif [[ "$gpu_info" =~ GV[0-9]* ]]; then + nv_arch=Volta + elif [[ "$gpu_info" =~ TU[0-9]* ]]; then + nv_arch=Turing + elif [[ "$gpu_info" =~ GA[0-9]* ]]; then + nv_arch=Ampere + elif [[ "$gpu_info" =~ AD[0-9]* ]]; then + nv_arch=Ada_Lovelace + fi + fi +} + +nvidia_check_arch + +# Check for Nvidia GPU available +if [[ -n "$nv_arch" ]]; then + case "$nv_arch" in + Turing) + if [[ "$gpu_info" =~ TU16[0-9]* ]]; then + # Nvida GTX 16 series + export PW_USE_NVAPI_AND_DLSS=0 + else + # Nvidia RTX 20 series + export PW_USE_NVAPI_AND_DLSS=1 + fi + ;; + # Nvidia RTX 30 and 40 series + Ampere|Ada_Lovelace) + export PW_USE_NVAPI_AND_DLSS=1 + ;; + *) + # Everything else nvidia cards + export PW_USE_NVAPI_AND_DLSS=0 + ;; + esac +fi