#!/bin/bash

##sudo apt install glmark2

sudo clear
ts=$(date +%Y-%m-%d-%T)
echo "UID: "
read -r uid
clear
sudo rm -rf ./.tmp/"$uid".log
#sudo rm -rf ./.tmp/
mkdir ./.tmp/
#gpu=$(sudo lshw -c display | grep -m 1 -i 'product: ' | awk -F 'product: ' '{print $2}' | sed 's/^[ \t]*//')
gpu=$(sudo inxi -Gxxxa | grep -m1 -i 'device' | awk -F': ' '{print $2}' | awk -F': ' '{print $1}'  | sed s/driver//g | sed s/vendor//g | sed 's/^[ \t]*//' | tail -n1)
#gpuven=$(sudo lshw -c display | grep -m 1 -i 'vendor: ' | awk -F 'vendor: ' '{print $2}' | sed 's/^[ \t]*//')
gpuven=$(sudo inxi -Gxxxa | grep -m1 -i 'vendor: ' | awk -F'vendor: ' '{print $2}' | awk -F': ' '{print $1}' | sed s/driver//g | sed s/vendor//g | sed 's/^[ \t]*//' | tail -n1)
gpu2=$(sudo inxi -Gxxxa | grep -m2 -i 'device' | awk -F': ' '{print $2}' | awk -F': ' '{print $1}'  | sed s/driver//g | sed s/vendor//g | sed 's/^[ \t]*//' | tail -n1)
gpuven2=$(sudo inxi -Gxxxa | grep -m2 -i 'vendor: ' | awk -F'vendor: ' '{print $2}' | awk -F': ' '{print $1}' | sed s/driver//g | sed s/vendor//g | sed 's/^[ \t]*//' | tail -n1)
vram=$(sudo inxi -Gxxxa | grep -i 'Memory:' | awk -F'memory:' '{print $2}' | awk -F' ' '{print $1,$2}' | sed s/GiB/GB/g | awk '{printf "%.0fGB\n", $1}')
clear
echo "================================================================================" | tee -a ./.tmp/"$uid".log
echo " GFX BENCHMARK  UID: $uid  DATE: ${ts}" | tee -a ./.tmp/"$uid".log
echo "================================================================================" | tee -a ./.tmp/"$uid".log
echo "    GPU: $gpu" | tee -a ./.tmp/"$uid".log
echo " VENDOR: $gpuven" | tee -a ./.tmp/"$uid".log
echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$uid".log
echo "   GPU2: $gpu2" | tee -a ./.tmp/"$uid".log
echo " VENDOR: $gpuven2" | tee -a ./.tmp/"$uid".log
echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$uid".log
echo "   VRAM: $vram" | tee -a ./.tmp/"$uid".log
echo "================================================================================" | tee -a ./.tmp/"$uid".log
echo " GFX DETAIL:" | tee -a ./.tmp/"$uid".log
echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$uid".log
sudo inxi -Gxxxa | tee -a ./.tmp/"$uid".log
echo "--------------------------------------------------------------------------------"
echo " PRESS ENTER TO BENCHMARK, R FOR REPORT, Q TO RELOAD, OR E TO EXIT"
echo "================================================================================" | tee -a ./.tmp/"$uid".log
read -r -n 1 -s key
  if [ "$key" = "R" ] || [ "$key" = "r" ]; then
    #echo "================================================================================" | tee -a ./.tmp/"$uid".log
    ## NOTES
    echo  | tee -a ./.tmp/"$uid".log
    echo " ENTER NOTES TO INCLUDE:"
    echo " NOTES:" | tee -a ./.tmp/"$uid".log
    read -r note
    echo " $note" >> ./.tmp/"$uid".log
    echo  | tee -a ./.tmp/"$uid".log
    echo " TECH:" | tee -a ./.tmp/"$uid".log
    read -r tech
    echo " $tech" >> ./.tmp/"$uid".log
    echo  | tee -a ./.tmp/"$uid".log
    echo "================================================================================" | tee -a ./.tmp/"$uid".log
    ## REPORT END
    echo " PRESS ENTER TO PRINT REPORT OR CTRL-C TO EXIT"
    read -r -n1
    echo "================================================================================"
    echo " GENERATING REPORT FILE: $uid.pdf..."
    echo "--------------------------------------------------------------------------------"
    #mkdir ./rp/
    soffice --headless --convert-to pdf --outdir ./ ./.tmp/"$uid".log
    rm ./.tmp/"$uid".log
    sudo rm -rf ./.tmp/
    qrencode -l H -o ./"$uid".png "$uid"
    open ./"$uid".pdf; open ./"$uid".png
    qrencode -t ANSI -o - "$uid" -s 1 -m 1 -M
    echo "================================================================================"
    read -r -n1
    exit
  else
    if [ "$key" = "q" ] || [ "$key" = "Q" ]; then
    exec bash "$0" "$@"
  else
    if [ "$key" = "e" ] || [ "$key" = "E" ]; then
    exit
  fi
  fi
  fi
echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$uid".log
echo " RUNNING HASHCAT BENCHMARK..."
echo " HASHCAT BENCHMARK:" | tee -a ./.tmp/"$uid".log
#echo "--------------------------------------------------------------------------------"
hcs=$(hashcat -bm 0 -D 2 | grep 'Speed.#1.........:' | awk '{print $2,$3}'); echo " HASHCAT SCORE: $hcs (GPU)" | tee -a ./.tmp/"$uid".log
echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$uid".log
echo " RUNNING GLMARK2 BENCHMARK..."
echo " GLMARK2 BENCHMARK:" | tee -a ./.tmp/"$uid".log
#echo "--------------------------------------------------------------------------------"
gms=$(glmark2 --annotate | grep -i 'score:' | awk -F: '{print $2}'); echo " GLMARK2 SCORE:"$gms"FPS (GPU)" | tee -a ./.tmp/"$uid".log
#glmark2 --annotate | tee -a ./.tmp/"$uid".log
echo "================================================================================" | tee -a ./.tmp/"$uid".log
## NOTES
echo  | tee -a ./.tmp/"$uid".log
echo " ENTER NOTES TO INCLUDE:"
echo " NOTES:" | tee -a ./.tmp/"$uid".log
read -r note
echo " $note" >> ./.tmp/"$uid".log
echo  | tee -a ./.tmp/"$uid".log
echo " TECH:" | tee -a ./.tmp/"$uid".log
read -r tech
echo " $tech" >> ./.tmp/"$uid".log
echo  | tee -a ./.tmp/"$uid".log
echo "================================================================================" | tee -a ./.tmp/"$uid".log
## REPORT END
echo " PRESS ENTER TO PRINT REPORT OR CTRL-C TO EXIT"
read -r -n1
echo "================================================================================"
echo " GENERATING REPORT FILE: $uid.pdf..."
echo "--------------------------------------------------------------------------------"
#mkdir ./rp/
soffice --headless --convert-to pdf --outdir ./ ./.tmp/"$uid".log
rm ./.tmp/"$uid".log
sudo rm -rf ./.tmp/
qrencode -l H -o ./"$uid".png "$uid"
open ./"$uid".pdf; open ./"$uid".png
qrencode -t ANSI -o - "$uid" -s 1 -m 1 -M
echo "================================================================================"
read -r -n1
