getgpu: Made the function more reliable and added support for nvidia-smi (untested)

This commit is contained in:
Dylan 2016-01-20 09:17:54 +11:00
parent b36385d53d
commit d05020404f
1 changed files with 41 additions and 4 deletions

45
fetch
View File

@ -660,10 +660,47 @@ getcpu () {
getgpu () {
case "$os" in
"Linux")
gpu=$(lspci | grep "VGA" | grep -o '\[.*\]')
gpu=${gpu//[}
gpu=${gpu//]}
"Linux" | "OpenBSD")
if type -p nvidia-smi >/dev/null 2>&1; then
gpu="$(nvidia-smi | awk -F':' '/Product Name/ {printf $2}')"
else
gpu="$(lspci | grep "VGA")"
gpu=${gpu/* VGA compatible controller: }
gpu=${gpu/(rev*)}
shopt -s nocasematch
case "$gpu" in
intel*)
gpu=${gpu/'Intel Corporation' }
gpu=${gpu/'Haswell-'??? }
brand="Intel"
;;
advanced*)
gpu=${gpu/'Advanced Micro Devices, Inc.' }
gpu=${gpu/'[AMD/ATI]' }
gpu=${gpu/'Tahiti PRO'}
gpu=${gpu/'Mars'}
gpu=${gpu/' ['}
gpu=${gpu/']'}
brand="AMD"
;;
nvidia*)
gpu=${gpu/'NVIDIA Corporation' }
gpu=${gpu/'nVidia Corporation' }
gpu=${gpu/G???? }
gpu=${gpu/'['}
gpu=${gpu/']'}
brand="Nvidia"
;;
esac
gpu="$brand $gpu"
fi
;;
"Mac OS X")