More GPU detection code. Concerning issue #51. It's getting there.

This commit is contained in:
Brett Bohnenkamper
2013-05-16 15:07:32 -05:00
parent 031176fad4
commit 7b765b6758

View File

@@ -694,29 +694,33 @@ detectcpu () {
# GPU Detection - Begin (EXPERIMENTAL!)
detectgpu () {
if type -p lspci >/dev/null 2>&1; then
gpu_info=$(lspci | grep VGA | grep -oE '\[.*\]' | sed 's/\[//;s/\]//')
gpu=$(echo "${gpu_info}" | sed -n '1h;2,$H;${g;s/\n/, /g;p}' )
elif [[ $(type -p glxinfo >/dev/null 2>&1) && ! $gpu ]]; then
gpu_info=$(glxinfo)
if [ -n "$(type -p lspci)" ]; then
gpu_info=$(lspci | grep VGA)
gpu=$(echo "$gpu_info" | grep -oE '\[.*\]' | sed 's/\[//;s/\]//')
gpu=$(echo "${gpu}" | sed -n '1h;2,$H;${g;s/\n/, /g;p}')
fi
if [[ -n "$(type -p glxinfo)" && -z "$gpu" ]]; then
gpu_info=$(glxinfo 2>/dev/null)
gpu=$(echo "$gpu_info" | grep "OpenGL renderer string")
gpu=$(echo "$gpu" | sed 's/: /\n/;s/\//\n/' | tail -2 | head -1)
gpu=$(echo "$gpu" | cut -d ':' -f2)
gpu="${gpu:1}"
gpu_info=$(echo "$gpu_info" | grep "OpenGL vendor string")
fi
if [ -n "$gpu" ];then
if [ $(echo "$gpu_info" | grep -i nvidia | wc -l) -gt 0 ];then
gpu_info="NVidia "
gpu_info="NVidia"
elif [ $(echo "$gpu_info" | grep -i intel | wc -l) -gt 0 ];then
gpu_info="Intel "
gpu_info="Intel"
elif [ $(echo "$gpu_info" | grep -i amd | wc -l) -gt 0 ];then
gpu_info="AMD "
gpu_info="AMD"
elif [ $(echo "$gpu_info" | grep -i ati | wc -l) -gt 0 ];then
gpu_info="ATI "
gpu_info="ATI"
else
gpu_info=""
gpu_info=$(echo "$gpu_info" | cut -d ':' -f2)
gpu_info=${gpu_info:1}
fi
gpu="$gpu_info""$gpu"
gpu="$gpu_info $gpu"
else
gpu="Not Found"
fi