GPU: Print each GPU on a different line

This commit is contained in:
Dylan Araps 2016-12-22 11:17:02 +11:00
parent faf1c7d813
commit 57d14905bc
1 changed files with 41 additions and 28 deletions

View File

@ -965,11 +965,12 @@ get_cpu_usage() {
get_gpu() {
case "$os" in
"Linux")
gpu="$(lspci -mm | awk -F '\\"|\\" \\"' '/"Display|"3D|"VGA/ {print $3 " " $4}')"
IFS=$'\n'
gpus=($(lspci -mm | awk -F '\\"|\\" \\"' '/"Display|"3D|"VGA/ {print $3 " " $4}'))
for gpu in "${gpus[@]}"; do
case "$gpu" in
*"advanced"*)
gpu="${gpu//Intel*$'\n'}"
gpu="${gpu/'[AMD/ATI]' }"
gpu="${gpu/'[AMD]' }"
gpu="${gpu/OEM }"
@ -981,19 +982,31 @@ get_gpu() {
;;
*"nvidia"*)
gpu="${gpu//Intel*$'\n'}"
gpu="${gpu/*\[}"
gpu="${gpu/\]*}"
gpu="NVIDIA $gpu"
;;
*"intel"*)
gpu="Intel Integrated Graphics"
;;
*"virtualbox"*)
gpu="VirtualBox Graphics Adapter"
;;
esac
[[ "$gpu" == *"intel"* ]] && \
gpu="Intel Integrated Graphics"
if [[ "$gpu_brand" == "off" ]]; then
gpu="${gpu//AMD }"
gpu="${gpu//NVIDIA }"
gpu="${gpu//Intel }"
fi
prin "GPU${index:-0}" "$gpu"
index="$((index+=1))"
done
return
;;
"Mac OS X")
@ -1067,9 +1080,9 @@ get_gpu() {
esac
if [[ "$gpu_brand" == "off" ]]; then
gpu="${gpu/AMD}"
gpu="${gpu/NVIDIA}"
gpu="${gpu/Intel}"
gpu="${gpu//AMD}"
gpu="${gpu//NVIDIA}"
gpu="${gpu//Intel}"
fi
}