diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 9b05a1b..27df0ef 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -1061,3 +1061,84 @@ pw_find_exe () { exit 0 fi } + +nvidia_check_arch() { + lspci_output=$(lspci | grep VGA) + if echo "$lspci_output" | grep -i "nvidia"; then + arch=$(echo "$lspci_output" | sed -rn 's/.*(G[0-9]*).*/\1/p') + if [[ $arch == G[0-9]* ]]; then + nv_arch=Tesla + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GT[0-9]*).*/\1/p') + if [[ $arch == GT[0-9]* ]]; then + nv_arch=Tesla + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(MCP[0-9]*).*/\1/p') + if [[ $arch == MCP[0-9]* ]]; then + nv_arch=Tesla + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GF[0-9]*).*/\1/p') + if [[ $arch == GF[0-9]* ]]; then + nv_arch=Fermi + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GK[0-9]*).*/\1/p') + if [[ $arch == GK[0-9]* ]]; then + nv_arch=Kepler + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GM[0-9]*).*/\1/p') + if [[ $arch == GM[0-9]* ]]; then + nv_arch=Maxwell + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GP[0-9]*).*/\1/p') + if [[ $arch == GP[0-9]* ]]; then + nv_arch=Pascal + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GV[0-9]*).*/\1/p') + if [[ $arch == GV[0-9]* ]]; then + nv_arch=Volta + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(TU[0-9]*).*/\1/p') + if [[ $arch == TU[0-9]* ]]; then + nv_arch=Turing + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(TU116).*/\1/p') + if [[ $arch == TU116 ]]; then + nv_arch=Turing_16 + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(TU117).*/\1/p') + if [[ $arch == TU117 ]]; then + nv_arch=Turing_16 + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(GA[0-9]*).*/\1/p') + if [[ $arch == GA[0-9]* ]]; then + nv_arch=Ampere + fi + + arch=$(echo "$lspci_output" | sed -rn 's/.*(AD[0-9]*).*/\1/p') + if [[ $arch == AD[0-9]* ]]; then + nv_arch=Ada_Lovelace + fi + fi +} + +nvidia_check_arch + +# Check for Nvidia GPU available +if [[ -n "$nv_arch" ]]; then + if [[ $nv_arch == Turing || $nv_arch == Ampere || $nv_arch == Ada_Lovelace ]]; then + export PW_USE_NVAPI_AND_DLSS=1 + else + exit 0 + fi +fi